📸 Haramaya Lens — From “Can I book?” to “You’re booked.”
I built Haramaya Lens, a booking system for a fictional photography and videography studio in Haramaya, Ethiopia, as part of the Lovable Challenge.
🔴 The Problem
For a busy solo photographer, booking customers can take a lot of time.
Customers often ask:
“Are you available?”
“What time can I come?”
“Can I change my appointment?”
“Did you confirm my booking?”
The owner may have to manually:
• Check availability
• Reply to messages
• Find a suitable time
• Confirm the appointment
• Update the calendar
• Send reminders
• Handle rescheduling and cancellations
• Follow up with customers who did not complete their booking
This creates back-and-forth communication, missed opportunities, scheduling conflicts, and unnecessary owner workload.
🟢 The Solution
Haramaya Lens turns the booking conversation into a simple self-service experience.
A customer can:
📸 Choose a service
📅 Select a date
⏰ See available time slots
📝 Enter their information
✅ Confirm the appointment
🎟️ Receive a booking reference
🔄 Reschedule or cancel when needed
At the same time, the owner gets:
📊 A clear dashboard
📆 Automatic booking/calendar updates
⏰ Availability management
🔔 Reminder tracking
🔄 Rescheduling management
📋 Customer and booking information
💬 Follow-up management
🚀 Key Advantages
1. Saves owner time
Less manual messaging and fewer repetitive questions.
2. Reduces double bookings
The system checks availability and prevents conflicting appointments.
3. Makes booking easier for customers
Customers can book without waiting for the owner to reply.
4. Reduces missed appointments
Reminder workflows help customers remember their bookings.
5. Makes rescheduling easier
Customers can manage changes without unnecessary back-and-forth.
6. Gives the owner a clear overview
Upcoming appointments, customers, availability, and follow-ups are organized in one place.
7. Works across devices
The experience is designed for desktop, tablet, and mobile users.
Half Light: book a photographer by the sunset, not by DM
Solo photographers lose hours to the same nine messages. Price? Is Saturday free? What should we wear? Can the corgi come? Bank details? Half Light is a concept booking site and studio desk for Mira Lin, a portrait, family and couples photographer in Da'an, Taipei. It turns that thread into about sixty seconds.
What it does
Every date shows Taipei's real sunset, the golden-hour window around it, and the rain risk. You pick the light first, then the time.
Four steps: pick your light, hold the slot for 10 minutes, pay a 30% deposit, done. The whole DM thread becomes one short form.
Fixed, public prices: Portrait NT$6,800, Family NT$9,800, Couples golden hour NT$8,800, Weekday morning mini NT$2,800.
When the forecast passes 60% rain, outdoor sessions get flagged and each client is offered three dry golden-hour slots automatically.
A 13-photo gallery with filters, where each photo expands out of its own grid cell.
The studio side
Click Studio in the top bar (or "Studio dashboard" in the footer) to open Mira's desk. Username: admin · Password: admin
Today: the day's sessions, tonight's sunset, the next golden hour, and running totals such as DM threads avoided and deposits collected.
Bookings: every held, confirmed and rescheduled session in one list, with its deposit status.
Calendar: seven days laid over the golden-hour band, so open and held slots sit where the light is.
Automations: press "Simulate rain on Saturday" and watch the forecast flip. The outdoor sessions get flagged, each client is offered three dry golden-hour slots, and it all lands in the live feed without Mira touching her phone.
Settings: three switches (reminders, rain auto-reschedule, waitlist auto-fill) and three thresholds (rain at 60%, deposit at 30%, a 10-minute hold).
The design thinking
I started from the DM thread, not from a page layout. Every section answers one of those nine messages before anyone has to send it. The price is on the session card, every date comes with its sunset, and the dog question is a toggle in the booking form.
Light is the product, so the calendar is built around golden hour instead of office hours. Rain is part of the booking from the start, so a bad forecast becomes three new options instead of an apology.
One warm palette, one serif voice and a single orange accent keep the photos the loudest thing on the page. Motion is only used to confirm that something happened: a slot being held, a photo opening from the spot you tapped, and a camera viewfinder you hold to book. Then I tested every flow and fixed what broke.
Explaining the work will be post below this post
Try it
https://perfect-snapshot-gen.lovable.app Pick a sunset, open the gallery, hold the "Can I book?" button at the bottom, then open Studio and make it rain.
All 200 credits are burned out 😆.