FeaturedAI Personal Growth

Your Future Identity, AI-Guided Identity Transformation

See your future self before you become it — an AI-guided daily ritual that turns who you want to be into something you can look at.

  • Photo-realistic AI images of the user's future self, generated from their own photos
  • A personalised identity statement written by an LLM from three identity questions
  • Guided 4-step daily ritual: visual trigger, narrated audio, identity lock, micro-action
  • Streaks, identity-consistency scoring and timezone-correct push reminders
FlutterRiverpodNestJSPrismaPostgreSQLOpenAI+6
App preview — Your Future Identity, AI Personal Growth built with Flutter and Riverpod by Ayan ParvaizScreen preview — Your Future Identity, AI Personal Growth built with Flutter and Riverpod by Ayan Parvaiz
Your Future Identity · 2026

Project Overview

Most self-improvement apps ask you to imagine the person you are becoming. This one shows you. A cross-platform Flutter app with a NestJS/PostgreSQL backend generates photo-realistic images of the user living their stated future — their own face, in scenes drawn from their own goals — writes a personalised identity statement with an LLM, then runs a short 4-step ritual around those images every day: look at it, listen to a narrated visualisation, commit to the identity, pick one micro-action. Streaks and consistency scores keep the loop alive.

Requirements & Features

  • Photo-realistic AI images of the user's future self, generated from their own photos
  • A personalised identity statement written by an LLM from three identity questions
  • Guided 4-step daily ritual: visual trigger, narrated audio, identity lock, micro-action
  • Streaks, identity-consistency scoring and timezone-correct push reminders
  • Transformation goals across wealth, fitness, confidence and relationships
  • TTS-narrated visualisation journeys with background audio
  • Google and Apple sign-in, rotating refresh tokens, English and Spanish
  • 51 golden tests guarding Figma-to-Flutter design parity

Challenges I Solved

  • Making generated images actually look like the user: per-user model training was too slow and too expensive, so every request carries the user's reference photos plus a scene prompt the LLM writes from their own identity statement, with the model instructed to preserve the face. The provider sits behind one adapter, so switching image models is an env var rather than a code change.
  • Generation takes up to three minutes, and none of it can block the UI. A database-backed job queue — deliberately not Redis, since this is a single-node deployment and the table already survives a restart — returns a job id immediately, the app polls it, and a sweeper fails jobs stuck past a stall threshold so they stop holding the user's quota.
  • Keeping the AI bill sane: daily scenario content is generated once per (day, language, goal category) and shared across every user who matches, instead of once per user — turning thousands of daily LLM calls into a handful. Per-user quotas and a moderation pass guard the expensive paths.
  • "One session per day" has to mean the user's day, not the server's. Each device reports its timezone, localDate is resolved against it, and the rule is enforced by the database itself with a @@unique([userId, localDate]) constraint rather than by application logic that could race.
  • Pixel-exact fidelity across ~80 Figma screens, where Figma and Flutter genuinely disagree: Figma ignores a font's line gap (Cinzel 40pt renders 54pt there and 114pt in Flutter) and layer blur cannot be reproduced at runtime because Impeller clamps large sigmas. Fixed by pinning line heights in a central typography layer, exporting blurred shapes as pre-rendered assets, and locking the tree to a fixed 430pt design canvas.
  • A cache that outlived its user: signing into a second account on the same phone showed the first user's finished session, streak and images, because per-user providers cached for the life of the process. Fixed with a single registry of user-scoped caches, invalidated on every path that starts or ends a session.

What I Delivered

End-to-end product build: a Flutter app on iOS and Android, a NestJS/Prisma API with 64 REST endpoints, the AI generation pipeline and job queue, and AWS deployment with a zero-downtime release script.

Results

  • 46 Flutter screens (~20,800 lines) and 30 reusable components, shipped to a fixed design canvas
  • 64 REST endpoints across 12 modules, 20 database models and 13 migrations
  • 6 test suites including 51 golden tests for design parity — regressions caught before device
  • Shared daily content cut what would be thousands of LLM calls a day down to a handful

Technology Stack

FlutterRiverpodNestJSPrismaPostgreSQLOpenAIOpenRouterAWS EC2S3DockerFirebase AuthFCM
Client
Your Future Identity
Completed
2026
Platform
iOS & Android
Duration
Full product build — app, API and infrastructure

Want something like Your Future Identity?

I scope in 48 hours and ship in weeks — not quarters. Tell me what you're building.

More case studies