LockedIn: Social Gamified Accountability & Habit Battles
Inspiration:
The question that sparked LockedIn was simple: How do i make staying productive genuinely fun instead of feeling like a chore?
Most productivity apps treat habit tracking as an isolated, sterile checklist. When you are the only person holding yourself accountable, it is dangerously easy to quit after three days. But human beings are inherently social, and more importantly, naturally competitive.
I realized that if you can channel that primal competitive drive into personal growth, where your daily habits, study hours, or workouts directly impact your rank, your team, and your reputation, consistency stops being boring. It becomes a sport.
From that insight, LockedIn was born: a platform where accountability meets group politics, ranked seasonal leagues, and real social stakes.
What It Does
LockedIn transforms daily productivity into a collaborative, competitive arena:
- Thematic Accountability Rooms: Users create and join self-governing accountability circles. Rooms operate under distinct political models (Standard, Democracy with communal voting, Dictatorship with authoritative owner vetoes, or Battle Royale elimination formats).
- Verifiable Tasks & Proof: Tasks aren’t just hollow checkboxes. When you complete a task, you submit proof (photos, journals, or work snapshots) which is reviewed by room members or judged autonomously by our AI adjudication engine.
- Dual Streaks & Visual Tracking: Unlike apps that combine everything into an ambiguous score, LockedIn tracks distinct Daily Login Streaks and Task Completion Streaks, visualized through an interactive 7-day micro-calendar strip.
- Ranked Seasonal Leagues: Users compete in weekly 20-person cohorts across 12 distinct tiers (Wood → Diamond), with a top Promotion Zone, a Safe Zone, and a high-stakes Demotion Zone.
- The Wall of Humiliation: Broken streaks and neglected commitments are publicly exposed to the room and global feeds, turning peer accountability into a culturally vibrant, playful deterrent against slacking.
- Focus Suite & Fullscreen Zen Mode: An integrated circular Pomodoro timer with ambient soundscapes (Campfire, Forest Rain, Coffee Shop) and an edge-to-edge Zen Mode that breathes with ambient glow and auto-dissolves UI controls for pure immersion.
- Universal Accessibility & Personalization: 5-step font scaling (Small $0.85\times$ to Extra Large $1.45\times$) for visual comfort, custom editorial typography, curated theme palettes (Classic Lavender, Midnight Slate, Emerald Focus, Crimson Ember, Royal Amethyst), and motion-reduction controls.
How I Built It
As a solo builder working on a shoestring budget, every architectural choice was deliberate—squeezing maximum performance, reliability, and scale out of modern developer-friendly platforms:
| Layer | Technology | Role & Why We Chose It |
|---|---|---|
| Mobile Client | Flutter (Dart) | Single cross-platform codebase delivering 60fps animations, custom themes, and modular architecture. |
| Backend API | Kotlin + Ktor (JVM 21) | Lightweight, non-blocking asynchronous microservice running containerized on Google Cloud Run. |
| Database | Firebase Firestore | Real-time document database storing user profiles, room hierarchies, and task lifecycles. |
| Caching & Sync | Redis | High-speed cache for session deduplication, active leaderboards, and temporary session grants. |
| Object Storage | Cloudflare R2 | Zero-egress fee cloud storage via AWS S3 SDK for user avatars and high-resolution task proof media. |
| AI Evaluation | OpenRouter (Free Models) | Autonomous task proof verification and point allocation using generous free community models on OpenRouter. |
| Monetization | RevenueCat | Manages recurring subscriptions, 9 consumable currencies, and our AdMob SSV reward pipeline. |
| Ad Monetization | Google AdMob + SSV via RevenueCat | Opt-in rewarded ads granting emergency streak freezes, XP boosts, and temporary 2-hour/6-hour taster passes. |
The Competitive Math: Streak Multipliers
To reward long-term discipline without breaking the league economy, point gains scale logarithmically with daily streaks:
- Formula:
Effective XP = Base XP × Multiplier - Streak Multiplier:
1.0 + min(2.0, 0.51 × ln(1 + Streak Days))
| Streak Length | Multiplier | Impact |
|---|---|---|
| Day 1 (Start) | 1.0x | Baseline XP |
| Day 3 (Early win) | 1.7x | Immediate positive feedback |
| Day 14 (Consistent) | 2.4x | Strong progression reward |
| Day 50+ (Veteran) | 3.0x | Hard-capped maximum |
Challenges I Ran Into
1. The Solo Grind (Zero Paid AI Assistants)
Building a full-stack, enterprise-grade mobile application and reactive backend completely alone over two months was mentally and physically grueling. As a indie dev with almost no budget, I couldn't afford paid developer tools like GitHub Copilot, Cursor, or Codex.
Every single line of Kotlin, Flutter widget, Firestore transaction, and serialization model was written by hand. It took countless late nights powered by coffee and energy drinks to take LockedIn from an empty directory to a fully approved, live application on the Google Play Store in time for the Shipaton deadline.
2. Engineering the AdMob-to-RevenueCat SSV Bridge
One of the trickiest engineering hurdles was getting Server-Side Verification (SSV) for rewarded ads to work reliably without dropping user rewards. AdMob callbacks occasionally suffered from delivery retries or timing drops.
To solve this, I designed a resilient relay pipeline:
- AdMob calls the app custom backend endpoint (
/ssv-callback). - The backend cryptographically validates the signature and transaction ID, caching the transaction in Redis to prevent replay attacks.
- The server forwards the verified event directly into RevenueCat to trigger the virtual currency credit.
- The backend monitors and polls for successful balance updates. If RevenueCat's automated webhook experiences any latency or failure, a resilient fallback kicks in—manually invoking RevenueCat's v2 Virtual Currencies REST API to credit the user's wallet directly.
This guarantees that users never lose a hard-earned Streak Freeze or Custom Room pass.
3. AI Evaluation on a Zero-Dollar Budget
I wanted an automated AI judge capable of evaluating submitted photos and journal entries to assign fair XP scores. Without funds for expensive enterprise vision APIs, I leveraged OpenRouter's free model tier. Crafting rigorous system prompts, handling rate limits with exponential backoff, and caching evaluation results in Firestore allowed me to deliver an intelligent judging system completely free of running costs.
Accomplishments That I Am Proud Of
- Built & Shipped Ground-Up Solo in 2 Months: Architecting, designing, coding, testing, and deploying both a Kotlin Ktor backend and a production Flutter mobile app as a solo developer.
- Approved & Live on the Google Play Store: Navigating Google's strict 2026 app quality, privacy, and store review requirements and earning official Play Store approval right on time for the Shipaton deadline.
- A Seamless, Ethical Monetization Engine: Designing a hybrid RevenueCat flywheel with 9 consumable micro-transactions, tiered subscriptions, and value-exchange rewarded ads that respect the user's attention.
- Deep Accessibility Focus: Embedding 5-level typography scaling ($0.85\times$ to $1.45\times$) and reduced-motion controls from day one, ensuring LockedIn is welcoming to users of all visual abilities.
What I Learned
- The Power of RevenueCat's v2 REST APIs: Moving beyond basic SDK subscriptions into RevenueCat's v2 Virtual Currencies Transactions and Grant Entitlement Actions APIs unlocked a whole new dimension of dynamic, server-controlled app economies.
- Resilience Over Assumptions: Third-party callbacks will drop and network edges will glitch. Designing robust idempotent deduplication and automated REST fallbacks is the only way to build trustworthy financial and gamified systems.
- The Beauty of Lean Cloud Architecture: Pairing Google Cloud Run with Firestore, Redis, and Cloudflare R2 allowed me to build an app capable of supporting thousands of simultaneous users for virtually zero idle cost.
What's Next for LockedIn
- iOS App Store Release: Bringing the Flutter client to iPhone and iPad users worldwide.
- Samsung Galaxy Store Expansion: Expanding distribution and optimizing for foldable devices.
- Web App: Deploying the shared architecture to the web for desktop study groups and corporate productivity cohorts.
- Upgraded AI Coaching Models: Upgrading to dedicated multimodal models as revenue grows to provide personalized habit suggestions and proactive accountability check-ins.
Built With
- firebase
- flutter
- google-cloud
- kotlin
- openrouter

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