Inspiration

I recently started a challenge for myself to stay off social media, and instead spend that time dedicating myself to a creative hobby like embroidery, jewelry making, crocheting, and I made a whole bucket list of hobbies I want to try. I want to challenge myself to stay committed to a hobby for 2-3 months at a time. I figured there were many people out there looking to expand their creative horizons and live their lives more whimsically, but instead spend much of their time doomscrolling on social media apps.

What it does

Whimsify allows you to choose from a list of hobbies ranked from easy to difficult and commit yourself to it anywhere from 1 to 6 months. Each hobby has tutorials and kits to guide you along the way. Each day, you can record your progress by uploading a photo and receive AI confirmation that the photo is related to your hobby, along with feedback. You also have the option to post to your friends. There is a social media gallery to view your friends' posts and react and comment on them. You can also gather points and badges for accomplishments such as uploading your first photo, committing yourself to three or more hobbies, staying commited to a hobby for 30 days, and more. There is also a social media lock feature, which is still a work in progress, to allow the user to block off social media until a photo is uploaded for that day. One whimsical touch is an AR fairy that flies around when the user takes a live photo of their progress.

How we built it

I built it using Xcode and SwiftUI, along with Claude agents. I used the Anthropic Messages API to analyze the photos uploaded and provide feedback. I used Firebase Authentication and Cloud Firestore to store the database of users, and designed the 3D fairy myself in Tinkercad. The iOS libraries involved include SwiftData for local persistence, ARKit and RealityKit for the AR fairy, and SafariServices for opening tutorial and shop links within the app.

Challenges we ran into

The fairy animations were kind of difficult to pin down, getting the fairy movement right, so she wouldn't be off-screen too long, but also not linger in one spot too long. I'm also not familiar with CAD, so designing the fairy herself was difficult, especially her hair. This was my first time coding using agents, which is different from what I'm used to. I was knowledgeable and worked with these APIs in my previous apps, so it wasn't too difficult for me to fix bugs when the AI would hallucinate. It allowed me to be much more efficient, but I had to learn how to craft my prompts to be technically detailed and prevent errors.

Accomplishments that we're proud of

I'm proud of the number of features I was able to implement in this app in a short period of time. Before the hackathon, I was unsure if I would get through all of them, but I was able to. I think the UI also turned out aesthetically pleasing. I'm also happy I had the time to design the fairy myself rather than import an existing model from online.

What we learned

I learned how to work with Claude agents in Xcode and also learned how to get better at animation in ARKit.

What's next for Whimsify

My next step would be to get the FamilyControls entitlement from Apple so I can actually block off social media apps when the user enables them to be. I think this would definitely be an app I would try to get shipped to the App Store.

Built With

Share this project:

Updates