Work / Rateo
Rateo

The Situation
Coffee shops, bookshops and restaurants know when a customer leaves happy, but that rarely turns into a public review, and complaints often reach the owner too late to fix. The founder wanted one app the business could use at the counter to record a customer’s rating, follow up automatically, and see how reviews are trending over the year.
The Constraint
Customers would never install an app just to leave feedback, so everything on their side had to work from a single link in an email or text message. Owners are busy running a shop, so complaints couldn’t depend on someone remembering to check a dashboard. The business also had to be able to subscribe either in the app or on the web.
What we did
We built the iOS and Android app and its Firebase backend.
No app for customers: staff record the rating in the app. The server then sends the customer a link by email or SMS, and the customer finishes on a simple web page. We chose links over a customer app because nobody installs an app to rate a coffee.
Follow-up that doesn’t get forgotten: a scheduled job runs every two days and reminds the owner about every complaint still unresolved, until it is marked fixed. A single alert is easy to miss when the shop is busy.
Fast reporting: review counts are added up month by month as reviews come in, so the yearly positive and negative chart loads from twelve monthly records instead of reading every review each time.
latform choice: each business connects its own Google, Yelp and TripAdvisor pages and chooses which one to send customers to. Platforms the business hasn’t connected are switched off automatically.
Payments and growth: subscriptions work through the App Store and Google Play (RevenueCat), or on the web through Stripe checkout and a self-serve billing portal. Owners can also send promotions to their customer list and invite other businesses by email.
Admin panel: we also built a web admin panel for the Rateo team, to manage businesses, subscriptions and reviews across the platform from one place.
.png)
.png)
.png)
The trade-off
The positive and negative split is based on star ratings, not on AI analysis of what customers wrote. That keeps reports instant, free to run and easy for an owner to understand, because a two-star review is clearly negative. The cost is nuance: a three-star review praising the food but complaining about wait times counts the same as any other three-star review. Text analysis was left as a later upgrade.
Outcome
| Metric | Value | Source | Date |
|---|---|---|---|
| Review platforms supported | Google, Yelp, TripAdvisor | App source | Jul 2025 |
| Follow-up channels | Email and SMS | Backend source | Jul 2025 |
| Server functions | 11, including 2 scheduled reminder jobs | Backend source | Jul 2025 |
| Languages | 2 (English, French) | App source | Jul 2025 |
| Commits | 1,376 | Repository history | Oct 2024 to Jul 2025 |
| Businesses using Rateo | - | Client records | - |
What we would do differently
We would run both payment paths through one subscription record from the start. App store purchases go through RevenueCat and web purchases go through Stripe, so the app has to check two systems to know whether a business has paid. Connecting Stripe into RevenueCat early would have kept one answer in one place.
More work
See all work →Ready when the work has to be right the first time.
A 30-minute scoping call with a senior engineer, designer or growth lead. You will leave with a written view of scope, risks and a realistic timeline, whether or not you hire us.
12 years40+ shipped products6 industries
Karachi and Sharjah
.png)
.png)