Inspiration

We all use to-do apps, and we all abandon them. At the same time, we’ll happily grind levels, chase streaks, and obsess over progress bars in games.

The Life Game was born from a simple question:

What if your real life felt like leveling up a character in a game?

We wanted an app that doesn’t guilt-trip you for not doing tasks, but rewards you for every small win—whether that’s finishing a homework assignment, going to the gym, or just remembering to drink water.


What it does

The Life Game turns your day into a series of quests:

  • Create tasks & habits – Daily tasks, one-off missions, and recurring habits (study, workout, chores, etc.).
  • Complete tasks to earn points – Each task has a point value. When you complete it:
    • The task’s completed flag is set to true
    • Those points are added to your Total Points
    • Total Points accumulate over time to track your long-term grind
  • Visual progress feedback
    • Progress bars and counters make your productivity feel like an XP bar filling up
  • Reward-driven, not guilt-driven
    • No shame screens—just streaks, rewards, and a feeling that every action moves you forward

We’re also designing a fun, “ego-stroking” AI companion that hypes you up when you complete tasks and nudges you when you’re close to a goal.


How we built it

Frontend

  • React + Material UI (MUI) for a clean, responsive interface.
  • Uses MUI components like Card, Typography, LinearProgress, and Stack to show:
    • Total Points
    • Task list with completion state and icons
  • Clicking a task:
    • Toggles its completed boolean
    • Updates daily points and visually marks the task as done

Backend / API

  • REST-style API (e.g. mySQL) with endpoints like:
    • GET /api/users/:id – get current user data including total points
    • GET /api/users/:id/tasks – fetch tasks for the logged-in user
    • PATCH /api/tasks/:taskId – update a task’s completion status and trigger a points update
  • When a task is completed:
    • We update its completed field
    • We add its points value to the user’s daily and total points on the server

State & Logic

  • Frontend calls a getCurrentUser flow (demo user ID for now) to fetch:
    • User profile
    • Total points
    • Task list
  • Local state tracks:
    • totalPoints (from backend)
    • Tasks and their completion status

Challenges we ran into

  • Keeping frontend and backend in sync
    Making sure that when a task is toggled:

    • The completed status updates correctly
    • Points are updated exactly once (no double counting).
  • Designing a fair scoring system
    Balancing:

    • Small tasks feeling rewarding
    • Big tasks still feeling meaningful and worth more.
  • Daily reset vs long-term progress
    We had to balance:

    • A daily clean slate to avoid overwhelm
    • Persistent total points so users feel long-term growth.
  • “Gamey” but not childish UI
    We wanted something playful but not cartoony:

    • Clean MUI layout
    • Subtle game vibes via progress, icons, and counters rather than full fantasy graphics.

Accomplishments that we're proud of

  • Turning a simple task list into something that actually feels like a game loop.
  • Building a working flow where:
    • Tasks are fetched from the backend
    • Completing a task updates both the API and the UI
    • Daily and total points have a clear, single source of truth.
  • Shipping a simple, clean UI where:
    • You see progress at a glance
    • Completing a task genuinely feels like finishing a quest.
  • Laying foundations for:
    • Streaks, levels, and unlockable rewards
    • A future AI “hype coach” system.

What we learned

  • Gamification works when done thoughtfully.
    Progress bars and points are way more motivating than plain checkboxes.

  • Data modeling matters early.
    Even a small life game needs clear handling of:

    • Users
    • Tasks
    • Points
    • Daily vs total metrics.
  • Designing for extensibility pays off.
    We structured the app so we can add:

    • Streaks
    • Badges
    • Levels without rewriting the entire core.
  • The goal isn’t screen time; it’s real-life wins.
    The most satisfying design decisions were the ones that helped users get off the app and back into their lives—with a win logged.


What's next for The Life Game

  • Streaks & levels

    • Daily/weekly streaks for habits
    • Levels and titles based on total points (Bronze → Silver → Gold → Legend)
  • Reward shop

    • Trade points for:
    • Custom themes
    • Avatar cosmetics
    • Self-defined rewards (e.g. “500 points = bubble tea”)
  • Social features

    • Optional friend leaderboards
    • Co-op quests (shared tasks or group goals)
  • AI Companion

    • A built-in “coach” / “hype buddy” that:
    • Celebrates completed tasks
    • Encourages you when you’re close to a goal
    • Suggests small quests tailored to your habits
  • Smarter task templates

    • Presets for students, devs, fitness, morning/night routines, etc.

The core idea stays the same:
You’re not just managing your life. You’re playing it.

Built With

Share this project:

Updates