Having been interested in cryptocurrencies for several years, I couldn’t resist exploring the rise of NFTs. I bought my first NFT in the summer of 2021, and while the technology intrigued me, I quickly realized my only real interaction was checking floor prices on OpenSea. During the boom at the end of 2021, I found myself wasting precious minutes every day tracking my investments manually.
That's when I decided to build Moon — an iOS app to track the value of my NFT portfolio in real time, right from my iPhone. I began designing Moon in January 2022 and challenged myself to release it within two weeks. After long days of coding and a few back-and-forths with Apple’s review team, Moon went live on the App Store.
Mission accomplished.
I built Moon using Swift and UIKit. Thanks to my earlier experience with Luggy, iOS development felt natural, and I enjoyed the challenge of building a clean, well-structured app. I used an MVVM architecture along with frameworks like Core Data for the local database, StoreKit for user tips, and WidgetKit to display NFTs directly on the home screen. I also integrated external libraries such as Nuke for image loading and Firebase for crash reports and usage statistics.
The first version of Moon came together in under two weeks, but I later took the time to refactor and improve the codebase. It reminded me that while speed is exciting, quality and maintainability should always come first.
One advantage of this project was that I didn't need to build a backend. All data was delivered directly to the user's device through the OpenSea API, which returned the assets in their wallet along with detailed characteristics, floor prices, and collection averages.
Thanks to OpenSea, I was able to focus entirely on the iOS app experience.
When I first designed Moon, I never planned to release it on the App Store. My only goal was to solve a personal problem I faced with tracking NFTs. After some research, I realized no similar app existed — but I still assumed Moon wouldn’t interest anyone else.
At its peak, hundreds of people were using Moon daily. That experience taught me a simple truth: if something is useful for me, it's likely useful for others too.
Moon was never meant to change the world — its goal was simply to make portfolio tracking easier for OpenSea users. What started as a way to solve my own problem ended up saving time for hundreds of people who wanted a simpler way to track their NFTs.