Inspiration

Like everyone else, I do a lot of tasks daily, and usually the list is just in my head. Sometimes I’d plan to add more, but then I’d get a bit lazy and not do them at all and because of that, I tried to-do apps, thinking they could at least motivate me to get through everything I had in mind. In the beginning it’s very appealing: you do something, you cross it off, and you feel accomplished. But my problem is that I get bored easily, and just crossing something off and being done with it wasn’t enough to keep me motivated. I’d usually think: “Why bother, I already remember it, adding it to a to-do list is just extra work”. So in the beginning I would start using these apps enthusiastically, and soon after, I would get bored and abandon them.

When building this app, I kept thinking about how to make myself actually use it constantly – not get lazy and not get bored and an interesting idea came to my mind: maybe it can be turned into a quest. You get daily challenges, three to start, and if you complete them during the day, you advance. If you don’t, you either stay at your current stage, or if you’d already advanced further, get knocked back down. I added XP too, with some challenges worth more than others, and the further you progress, the harder it gets.

What it does

The app isn’t just a to-do list, it combines several things. There’s a Tasks page for basic tasks, whether personal or finance-related. Then there’s the Adventure page, where things get interesting: you set challenges for yourself and try to finish them during the day, earning XP and progressing through stages and prestige. There’s a Notes page where you can add color-coded notes, a Calendar where you can set reminders and get notified, and finally a Growth page where you can set a budget, track long-term goals, and keep tabs on upcoming payments.

But what ties it all together is that while you can add everything manually, you can also just ask TaskStomp (nicknamed Birdy) to do it for you – type in the chat or send a voice message saying: “Birdy, can you add these challenges for today/tomorrow”, and if Birdy thinks they’re too easy, it might push back and argue with you about it, or compliment you if they’re genuinely tough.

The app is for everyone who, like me, gets bored easily and needs a bit of a push to actually follow through on tasks or challenges.

How I built it

The real core of everything is the AI agent, which is actually what got built first. I’d heard about Zep from a friend, and at the time I was completely new to web development. I’d just finished an 8-month course covering HTML, CSS and JavaScript, with a final project built in Angular. I liked Angular and even though two months wasn’t enough time to really learn it, I didn’t want to lose what I’d accomplished. After hearing what Zep’s agents could do, I started wondering if I could build (vibe-code) something similar myself, which would also keep me from forgetting Angular. But that also meant I had to learn backend too, which I had zero experience with. Building the agent itself wasn’t hard: I described to Claude what I wanted, we brainstormed ideas and it came together almost instantly. The real question was where I could actually use it to see what it really could do – and that’s how my to-do app was born.

TaskStomp’s mascot is a secretary bird – focused, confident, and famous for taking down obstacles with a powerful stomp, which is where the name comes from, and also the app’s own line whenever you finish something: “You stomped it!”. Birdy falls asleep when you haven’t interacted with it in a while, tilts its head slightly when thinking, gets a bit wobbly when happy, and earns a bronze medal at your first prestige, working its way up to gold by prestige 3.

It’s available in 5 languages so far, and since I’m from Georgia, Georgian language is naturally one of them. Getting Georgian working properly was a real struggle, because there were translation issues, grammar issues, and the hardest of all was transcribing spoken Georgian correctly. Luckily, Gemini’s Transcribe 3.5 came out at the end of August claiming Georgian support and after I tested it, it worked surprisingly well, unlike everything else I’d tried before it.

Getting AdMob’s per-impression ad revenue into RevenueCat Ads required writing a custom native Kotlin bridge – a from scratch integration built to make ads a genuine, trackable revenue channel rather than just a display toggle.

Challenges I ran into

Monetization was originally supposed to work differently. Birdy runs on the Claude API for chat, and after calculating the real costs involved, we landed on subscription tiers: a free tier giving new users 50 AI Messages for a 7-day trial, after which they could upgrade or continue on the free tier, which meant they no longer could use AI chat, though everything remained fully addable by hand.

With the app ready, the next step was the Google Play Store. After working through every step of the approval process, I discovered that even though you can publish an app from my country, you can’t actually apply for a merchant account here. That was a real disappointment. If the app had just been manual task-adding, going free wouldn’t have been a problem, but with a genuinely smart AI integrated, and as you know AI isn’t cheap, going free wasn’t an option. I looked for solutions and the only one anyone offered was opening an LLC in a country that Google Merchant does support (although as far as I know, that could also cause suspension of your account).

So after a lot of thinking and brainstorming with Claude again, we decided to go with ads instead, and since the rules required either a subscription or an ads integration through RevenueCat, that lined up well. So now, new users still get a 7-day trial with 50 free AI messages on signup, and once that ends, they can either watch a rewarded ad for 5 more free AI messages (up to 5 ads a day, for 25 messages in total) or keep using the app for free without AI chat.

I think the hardest part of the entire process was actually getting the app onto the Google Play Store. I’d heard how difficult the App Store can be, and since I don’t have any other published app, I decided to try Android first. I never imagined it would be this hard, especially coming from a country that doesn’t get the same benefits others do.

Accomplishments that I'm proud of

In the beginning, I didn't really know what I was doing - no design, not even a clear idea of what it would eventually become, just an idea I wanted to try. Looking at the app now, how polished it is, how well it actually works, and how functional it's become, makes me genuinely proud. I'm also happy that it works in my own native language. There's still a lot to improve with the Georgian responses specifically, but building for a language that isn't widely supported, doesn't have much existing integration, and isn't exactly popular in developer tooling, wasn't easy. Mostly, I'm proud that I actually finished it. There were points where things got hard, where I genuinely thought there was no solution, and I kept looking until I found one instead of giving up.

What I learned

Even though this app was vibe-coded, it taught me a lot of things. I started building it in early May, and overall it took about four months to finish, working almost every day, at least 4 to 5 hours a day, and committing it to git (though not from day one; I only started properly committing after about a month). People joke about vibecoders, but vibecoding still requires real understanding, or many things can go wrong. You can’t just trust the AI blindly, you have to constantly watch what it’s doing. I don’t even remember how many times I’ve argued with Claude, or doubted what it was doing, or asked it to explain something in detail and justify why it was doing this instead of that. At one point it even snapped at me. And there was a lot I had to do myself, with Claude only able to guide me: generating API keys, creating accounts, finding integration codes, setting up hosting, migrating to it, adding environment variables, and registering for the various accounts development and deployment actually require.

What's next for TaskStomp

Right now I'm still testing the app daily, finding small things to fix and improve. Almost every day there's something new I notice that needs fixing.

I hope that, in the future, merchant and payment access opens up for my country too, so I can finally apply for that as well.

Beyond that, I want to keep building on what's already there - maybe add more languages if there's demand, and keep working on making Birdy feel like a real assistant.

Built With

Share this project:

Updates

Submission history