WallpaperMachine
The wallpapers you love. A new home on your Mac.
Shared baby tracking app for caregivers — feeds, sleep, diapers, and more
LifestyleTypeScript · HTMLGitHub @shutingyowOnlineOwner 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
test repo
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A shared caregiver log for tracking feeds, sleep, diapers, pumping, health, notes, and appointments. No login required — share a secret link with everyone helping care for your baby.
Growth measurements (weight, height, head circumference) are logged only under Profile → Growth. Units are metric: kg and cm. Legacy inch values (if any) are converted ×2.54 on migration / display.
npm install
npx convex dev # in one terminal
npm run dev # in another terminal
Open http://localhost:3000, create a tracker, and share the link with caregivers.
See DEPLOYMENT.md for env vars, deploy commands, and Vercel/GitHub setup.
The iOS app wraps the production site in a Capacitor WebView (com.ittakesavillage.app). See IOS.md for Xcode open/archive steps. Quick start:
npm run cap:sync
npm run cap:open:ios
Data is split between the Convex backend (shared, durable) and the browser (per-device convenience).
All caregiver activity is stored in Convex and scoped by tracker. Each tracker is one family’s log:
trackerIdtrackerId, so families never see each other’s data/tracker/<secret-link>) loads the full history for that familyOn each device, the app remembers:
| Key | Purpose |
|---|---|
lastVisitedTracker | Last tracker URL visited — powers Continue with [baby name] on the landing page |
caregiver:<secret-link> | Which caregiver you selected, scoped per tracker (so multiple families on one phone don’t clash) |
Caregiver choice is not synced across devices; each caregiver picks their name when they open the link.
Each Create tracker on the landing page creates a new, isolated family:
nanoid)There is no account system. Isolation is by secret link: if you have the link, you have access to that family’s data.
trackers.regenerateSecret can invalidate an old link if it leaks (UI for this can be added later)Note: Mutations accept a
trackerIddirectly. In practice, clients only obtaintrackerIdafter resolving a valid secret link. A party who already knows atrackerIdcould call the API without the link. For a no-login app, the secret link is the intended access boundary; stronger guarantees would require passing and verifying the secret on every mutation.
Feed and medication reminders are interval-based and shown on the Home tab when approaching or overdue:
feedIntervalHours (default 2.5h) and optional medication schedules in More → RemindersTo add Web Push later:
crons.interval) that checks reminders.getDueStatus and sends notifications via a push service (e.g. web-push + VAPID keys)The Stats page already shows avg sleep per day and longest stretch (7 days). Additional ideas:
type: "night" sessions onlyOptional colour and consistency fields are available when logging dirty diapers. Pediatrician flags to document in UI later: