DEV Community

Cover image for I couldn’t focus so I built a productivity app with a squirrel 🐿️
Metehan Canpolat
Metehan Canpolat

Posted on

I couldn’t focus so I built a productivity app with a squirrel 🐿️

We live in an age of constant notifications. I found myself struggling to stay focused, and I realized that a simple timer wasn't enough. I needed a friend—someone (or something) to hold me accountable and keep me company while I work.

Meet Squi, my first indie iOS app. It’s an AI-powered "Focus Friend" designed to turn deep work into a rewarding adventure.

The Idea: Why a Squirrel?

Squi is a digital squirrel who lives in a digital forest. When you start a focus session, you're not just working; you're helping Squi collect acorns. I wanted to tackle the burnout aspect of productivity, so I integrated Zen Activities like Chair Yoga and Eye Yoga to help users recharge during breaks. It's about finding the balance between productivity and wellness.

The Tech Stack

Building Squi was a massive learning curve. Here is what's under the hood:

  • SwiftUI: For the entire, fluid interface.
  • SwiftData + CloudKit: For local persistence and seamless iCloud syncing.
  • Google Gemini AI: This is the "brain" of Squi. I used Gemini to give Squi a persistent memory of the user's progress and a unique personality.
  • RevenueCat: For managing subscriptions and the freemium model.
  • WKWebView: Specifically used for high-quality transparent GIF animations for the character.

The "App Store Review" Struggle 🎢

No indie journey is complete without some drama. Squi was rejected multiple times for various reasons:

  • Transparency Matters: I learned the hard way that you MUST implement the App Tracking Transparency (ATT) framework if you're using analytics or certain payment providers like RevenueCat.
  • Configuration is Key: I spent days debugging "Error 23" in RevenueCat, only to find out it was a missing In-App Purchase capability in Xcode’s Signing & Capabilities tab.
  • UI/UX for Apple: I had to recreate iPad screenshots multiple times to remove device frames that didn't match the specific model requirements.

Lessons Learned

Working with an AI coding partner allowed me to build features that I previously thought were out of my reach as a solo dev. From complex Data models to AI prompt engineering, the process was 10x faster. It’s been an incredible journey from the first line of code to seeing Squi live on the App Store.

Check it Out!

Squi is now officially live on the App Store! I’m looking for feedback from fellow developers. How do you handle focus? What should Squi learn next?

🏠 Website: metehancanpolat.site/squi

Squi app interface showing the squirrel character and focus timer

Download Squi on the App Store

Top comments (1)

Collapse
 
metehan_canpolat profile image
Metehan Canpolat

I eagerly await your reply. 🐿️