53 lines
3.7 KiB
Markdown
53 lines
3.7 KiB
Markdown
---
|
||
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]]
|