Skip to content
All projects

Case study 02Mobile · AI · Social fitness

XyloFit

Fitness tracking that turns consistency into a game.

A cross-platform fitness app that pairs calorie tracking and AI-assisted meal logging with head-to-head PvP challenges — so the reason to open it tomorrow is someone to beat.

Visit sitexylofit.net(opens in a new tab)
Role
Founder & sole engineer — product, UI, mobile, backend
Platform
Android (Google Play) · iOS coming soon
Stack
Flutter, Firebase, AI integrations, FCM, AdMob

01Overview

XyloFit is a fitness and nutrition app built around one observation: people don't quit calorie tracking because they lack data, they quit because logging is tedious and progress is lonely. XyloFit makes logging fast with AI and makes progress social through competition.

02Problem

Most trackers optimise the spreadsheet, not the habit. Logging a meal takes too many taps, estimates feel like homework, and nothing pulls you back on day four. Retention — not features — is the real problem to solve.

03Goals

  1. G1Log a meal in seconds, not minutes
  2. G2Give users a social reason to return every day
  3. G3Keep competitive results fair when the data is self-reported
  4. G4Run the product sustainably as a free, ad-supported app

04My role

Founder & sole engineer — product, UI, mobile, backend.

  • Product definition, information architecture and UI design
  • Flutter application architecture and state management
  • Firebase data model, security rules and server-side logic
  • AI integration for nutrition estimation
  • Notification strategy (FCM) and monetization (AdMob)

05Technology

Client
Flutter / Dart
Backend
Firebase Auth / Cloud Firestore / Server-side triggers
Intelligence
AI nutrition estimation / Prompted structured output
Growth
Firebase Cloud Messaging / AdMob

06Architecture

The client stays thin and optimistic; anything that affects fairness or another user lives on the server.

  1. 01

    Flutter client

    Optimistic UI, local cache, offline-tolerant logging

  2. 02

    Auth & Firestore

    Profiles, daily logs and duel documents with scoped security rules

  3. 03

    AI service

    Meal text/photo → structured macros the user can confirm or edit

  4. 04

    Duel engine

    Server-side scoring and validation so the client can't award itself points

  5. 05

    FCM

    Event-driven invites, results and reminders — rate-limited per user

07Challenges & solutions

C1Fair competition on self-reported data

If scoring runs on the client, anyone can win. And raw calorie numbers favour whoever logs the most, not whoever is most consistent.

If scoring runs on the client, anyone can win. And raw calorie numbers favour whoever logs the most, not whoever is most consistent.

Moved scoring server-side, normalised scores around each user's own targets, and capped outliers so consistency beats volume.

Moved scoring server-side, normalised scores around each user's own targets, and capped outliers so consistency beats volume.

C2AI estimates are uncertain by nature

A model guessing “chicken salad” can be off by hundreds of calories. Presenting that as fact erodes trust fast.

A model guessing “chicken salad” can be off by hundreds of calories. Presenting that as fact erodes trust fast.

AI output is a draft, never a record: users see the breakdown, adjust portions in one tap, then confirm. Structured output keeps parsing reliable.

AI output is a draft, never a record: users see the breakdown, adjust portions in one tap, then confirm. Structured output keeps parsing reliable.

C3Realtime without runaway reads

Live duel updates via naive listeners multiply Firestore reads — and cost — with every active user.

Live duel updates via naive listeners multiply Firestore reads — and cost — with every active user.

Denormalised duel summary documents and tightly scoped listeners, so a screen subscribes to exactly the data it shows.

Denormalised duel summary documents and tightly scoped listeners, so a screen subscribes to exactly the data it shows.

08Screens

  • a.Today — calories and macros at a glance
  • b.AI meal logging — a draft you confirm
  • c.PvP duel — consistency is the score
  • xylofit.net
    XyloFit website home page showing the app on a phone and a Google Play download button
    d.xylofit.net — the live product site

09Results

  • Live on Google Play, with the product site at xylofit.net
  • End-to-end ownership: design, mobile, backend, AI, notifications and monetization by one engineer
  • A foundation for adding new competitive formats without client releases
Visit sitexylofit.net(opens in a new tab)

10Lessons learned

“Retention is a product problem first and a feature list second.”

“Treat AI output as a suggestion with an edit path — trust follows.”

“Decide early what the client is not allowed to decide.”