Inspiration
The idea for developing this app came from a combination of ideas between me and a designer friend of mine. He wanted to keep track of things he wanted to buy and note down which cheaper alternatives he ended up using. Meanwhile, I had no clue about my financial situation, so I wanted to track my assets and create separate savings plans for expensive items I wanted to purchase.
Our shared view is: avoid spending beyond your means, focus on the present, consume rationally, and gradually let go of material desires.
Unfortunately, my designer friend passed away unexpectedly two years ago. This app was one of his wishes, so I took this opportunity to develop it in his memory.
What it does
This app takes a squirrel's perspective on managing assets.
All currency is represented by different types of nuts, and accounts are treated as various Stashes where the nuts are stored. Each transaction is a Nibble.
You can set up savings plans, called Jars, and saving money means accumulating nuts in the Jar.
There's also a list to track your desires, where each one can be fulfilled immediately, delayed (by turning it into a Jar), or removed entirely.
Different types of nuts represent different currencies, and exchange rates can be set between them for transferring or converting desires into Jars.
The app also offers various widgets, allowing you to track your assets and savings plans directly from your home screen.
How I built it
This app is developed with SwiftUI and SwiftData.
Challenges I ran into
This is my first time using SwiftData, so I was learning as I developed. In the beginning, I ran into a lot of SwiftData-related issues, especially with data not updating in real time.
Initially, I built the UI myself using the built-in iOS components, but since I don’t have design skills, the app ended up looking very basic, both in terms of appearance and user experience. Luckily, I later teamed up with a professional designer, and together, we completely revamped the app's UI and UX.
Accomplishments that I'm proud of
Being able to finish this app in just six weeks feels unbelievable to me. I’m incredibly, incredibly happy with the UI—I can’t believe such a beautiful app was created by me!
What I learned
When facing a deadline, sometimes you have to make compromises.
Getting it done is more important than making it perfect.
What's next for Nut Goals
Due to time constraints and the fact that I still have many skills to master, I had to cut several features to meet the deadline. For example, more savings plan types, enhanced statistics, and important AI analysis functions were all removed. These features will be part of the Nut Goals' future development plans.
Built With
- swift
- swiftdata
- swiftui

Log in or sign up for Devpost to join the conversation.