--- type: project status: active domain: [saas, ai, software, startup] tech: [Next.js 15/16, NextAuth v5, PostgreSQL, pgvector, Drizzle, LiteLLM, Cloudflare R2, Razorpay, Resend, Tailwind v4, Dokploy, Hetzner] commits: 406 url: https://tia.manohargupta.com tagline: "A digital heirloom for your baby." tags: [project, startup, flagship] --- # 👶 Tia — A Digital Heirloom for Your Baby > The flagship product, **named after the founders' daughter Tia**. Not a tracker — a private, lifelong archive of a child's earliest years: feeds, sleep, diapers, growth, vaccinations, milestones, photo **memories**, an **"Ask Tia"** AI, and shared family **circles**. Live at [tia.manohargupta.com](https://tia.manohargupta.com). → [[Tia - Origin Story]] · [[Tia - Positioning]] ## At a glance - **406 commits** · production with paying tiers · solo-built (with [[Family Overview|Yashika]] on brand/content) - **Positioning:** digital heirloom · privacy-as-preservation · India-native (IAP schedule, Telegram alerts) - **Hosting:** Hetzner via **Dokploy** ([[Self-Hosting]]) ## Stack Next.js 15/16 (App Router, `output: standalone`) · **NextAuth v5** (Google OAuth + invite-only magic link) · PostgreSQL + **pgvector** · Drizzle ORM · **LiteLLM → MiniMax** · Cloudflare R2 · **Razorpay** (payments) · Resend (email) · Tailwind v4. > Auth evolved across phases (DB-session `tia_session` cookie → NextAuth v5 + DB hardening). See [[Tia - Architecture]]. ## Feature map | Surface | What it does | |---|---| | **Home / Quick Log** | One-tap feeds/diapers/sleep; baby card (photo, age in y/m/d); AI card; vaccine reminders | | **Activity** | Unified activity log | | **Growth** | Growth charts vs **WHO standards** for the child's age | | **Medical** | **IAP** vaccination schedule + reminders; pediatrician contact | | **Memories** | Photo gallery — **photo → vision model → auto metadata** pipeline (R2 + `/api/img` proxy) | | **🌟 Milestones** | Milestone achievements table + page | | **Ask Tia (AI)** | LiteLLM→MiniMax assistant; parenting logistics, defers medical to pediatrician; new session per chat | | **Circles** | Multi-tenant social — share with family, parents stay in control | | **Mama's Affiliate** | `member_profiles`, recommended products, click tracking | | **Admin** | Health, Errors, Audit, AI Usage observability + billing/subscriptions | ## Build history (sprints, from session logs) - **G1 — Design System** (14 UI primitives: Button, Card, Modal, Sheet, Input, Select, EmptyState, ConfirmDialog, WashiTape, Badge, Avatar, Tabs, PageTransition…) - **G2 — Memories Pipeline** (vision-powered metadata; "photo is mandatory, vision does the heavy lifting") - **G5 — Age-Aware UX** (`useStageCheck`, time-of-day fast-log matrix, milestones) - **G6 — Mama's Affiliate Page** (member_profiles, recommended_products, product_clicks) - **Circles** (multi-tenant social — "the architectural event", split across 2 sprints) - **Hardening H1–H2** (auth foundation/password hash; non-superuser `tia_app` role + RLS + `app.current_family_id` session context) - **PWA shell** (installable app) · **Marketing homepage + /about Letter** ## Business model Free (1 baby, 1 GiB, 2 members) → **Pro** (2nd baby, more storage, 50 GB premium cap). Billing in **₹** via Razorpay; subscriptions, dunning, churn alerts, webhook health. `families.tier` + `isPaidFamily()` ([[Decision Log#TD-002]]). ## Knowledge base [[Tia - Origin Story]] · [[Tia - Positioning]] · [[Tia - Brand & Copy]] · [[Tia - Architecture]] · [[Tia - Decisions]] · [[Tia - Roadmap]] · [[Tia - Open Questions]] · [[Quota Feature]] ## Related [[MOC - Startup]] · [[Family Overview]] · [[Decision Log]] · [[Self-Hosting]] · [[Profile]]