Milestones, guidance and answers for the first two years. An educational tool, not a medical device.
HealthTypeScript · PythonGitHub @bumptobloomOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A trusted, personalized companion for first-time moms with babies from birth through 24 months.
BumpToBloom is a mobile-first progressive web app that provides age-based guidance, milestone tracking, temperature logging, product recommendations, and a safety-focused AI companion.Read the full README ↗A trusted, personalized companion for first-time moms with babies from birth through 24 months.
BumpToBloom is a mobile-first progressive web app that provides age-based guidance, milestone tracking, temperature logging, product recommendations, and a safety-focused AI companion.
git clone [email protected]:bumptobloom/bumptobloom.git
cd bumptobloom
npm install
cp .env.example apps/web/.env.local
npm run dev
Open http://localhost:3000 The .env.example file contains placeholders only. Ask a project lead for the approved Development values. Never commit or share real keys.
For mobile testing, open the local network URL on a phone connected to the same Wi-Fi network.
New contributors should read docs/ONBOARDING.md first.
apps/
web/
src/app/ Next.js App Router pages and routes
src/components/ Reusable UI components
src/lib/ API clients, validation, safety, and utilities
packages/
fever-rules/ Deterministic temperature safety rules
shared/ Shared types, schemas, and Ask safety logic
supabase/
migrations/ Database migrations, applied in order
seed/ Reference content, milestones, and products
data/ Source datasets
docs/ Architecture, safety, decisions, and API contracts
| Layer | Technology |
|---|---|
| App | Next.js 15, TypeScript, App Router |
| Styling | Tailwind + shadcn/ui |
| Installable | Web manifest and service worker |
| Database and auth | Supabase with Row Level Security |
| Server logic | Next.js API routes and Server Actions |
| AI | OpenAI, called server-side only |
| Hosting | Vercel |
| Monitoring | Sentry and PostHog |
| CI | GitHub Actions |
| Testing | TypeScript, ESLint, node:test, and package-level tests |
BumpToBloom is a progressive web app. It can be installed from supported mobile and desktop browsers.
Why this and not an app-store app: see ADR-006.
1. Age is derived, never stored
babies.birth_date is the source of truth. The application derives the baby’s age instead of storing a permanent month value.
2. AI does not make medical decisions
Ask Bloom does not determine fever severity or provide medical triage. Temperature safety logic is handled by the deterministic packages/fever-rules package.
Medical or emergency questions are redirected to appropriate professional care.
3. No server secrets reach the browser
Values beginning with NEXT_PUBLIC_ are visible in the browser. The Supabase public client values are protected by Row Level Security.
The OpenAI key and other server secrets are used only on the server.
4. User data is isolated Supabase Row Level Security ensures that each parent can access only their own account, baby profile, and related data.
5. Contracts before code Shared contracts and safety rules are documented before implementation. Changes to frozen contracts require review from the relevant squad leads.
Run these before opening a pull request:
git diff --check
npm run typecheck --workspaces --if-present
npm run lint --workspaces --if-present
npm run test --workspaces --if-present
npm run build --workspace=apps/web
See CONTRIBUTING.md.
In short: