In 2023, I embarked on a hands-on “maker” journey in tech and creativity with the goal of expanding my knowledge and tech skills with Web3 projects and experiences. I participated in several immersive learning opportunities from coding in a hackathon and Web3 developer relations to conceptualising, creating and hosting a series of Fusion Talks, having rich conversations with people in Web3 to finishing 2023 on a high with other women in Shefi S9.
In mid-2023, I crossed paths with Josh Howard during the Thirdweb Learn pilot cohort. Thirdweb was introduced to me when I participated in the "Ready Player 3 | thirdweb's Web3 Gaming hackathon" early in 2023. It was the first time I coded in a game hackathon. I learned alot and made some amazing new friends.
Josh introduced his latest project, Art Locatia, a cool Web3 App empowering artists to showcase their work on the Polygon blockchain, while giving explorers and fans a way to view their art through augmented reality (AR) on their mobile devices. I recognised that it behaved like "Pokemon Go!" but with the blockchain for ownership and transactions. He was inspired by real life art projects he discovered in his local neighbourhood and used the thirdweb sdk to craft this digital concept. I got to know him because he was always willing to answer my questions about technology and coding for my own NFT project.
Meet the Buildspace S4 Cohort 2023 / Alot of ideas and experimentation.
After completing Thirdweb Learn, we joined season 4 of Buildspace to cultivate our individual projects. Each week, the founder of Buildspace shared insightful stories about iterating ideas and the valuable lessons that shaped the Buildspace project.
These stories included:
exploring your idea and setting small, tangible goals,
seeking feedback from others through social media,
adapting ideas based on feedback,
then presenting your refined project to the massive cohort, make connections and take further steps.
These steps resonated with my design process. This framework enables you to align with your time constraints, explore many ideas quickly, and challenge yourself. Josh dug in and took Art Locatia to the next level, while I delved into Fusion Talks – a series of conversations with people I’ve met on my Web3 journey. Together we unpack our origin stories, what we are doing in Web3, what we have learned and what we are doing next.
Fusion Talks with Josh Howard, founder of Art Locatia
The turning point came when Josh joined me for his Fusion Talk to share his adventures in Web3 and the outcomes from his Buildspace project for Art Locatia. Little did I know, this Fusion Talk would spark a collaborative journey and allow me to share my design skills and human journey of a hobby artist to the blockchain world.
To prepare for his Fusion Talk, I prepared my own piece of traditional art for Art Locatia. One of the challenges for me was learning Blender to make 3D models. Blender has a rich tool set to make pretty much anything, especially animation, but when you are new to it, it feels overwhelming and complex. I needed it to take a digital copy of my 2d acrylic painting and transform it into a 3D *glb model. I work on my Windows machine, so trying to make a model for Apple iOS, was not simple to do but Josh helped me out.
Another challenge was managing the many steps to get my art prepared and onto the Blockchain using thirdweb dashboard. Up until this time, I was using thirdweb SDK to deal with wallets or using NFTs to claim and play a game, but now I’m making ERC1155 contracts and adding my art to it through a JSON file. There wasn’t anything insurmountable, but it is important to understand the end-to-end process to avoid mistakes and find efficiencies in the process. And learning takes time. After I successfully saw my artwork on the Art Locatia test map, I felt accomplished and ready to share.😍
Success! I can find my art on the Art Locatia test app!
When I unpacked my novice journey and challenges of the 3D models with Josh, he reasoned that offering a Studio feature to help new artists traverse these key steps could be useful especially with blockchain and smart contacts. If you are an artist that is already comfortable making NFTs for the blockchain, the process made sense and was straightforward to execute. But if you’re new, this Studio feature could be tremendously helpful.
Using wireframes as part of the ideation process and invite meaningful conversations.
My collaboration includes using my UX research skills to describe my art journey, identify potential hiccups and ideate wireframes in Figma for Josh to consider in the Art Locatia Studio feature. It helped us to use our time wisely for decision making and next steps. We took pragmatic heuristic steps to give an artist an easy flow to make the NFT JSON file needed by other parts of the process. Even with our busy schedules full of our responsibilities and living in different parts of the world, we found ways to keep in touch over time, even if it was making videos or just chatting on discord to share statuses and updates.
After Josh coded a prototype for Art Locatia Studio, I leveraged my "Dev Rel" experience to contribute to its product documentation, starting with a draft version for feedback before using markup, javascript and git skills on Docusaurus for the production version. One of the things I appreciate about the collaboration is that Josh grew to trust my skills and he appreciates my contributions. He’s very generous with his time and knowledge when we catch up.
Now that we are in 2024, I'm anticipating the results of collaboration come together for Art Locatia and Studio. As a UX researcher, I would love to follow up with other artists and fans to ask questions to understand how they used the Studio feature to get their art on the blockchain. I would be keen to know their ideas for Art Locatia and I wonder if there's other exemplars making similar projects for artists.
I imagine that Art Locatia could be a fun app to use at an art event where we walk around to view art installations, and use the app to see more info and make transactions, like buying a t-shirt at the giftshop at the end of the walk.
A way to sponsor art from favourite artists for an event like Burning Man. And buy an NFT after the event. Perhaps camps can use it for pre-playa fundraising and on-playa events.
I look back at a scavenger hunt I created for my tech colleagues for a Friday work event, and wonder how this could be used for that scavenger hunt. I think they would have loved the tech of it.
And I think the types of artwork could be other than a 3D model, maybe a song or an animation or movie.
But it would be neat to find out and grow my coding skills and contributions, starting with using Art Locatia Studio and make my artwork accessible in Art Locatia.
Product Designer 🦄 Full Stack Dev from Auckland, New Zealand. Seasoned Web2 Product Designer eager to leverage UX skills and community focus and craft user-centric Web3 experiences.
In this guide you will learn how to add a search engine to your NFT project. We will be using the nft-searcher package to fetch NFTs from the blockchain and OpenAI to enhance the search results.
Here is an outline of what we will be doing:
Add an NFT searchbar to your third web project
Create a trait filter component to sort through the fetched collections
Add Open Ai results to enhance your search results
This is the final result of what we will be building.
Note: If you are using the nft-searcher-template you may need to uninstall and reinstall the package after updating the third web packages. React, react-dom and the thirdweb react package are all peer dependencies.
Under the public folder create a folder named db and add the sql-wasm-595817d88d82727f463bc4b73e0a64cf.wasm file to it. You can download the file from here or in the src file of this package.
You can customize the appearance of the search bar by providing CSS styles and class names for various elements. The style prop is an object where the keys are the names of the elements and the values are CSS style objects. The classNames prop is similar, but the values are class names.
Here's an example of how you can use the style and classNames props to customize the appearance of the NFTSearcher component:
importNFTSearcherfrom'nft-searcher'; <NFTSearcher activeNetwork={"ethereum"} limit={10} start={0} where={[]}// for nft-indexer collections only, not used for thirdweb contract fetches select={"*"}// for nft-indexer collections only, not used for thirdweb contract fetches dbURL={""}// for nft-indexer collections only, not used for thirdweb contract fetches theme={"dark"}// or "light" onNFTsFetched={(nfts)=>console.log(nfts)} style={{ searchContainer:{ backgroundColor:'#f5f5f5', padding:'10px', }, searchInput:{ fontSize:'18px', padding:'10px', }, searchButton:{ backgroundColor:'#007bff', color:'white', padding:'10px 20px', }, resultsContainer:{ marginTop:'20px', }, resultItem:{ borderBottom:'1px solid #ddd', padding:'10px 0', }, }} classNames={{ searchContainer:'my-search-container', searchInput:'my-search-input', searchButton:'my-search-button', resultsContainer:'my-results-container', resultItem:'my-result-item', }} />
In this example, the style prop is used to provide CSS styles for the search container, search input, search button, results container, and result items. The classNames prop is used to provide custom class names for the same elements.
Please note that the actual style and class names that you can use will depend on the implementation of the NFTSearcher component. The keys used in the style and classNames objects (like searchContainer, searchInput, etc.) are just examples and might not correspond to the actual elements in the NFTSearcher component. You'll need to refer to the NFTSearcher documentation or source code to find out the correct keys to use.
When the user types in the search bar, the component fetches NFTs that match the user's input. The fetched NFTs are passed to the onNFTsFetched callback function.
Suggestions are displayed in a dropdown menu below the search bar. The user can click on a suggestion to select it. When a suggestion is selected, the onNFTsFetched callback function is called with the selected NFTs as an argument.
A contract address can also be entered in the search bar. When a contract address is entered, the component fetches all the NFTs from that contract and passes them to the onNFTsFetched callback function.
If a collection does not appear it has not been indexed yet. To request a collection to be indexed, please submit a request at https://indexer.locatia.app. Once the collection is indexed it will also appear in the suggestions dropdown.
If you would like your thirdweb collection added to the directory, please open an issue at https://github.com/Zerobeings/nft-indexer with the collection name and contract address.
importOpenAIfrom'openai'; import type {NextApiRequest,NextApiResponse}from'next'; exportdefaultasyncfunctionhandler(req:NextApiRequest,res:NextApiResponse){ if(req.method==='POST'){ const{ tokenName, tokenDescription }= req.body; try{ const openai =newOpenAI({ apiKey: process.env.OPENAI_KEY, }); const response =await openai.chat.completions.create({ model:"gpt-3.5-turbo-1106", response_format:{"type":"json_object"}, messages:[ { role:"system", content:"You are a knowledgeable assistant about NFT collections and provide output in JSON format." },{ role:"user", content:`Provide a summary about the NFT collection with the token named ${tokenName} which is described as ${tokenDescription} and provide a overview of the collection` }], }); res.status(200).json({data: response.choices[0].message.content}); }catch(error){ if(error instanceofOpenAI.APIError){ console.error(error.status);// e.g. 401 console.error(error.message);// e.g. The authentication token you passed was invalid... console.error(error.code);// e.g. 'invalid_api_key' console.error(error.type);// e.g. 'invalid_request_error' }else{ // Non-API error console.log(error); } } }else{ res.setHeader('Allow','POST'); res.status(405).end('Method Not Allowed'); } }
Welcome to Locatia! This is a decentralized augmented reality platform for geolocated artwork and more. It started as a simple NFT collection and has grown into a full fledged platform. I have been working on this project for a while now and I am excited to share it with you. I am looking for feedback. I am also looking for artists to create artwork for the platform. If you are interested in collaborating or creating artwork for the platform please reach out to me on discord or twitter.
I am also sharing all the tools and collections I've developed on the journey to create this platform. I hope you find them useful. I am looking for feedback to help me improve the tools and collections.
I have been working working towards creating a decentralized augmented reality platform for geolocated artwork and more. I am excited to announce that we have a beta version of the platform. We are calling it Locatia. It is a decentralized augmented reality platform for geolocated artwork and more. It is built on the ethereum blockchain and IPFS. It is a progressive web app that can be accessed on any device with a web browser. It is a work in progress and we are looking for feedback and collaborators.