>_ case study

Lifecycle Tracker

Stage-gated product lifecycle management. Guides products through 11 stages from ideation to exit with wizard questionnaires, automated metric collection from 30+ integrations, encrypted secrets vault, AI-powered marketing, and native mobile apps with home screen widgets.

Framework | Next.js 16API | tRPC 11 + Zod v4Database | PostgreSQL + DrizzleAuth | Better AuthiOS | SwiftUI + WidgetKitAndroid | Jetpack Compose + GlanceTesting | Vitest + PlaywrightDeploy | Vercel

>_The Problem

Running multiple products simultaneously means context-switching between Stripe for revenue, PostHog for analytics, GitHub for dev velocity, spreadsheets for planning, and Notion for notes. No tool ties these together around the product lifecycle.

Lifecycle Tracker consolidates everything into a single stage-gated view. Each product progresses through 11 defined stages, each with its own wizard questions, checklists, metrics, and marketing workflows. Integrations pull data automatically. Secrets are encrypted at rest. Mobile widgets keep you informed at a glance.

>_11 Lifecycle Stages

An opinionated framework. Each stage has 3-8 sub-stages, stage-specific wizard fields, and graduation criteria. The Stage Rail gives a visual snapshot of where every product stands.

01IdeationProblem validation, market sizing, initial research
02ValidationCustomer interviews, prototype testing, demand signals
03PlanningBusiness model, roadmap, resource allocation
04DesignUX/UI, architecture, technical specifications
05DevelopmentCore build, MVP scope, sprint execution
06AlphaInternal testing, bug fixing, performance tuning
07BetaExternal testers, feedback loops, iteration
08LaunchGo-to-market, marketing push, onboarding
09GrowthScaling, optimization, retention, expansion
10MaturityStable revenue, maintenance, feature hardening
11ExitSunset, acquisition, or transition planning

>_Product Detail

Each product opens into an 8-tab workspace. The left sidebar shows the Stage Rail — a vertical visual of all 11 stages with color-coded progression.

🪄

Wizard

Stage-specific questionnaire with 200+ fields across 11 stages. Substage filtering for fine-grained drill-down.

Checklist

Substage-aware task management. Custom items per stage with completion tracking.

📣

Marketing

Campaign composer, content calendar, AI copy generation (Claude), image generation (Nano Banana), social scheduling (Postiz).

🔗

Integrations

30+ provider cards with connected/disconnected status, last sync timestamp, and auto-fill metric mapping.

📊

Metrics

Time-series dashboard with category filtering: financial (MRR, ARR, churn), growth (DAU/MAU), dev (DORA), time-based.

🔐

Secrets

Encrypted vault with AES-256-GCM envelope encryption. Per-product and global (user-level) secrets with DEK/KEK rotation.

📖

Research

Document management with tags and source tracking. Attach findings directly to product stages.

🧠

Context

AI context generator — auto-generates comprehensive product briefs from wizard data via Claude API.

>_30+ Integrations

Extensible adapter pattern with pull() and push() methods. Each adapter maps external data to product metrics automatically. 6 fully implemented, 24+ stubs ready for wiring.

liveRevenue
Stripe
liveAnalytics
PostHogGoogle Analytics
liveSocial
Postiz
liveAI
ClaudeNano Banana Pro
liveComms
Discord
stubDev
GitHubSentry
stubAds
MetaGoogleTikTokRedditXBing
stubDeploy
VercelCoolify
stubDomains
Aftermarket.plPorkbunNamecheap
stubMobile
App Store ConnectGoogle Play Console

Marketing Automation Pipeline

Claude writes copyNano Banana generates imagesVideoGen creates reelsPostiz schedules posts

One-click campaign generation from wizard data across 22+ social platforms.

>_Security

Envelope Encryption

AES-256-GCM with per-product Data Encryption Keys (DEK) wrapped by a master Key Encryption Key (KEK). Key rotation without re-encrypting all secrets. Both per-product and user-level vaults.

Authentication

Better Auth with 7-day sessions and daily refresh. Mobile uses separate JWT flow: HS256 signed, 1h access tokens, 30-day refresh tokens with secure hash storage and rotation.

>_Native Mobile Apps

Full native implementations — not webviews. Home screen widgets surface key metrics without opening the app.

🍏iOS

  • 50 Swift files, SwiftUI throughout
  • WidgetKit home screen widgets
  • watchOS companion with complications
  • 56 XCUITest cases with CI/CD

📱Android

  • 69 Kotlin files, Jetpack Compose UI
  • Glance API home screen widgets
  • Koin dependency injection
  • 58 Compose UI test cases with CI/CD

>_Architecture

tRPC routers (9)
products CRUD + stage transitions + activity log
wizard 200+ stage-specific field responses
checklists substage-aware task management
metrics time-series KPI storage + queries
secrets encrypted vault operations
integrations adapter sync + config
context AI brief generation
research document + tag management
settings user preferences + billing

End-to-End Type Safety

tRPC 11 with Zod v4 validation and superjson transformer gives full type safety from database schema (Drizzle) through API layer to React components. No code generation step — types flow automatically. Drizzle relations provide type-safe joins.

>_Testing

53

Web Tests

Vitest unit + Playwright E2E with session reuse

56

iOS Tests

XCUITest with 16 accessibility identifiers

58

Android Tests

Compose UI tests with Koin fakes

CI/CD via GitHub Actions: web lint + typecheck + tests on every push, Playwright E2E on PR, iOS build + test on macOS-15 simulator, Android emulator tests on API 30.

>_By the Numbers

18,366

Lines of Code

11

Lifecycle Stages

30+

Integration Adapters

15

Database Tables

9

tRPC Routers

8

Product Detail Tabs

167

Test Cases

3

Platforms

← back to raba.pl