
Carriage - Traveler Help App Delivered Over 18 Months
Land somewhere you do not speak the language and help is all around you, unreachable. Carriage makes it reachable: turn on your dots and see people nearby who share a language and are willing to help, approach one, and once they accept you can message, call or meet face to face. Built as sole developer across a React Native app and a NestJS GraphQL backend, delivered milestone by milestone from an empty navigation shell through social login, profiles, radius discovery, the approach flow and messaging. Eleven milestones were accepted across a year and a half on one continuous engagement, closing at version 1.8.0.
The Full Story
A traveler's worst moment, a stranger who can help, and a product built one accepted milestone at a time.
The moment nobody understands you
Every traveler knows the moment: a station, a pharmacy or a police desk where nobody speaks your language and you urgently need to be understood. Translation apps help with a sentence, not with a situation. What you want is a person nearby who speaks your language and is willing to help.
Carriage was built for exactly that moment, and for the many people who would gladly help a stranger if they only knew one was nearby.
Languages first, then who may find you
Every profile starts with the languages a person speaks and how well, from a few words to fluent, then their interests and a clear choice of who may see them: an age range, genders and profile types. That one setup decides who can find whom, so a traveler is matched on the language that matters and nobody is shown to people they did not choose.




Dots on the map, people willing to help
Turn your dot on and the map shows people within your radius who share a language and are available, ten miles of Los Angeles in one glance. Tap a dot to see who it is, how old they are, the languages they speak and a short bio, then approach them or move on. Nothing more is shared until the helper accepts, and then the two can message, call by audio or video, and meet in person if the situation needs it.
It feels less like a directory and more like catching the eye of the right person in a crowd.



Visible only when you choose
Being findable is a choice, not a default. A helper's dot stays off until they turn it on, filters limit who appears and how many dots show at once, and home and work can be excluded so the dot switches itself off there. For helpers that is the difference between offering a few minutes of kindness and being on call all day, and it is why people are willing to join.



From a dot to a conversation
Approaching a stranger is a small ask, and Carriage keeps it that way. Once a helper accepts, the two land in a private chat where the traveler can explain the situation in their own language and the helper can answer with directions, a name to look for or a place to wait. Every earlier conversation stays in the inbox, so the helpers a traveler has already met are one tap away the next time they land.
For the founder this is the moment the product stops being a map and becomes a relationship, which is what makes people open the app again.



When typing is too slow
Some situations cannot wait for a reply. A pharmacist is asking questions, a train is about to leave, an officer wants an answer now. From the chat header the traveler can call the helper by audio, or switch to video and point the camera at the sign, the form or the counter so the helper can read the situation and speak for them. Calls run over Twilio through the same NestJS backend as the chat, so the two talk inside the app without swapping phone numbers, and the helper decides how far the help goes.



Growth and revenue built into the product
A consumer app needs users and a way to pay for itself. Every member gets a referral code and a QR code that shares the app link, with rewards when friends join through it, so the network grows through the people already in it. Carriage Pro unlocks more dots, analytics, a Pro badge and an ad-free app after a free trial, giving the founder a revenue line from the users who get the most out of it.



Eighteen months, eleven accepted milestones
The founder needed a partner who would still be delivering a year and a half later. Carriage was built by one developer across the React Native app and the NestJS, GraphQL and MongoDB backend, in eleven milestones, each one planned in writing, handed over with screenshots and a walkthrough video, and accepted with a settlement document the client kept.


A boring foundation, on purpose
The first milestone was deliberately unglamorous: the app's navigation and structure with blank screens, no demo features. Everything after it built on that foundation instead of patching around a rushed start, and scope changes were negotiated in the open rather than absorbed silently.
For the founder it meant a product that grew for eighteen months without a rewrite, a budget that stayed visible, and a record of every decision. For travelers it meant an app that worked at the moment they needed it most.
What they said
I loved working with Monir! He is extremely flexible and listens and adjusts amazingly! I will definitely hire Monir in the future if anything comes up!
Jun 16, 2024
(5.0)Amazing , Spectacular, Honest, Forthright, Hardworking person to work with. I have loved working with him daily and will do again anytime in the future. Takes everything in stride and adamantly works with my daily changing timeline. Has unlimited potential , will be a UpWork Super Star in the future if I don't hire him first!
Apr 07, 2023
(5.0)You May Also Like
Fully Booked - All-in-One Smart Booking Solution
Fully Booked is a booking platform for UK minibus and coach hire and the job-sharing network of operators behind it. A customer describes a trip once on the customer website and receives offers from the operators who can serve it, ranked with reviews and vehicle photos, then books with a small protected deposit. An operator who cannot take a job refers the customer from the app, and earns a share when another firm in the network carries it. Around that loop sit quotations, cancellations, Get Covered, partner contacts, stored bookings, a wallet, business pages and the Prebooked widget, all on one backend and run from an admin control room.
CoverFanz - Fan Engagement and Artist Booking Platform
CoverFanz puts performers, venues and fans on one app: venues book performers on written terms, and fans find the next show on a map. A booking carries the event, the times and the fee, the performer attaches their own terms before it goes live, a confirmed event can carry a promotion, and reviews build each performer's record. The backend, the iPhone and Android app and the admin dashboard shipped inside one month in 2022, and both stores approved it on the first attempt.
SportPal - Connect and Play with Local Sports Enthusiasts
SportPal shows players the pickup games happening near them tonight and helps organisers fill their games, shipped as a full product in six weeks. Players browse as a guest, verify a phone only when they want to join, and RSVP to public games or accept invitations to private ones; organisers set who can join and how many players they need. React Native and Expo on iPhone and Android, with a NestJS, GraphQL and MongoDB backend and Twilio verification.

The blog is field notes from production: architecture decisions, AI systems that survived contact with real users, and infrastructure that pays for itself. Written from the work, not about it.


