Inspiration
I build software, and my days fall apart the same way every time: a late night, a skipped workout, a commit streak that quietly dies. Habit apps did not fix it, because ticking a box costs nothing and quitting costs nothing. So I asked: what if there were a small, real cost to quitting, and every habit had to be proved?
What it does
GO is a 30-day commitment app for people whose lives are disorganised, especially developers.
You pick up to five daily habits (push a commit, workout, study, read, phone down, spending, tidy up, screen time) and answer a short setup for each. You put down a commitment fee (simulated) and name an accountability partner. Every completed habit charges a big battery on the home screen. Each habit has its own tile. Win rule: do at least one habit every day for 30 days (3 grace passes protect a day) and finish at least 90% of all habits. Win and the whole fee comes back. Quit and the app keeps it. Proof, not honour: GitHub: reads your public activity. Home shows a contribution heat-map, and a full GitHub screen shows streaks, today's pushes and a daily reminder notification. Reading: upload a PDF and read it inside GO. A page counts only after 12 seconds of active time on it, so flipping through pages, leaving the app or an idle screen earns nothing. When the pages reach your goal, the habit completes itself. Camera habits: a one-time random code word must appear in the shot and Gemini judges it. The AI never fails you alone: doubtful results go to your partner, who answers from one link with no account, and you can appeal once. XP and a leaderboard on the Profile tab show who is really locked in. Saves: a personal diary of video links you can find again by describing them, plus the reading shelf. Accessibility is built in: large text, high contrast, a dyslexia-friendly font, reduced motion and read-aloud. How I built it
Flutter for iOS, Android and web. Firebase Authentication (GitHub, Google, guest) and Cloud Firestore. Gemini 2.5 Flash through Firebase AI Logic (no API key in the app) for camera verification and link search. The public GitHub API, pdfx for the reader and local notifications for reminders. There is no server and no paid plan: the game rules run inside the app, and I built it step by step with Claude as my coding assistant.
Challenges Doing the honest thing about money. A fee returned on success looks like a wager in many places, and a real version needs a licensed payment provider, a server and legal review. I simulated all money and say so everywhere. Making proof hard to fake without a server. Page-by-page reading time, a random code word and partner overrule make cheating harder, not impossible. Never letting an AI be the only judge. Routing doubt to a human changed the whole design. Screen time. iOS only exposes Screen Time through Apple's FamilyControls and DeviceActivity APIs, which need an entitlement Apple approves per app. A hackathon build cannot get it, so this habit is a screenshot read by Gemini and is self-reported, not verified. Float maths broke the 90% rule (0.1 x 90 is 8.999...), so I moved it to integer maths. Accomplishments I'm proud of
A full loop that works on a phone: sign in, choose habits, commit a fee, prove habits in three different ways, win or lose, and see where you stand against others. And an honest list of what it cannot do.
What I learned
An AI should never be the only judge of a penalty. Platform walls shape a product, and documenting them is part of building it well. Simulating money, and saying so, beats faking a payment screen.
What's next
A server that decides outcomes so records cannot be edited, real payments through a licensed partner after legal review, native Screen Time reading, verified GitHub accounts, and partner nudges.
Honest limits
Money is simulated. Integrity is demo-grade because there is no server, so a determined user could edit their own records, including leaderboard scores. The AI can be wrong, which is why a partner can overrule it. The reader measures reading, it cannot prove it. The saves agent cannot watch videos. Camera frames go to Gemini to be checked and are not stored by GO. Tested on the iPhone simulator only.
Examples and permission
Screens and demo data use invented habits, links and names. I give the organisers permission to use screenshots and the demo for judging and promotion.
Pre-existing work and AI assistance
Open-source packages (Flutter, FlutterFire, camera, pdfx, file_picker, share_plus, flutter_tts, google_fonts, url_launcher, flutter_local_notifications) and Firebase services. The GO logo and artwork are my own. The app and this write-up were built myself solo with Claude as a coding assistant, and the running app uses Gemini.
Log in or sign up for Devpost to join the conversation.