A free, self-hosted NICU baby journey tracker for families. Track updates, vitals, milestones, and share progress with loved ones.
Built with: Node.js, Express, EJS, Turso (database), Cloudinary (images)
Click the button above. You'll be prompted to fill in environment variables.
- Sign up at turso.tech
- Create a new database
- Copy the Database URL and generate an Auth Token
- Sign up at cloudinary.com
- Copy your Cloud Name, API Key, and API Secret from the dashboard
| Variable | Description |
|---|---|
ADMIN_PASSWORD |
Password to access the admin dashboard |
VIEWER_PASSWORD |
Password for family/friends to view the site |
TURSO_DATABASE_URL |
Your Turso database URL (libsql://...) |
TURSO_AUTH_TOKEN |
Your Turso auth token |
CLOUDINARY_CLOUD_NAME |
Your Cloudinary cloud name |
CLOUDINARY_API_KEY |
Your Cloudinary API key |
CLOUDINARY_API_SECRET |
Your Cloudinary API secret |
STORAGE_LIMIT_MB |
Image storage limit in MB (default: 1024) |
Optional:
| Variable | Description |
|---|---|
VAPID_PUBLIC_KEY |
For push notifications (generate with npx web-push generate-vapid-keys) |
VAPID_PRIVATE_KEY |
For push notifications |
Add a CNAME record pointing to your Render service URL, then add the custom domain in Render settings.
git clone https://github.com/chucksupport/BabyJourney.git
cd BabyJourney
npm install
npm run devNo env vars needed locally — uses a local SQLite file and disk uploads by default.
- Updates with multiple photos
- Vitals tracking with charts
- Milestone tracking (pre-loaded NICU milestones)
- Push notifications
- PWA (installable, works offline)
- Themeable (6 color themes, light/dark)
- 1GB storage limit per instance (configurable)
- JSON backup/export
Made with love by Chuck.Support