📸 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.
An infrastructure intelligence platform built on 8,600 verified Bangladeshi network cell towers to locate emergency callers without GPS, identify shared tower opportunities, analyze highway connectivity, and run in-browser diagnostics.
Project Overview:
The most precious thing we own is our life. While many developed countries have put their name in the absolute pinnacle of tech industry. Developing and under Developing countries suffer a massive issue due to lack in advancements in tech. People, women, kids suffer from natural disasters and Monsoon floods regularly isolate families in districts in Bangladesh such as Sylhet, Sunamganj, and Feni. Most residents in affected rural areas rely on basic feature phones rather than smartphones with active GPS or mobile data. When calling emergency lines, they cannot share a digital map pin. However, their phone diagnostic screen displays their serving base station codes: the Location Area Code and Cell Identifier.
At the same time, mobile network operators frequently duplicate infrastructure by erecting towers within walking distance of each other, incurring redundant land leases and diesel generator costs. Freight and cold-chain logistics fleets also face coverage dropouts along major trade routes because dispatchers lack route-specific carrier performance data.
KUTNI MCC470 addresses these operational problems using a verified dataset of 8,600 physical cell towers across Bangladesh (MCC 470). It does not use simulated points, mock coordinates, or placeholder records. Every calculation runs on confirmed base stations belonging to Grameenphone, Robi, Banglalink, and TeleTalk.
It's not just a sci-fi concept, this platform not only helps in saving someone's life, but also plays a crucial role in Startups. (From a person getting saved from a life threatening disaster to a Real Estate company using this feature to give their customer's a bit of unique service by telling them which SIM cards to avoid or use for that specific home, ultimately earn some money-money in their wallets).
Core Platform Capabilities:
1. Interactive 3D Globe Network Map
It renders all 8,600 verified network cell towers present in Bangladesh on a 3D spherical Earth using MapLibre GL. Includes three conjoined map controls:
1. Real-life Satellite: Toggle photorealistic ArcGIS world imagery tiles.
2. 2D to 3D Globe: Toggle spherical Earth projection.
3. Reload and Reset: Recenter camera directly over Bangladesh.
It provides real-time filtering by operator (Grameenphone, Robi, Banglalink, TeleTalk) and radio generation (4G LTE, 3G UMTS, 2G GSM).
2. Emergency Phone Triangulation
If an emergency caller uses a basic phone during a flood, a rescue volunteer can ask for the tower numbers displayed on their screen (Location Area Code and Cell ID). It matches those codes to the physical mast location and renders an approximate search perimeter and then calculates the three nearest backup towers from alternative carriers within 10 kilometers using the Haversine formula. Ultimately generating a bilingual field dispatch sheet in English and Bengali with compass bearings for boat crews.
3. Tower Sharing and Co-Location Optimizer
By constructing a cell mast requires significant capital, recurring land rent, and diesel generator fuel. It evaluates distances across all 8,600 towers in real time. Later identifies over 1,000 locations where competing carriers built standalone towers within 250 meters of one another and finally computes annual operational savings in Bangladeshi Taka achieved by consolidating onto a shared structure.
4. Highway Transport Corridors
Freight trucks, delivery vans, and emergency vehicles require continuous network reception along trade routes. Kutni inspects a whole bunch of cell tower distribution along primary national arteries: N1 (Dhaka to Chittagong), N2 (Dhaka to Sylhet), N5 (Dhaka to Bogra), and N8 (Dhaka to Khulna via the Padma Bridge). Furthermore it compares 4G LTE high-speed coverage against 2G GSM voice fallback. Finishing off by formulating primary and failover Dual-SIM hardware configurations for vehicle telematics units.
5. Genuine x86 Virtual Machine Sandbox
Kutni integrates a client-side WebAssembly x86 PC emulator running directly in the browser (meaning real life Operating Systems). It boots graphical KolibriOS or lightweight Linux BusyBox for offline diagnostic calculations and field scripts without server dependence.
6. Systems Architecture Dossier and Plain English Guide
Kutni outlines technical specifications, dataset schemas, and architectural credentials. It furthermore provides a step-by-step interactive walkthrough that explains every operational tool clearly.
Design System and Interface:
1. Color Scheme: Deep obsidian foundation (#070c0e), mint phosphor accents (#00d2be), imperial gold highlights (#d4af37), and telecom cyan (#00A8E8).
2. Tactile Surfaces: Glass-morphic panels with metallic borders, high-contrast status readouts, and responsive mobile and desktop viewports.
3. Audio Feedback: Mechanical clicks and tones synthesized using the Web Audio API for tactile operational confirmation.
For those interested in reviewing the project documentation and underlying calculations, the complete repository is available by clicking here.
This folder includes the verified 8600 network tower lists (CSV), the project pipelines/flowcharts, and a detailed PDF containing all mathematical formulas and equations used.
1 designer + base44 + 3 days without proper sleep = Overdrive🤍
A job tracking system for a car repair shop.
✱ One board showing every car on the floor, where each one stands and what’s holding it up.
Add a car, assign the work, and from there it tracks itself- what’s late, which parts have landed, who’s in today. Visit history, receipts, and a widget that tells you the next free slot you can offer someone.
Three days. Not smooth ones. But it’s live❗️
✱ Now the why, because none of those features were my idea.
My client owns the shop. Four mechanics, up to seven cars a day, no front desk. For months he’d complain about the same stuff whenever we talked: parts he ordered and forgot about, mechanics starting one car and getting pulled onto another, people asking when they can bring a car in and him not knowing what to say.
It was never a brief, of course, he was just talking. But one day I asked him properly: what do you need to see the moment you walk in?
✱ He said four things. And those four made sense as widgets, naturally.
Nothing on the job board gets typed in by a person. For example, a car shows as blocked because the mechanic who has it is off today- the board works that out and writes the reason on the card. He doesn’t walk around the shop asking anyone, he can just see it now.
✱ And the part nobody puts in these posts😅
→ It is my first time ever (!) using Base44 and I started without a paid plan, so I had a hard limit on how many prompts I got.
You can’t iterate your way to something like that. Every prompt had to arrive already correct, which meant almost all of the work happened before I typed anything. I designed every screen and every state in Figma first, then worked out exactly what to ask for and in what order.
I spent hours with Claude and Google figuring out how to phrase things, what would break, what to check before changing anything. I’d write a prompt and then throw it away and write a better one, because a wasted prompt cost more than the time did 🤷🏻♀️
Honestly, the constraint made it better. No aimless tinkering. Every change had a reason before it was made, and I still got every core feature I wanted in there.