MimiBee
A nanny with a teaching background who looks after children from birth to 12 and helps parents-to-be choose baby gear. She swapped her old website for a new one where parents book a slot directly, plus an admin where she handles bookings, photos, copy and e‑mail in one place.
- Year
- 2026
- Role
- Design, development, deployment
- Type
- Website with an admin
- Status
- Live

What I did
Bookings
Parents pick a service and a time on the website. They get an e‑mail right away saying the booking arrived, and she gets a notification.
An admin in the site's style
Bookings, availability, reviews waiting for approval, the photo gallery, prices and the website's copy. All editable without a developer.
iPhone calendar
Bookings show up in the calendar on her phone. And the other way round: whatever is in her iCloud calendar, the website won't offer as a free slot.
E‑mail from the admin
An inbox right in the admin, replies in the thread and templates to confirm or cancel a booking. A bulk message lets parents know about a holiday, for example.
An app on the home screen
The admin installs on a phone as an app and sends a notification about a new booking or review. A badge on the icon shows what is waiting.
Reviews from parents
Parents write a review right on the website. It appears only after it is approved in the admin.
Technology
- Website
- Astro 7
- TypeScript
- CSS
- Data
- Postgres (Neon)
- Drizzle ORM
- Integrations
- iCalendar
- IMAP and SMTP
- Web Push
- Hosting
- Vercel
- sharp
Under the hood
Holidays announce themselves
For an all-day block she just ticks that it is a holiday. A bar at the top of the website appears a week ahead on its own and disappears once she is back.
Photos in the database
Photos are resized in the browser before upload and stored in Postgres. The website serves them through a CDN, so no other storage is needed.
Personal data deletes itself
Bookings are deleted 3 years after the date, cancelled ones after a year. The periods match the privacy policy on the website.
Development without production data
Locally, Postgres runs right inside Node.js (PGlite). The website starts with no connection to live data and without a single password.
Want something similar?
Send me a few lines about what you need. I’ll get back to you and we’ll agree on next steps.
Get in touch