DEV Community

Cover image for We Built a Super-App in 30 Days. Here's the Chaos Nobody Saw.
Oge Obubu
Oge Obubu

Posted on

We Built a Super-App in 30 Days. Here's the Chaos Nobody Saw.

One team. Thirty days. Nine service verticals. Fifty-plus screens. And one question that kept us up at 5 AM: "Can this actually work?"


Day 1: "It's Just a Food App… Right?"

Picture this.

It's June 1st. We're staring at a food delivery app. It works. Customers can order jollof rice from restaurants nearby. Life is good.

Then someone says the words that changed everything:

"What if users could also order from pharmacies? Supermarkets? Local markets? What if they could send parcels? Do laundry? Plan events for 500 guests?"

We laughed.

Then we opened the codebase.

And for the next 30 days, we didn't sleep.


Week 1: The Multi-Service Monster Awakens

Here's what nobody tells you about building a super-app: it's not one app. It's nine apps wearing the same jacket.

Monday — We started with pharmacy. Simple, right? Browse pharmacies. Search medications. Add to cart. Checkout.

Except "simple" turned into service-specific checkout flows, quantity-based ordering, and a whole new category discovery system pulled live from vendor inventory.

**Tuesday—Supermarket hit the codebase. Grocery products. Category tabs. Search that actually returns what you're looking for. Another service. Another checkout flow. Another 2,000 lines.

Wednesday — Local Market. Think open-air Nigerian markets — but on your phone. Vendors. Items. Real-time availability. The same pattern, but different enough to need its own identity.

Thursday — Laundry. Pickup addresses. Express service options. Insurance support. Because what's a super app without someone washing your clothes?

Friday — We stepped back and looked at the home screen. It had become a cluttered mess of cards and banners. So we rebuilt it. A clean 3-column grid. Service-specific accent colors—teal for pharmacy, blue for laundry, green for local market, and yellow for supermarket. Each section pulling its own featured vendors from the backend.

By Friday night, the app had gone from one service to five. The home screen looked like it belonged in a design portfolio, not a sprint review.

The codebase had grown by 8,020 insertions across 40 files in the first week alone.

But we weren't done. Not even close.


Week 2: The Features That Made People Say "Wait, This App Does THAT?"

The Meal Subscription Engine

Picture a busy professional in Ile-Ife. Every morning, they stare at their phones, wondering, "What am I going to eat today?"

Now imagine they could subscribe to a meal plan—breakfast, lunch, and dinner—for an entire month. Pick their vendor. Set their delivery times. Let the app handle the rest.

We built a calendar-based subscription system with a scrollable view, in-place editing of delivery times and addresses, pause and cancel functionality, auto-renewal toggles, and a real-time cost preview that updates as you configure your plan.

The calendar alone took three days. The backend integration took another two. The UX debates? Those are still ongoing.

Corporate Meal Plans (Staff Lunch)

Then the sales team dropped a bomb:

"What if companies could manage staff lunches through the app?"

Staff count. Meal budget per person. Delivery schedule across workdays. Delivery time windows.

We built a full corporate meal program—because apparently, the app that started with jollof rice is now running companies' lunch breaks.

Global Search That Actually Finds Things

You know those search bars that show you the same three results no matter what you type? Yeah, we didn't want that.

We built a unified global search with a scoring algorithm. Type "paracetamol," and it finds the pharmacy vendor, the specific medication, AND deep-links you to the right screen. Type "pizza" and you get restaurants, specific menu items, and even your past orders.

Fifty-plus screens. All searchable. All from one floating button in the tab bar.


Week 3: Gamification, Predictions, and the Spin Wheel That Broke Our Brains

The Spin Wheel

Everyone loves a good spin wheel. Ours has animated graphics with multi-rotation physics, eligibility checks, daily limits, live expiry countdowns on rewards, and a dedicated inventory screen where users track their claimed, pending, and expired rewards.

The animation alone required custom interpolation math. But when that wheel spins and the user wins? Worth every broken keyboard shortcut.

FIFA 2026 World Cup Predictions

This one was pure chaos — the good kind.

We built an in-app prediction system where customers pick match winners for the 2026 World Cup. View fixtures. Submit predictions. Track your prediction history. Climb the leaderboard.

There's a leaderboard that filters by week and month. Trophy icons. Gold badges. The works.

It turned a delivery app into a social experience. People aren't just ordering food anymore. They're arguing about whether Brazil beats Germany.


Week 4: Payments, Parcels, and the Stuff That Actually Matters

Here's the unglamorous truth: the flashiest features mean nothing if payments fail.

Seamless In-App Payments

Before this month, payments opened in an external browser. Users would get redirected, lose context, and sometimes never come back.

We moved payments into an in-app experience. Seamless. In-context. No browser switches.

But that was just the beginning:

  • Payment retry for failed orders — because networks are unreliable and users shouldn't have to start over
  • Duplicate submission protection—no more double-charging because someone tapped "Pay" twice
  • Background transaction verification — the app checks payment status even when the user isn't looking

Parcel Delivery, Done Right

Send a parcel from Ile-Ife to Abuja. Enter sender and recipient details. Pick a pickup address. Choose a drop-off. Schedule the delivery. Get a delivery code. Track the parcel in real time.

We built autocomplete for addresses using Google Places. Time pickers for scheduling. Reverse geocoding for manual address entries. A timeline tracker that shows every step from pickup to delivery.

It's not just sending a package. It's watching it travel across the country.

Live Delivery Tracking

Speaking of maps—we went deep on Google Maps integration:

  • Real-time rider markers moving across the screen
  • Route directions with distance and ETA
  • Automatic map framing
  • Rider profile display with a call button

The delivery map is the screen users stare at the most. We made sure it's beautiful, reliable, and informative.


The Invisible Architecture Nobody Talks About

Guest-to-Authenticated Cart Merging

A user opens the app without logging in. Browses pharmacies. Adds paracetamol to their cart. Then signs in.

The paracetamol is still there. Seamlessly merged. No data loss. No duplicate cart entries.

Behind the scenes, a guest token system ensures every item makes the transition from anonymous browsing to a full account.

Network Resilience

Every API call has automatic retries with exponential backoff. The app doesn't crash when the network flickers. It waits, retries, and recovers.

Because in Nigeria, a network isn't a guarantee. We built for that reality.


The Numbers

Let's talk scale:

Metric Count
Service Verticals 9
Screens 50+
Lines Inserted (This Month) 8,020+
Files Modified 40+
Gamification Features 3

What's Next?

We're not slowing down.

The "Coming Soon" slide in the onboarding screen isn't decoration—it's a promise. More services. More features. More reasons to open the app instead of downloading another one.

Because the goal was never to build a food delivery app.

The goal was to build the last app you'll ever need for daily services.

And in 30 days, we got very, very close.


Foodmartex is available on Android. iOS is coming soon.

Built with React Native, Redux Toolkit, and an unreasonable amount of determination.

Top comments (1)

Collapse
 
unitbuilds profile image
UnitBuilds

In Namibia, there's actually a really good local 'super-app' called Buddy. By Buddy Industries. I'd recommend having a look at them for a good idea of what matters to people. Eg. Holiday packages, flyers for local supermarkets' specials, in-app reward points, daily specials and app-only discounts. All of these things are what get people onto the app, because they install it once, for a purpose. Then they see what else it can do and they use it for that. But dont make the mistake they did... They charge more than other more niche vendors, eg. Dial-a-meal. That being said, 24/7 support and service is what keeps clients locked in and they nailed that.

That being said, Nigeria is bigger than Namibia and if you want any kind of scalability, the platform foundations have to be built for scale. Ideally, you should be using Go, so you can get higher concurrency. Use that JabuDemo app of mine as a solid example of what an outbox system should function like, it'll be what keeps customers happy, because nothing gets an app uninstalled as fast as errors... Also, make sure your entire image catalogue is webP, no PNG, no JPEG. You want edge devices to load fast, show images before people change their minds. WebP is fast and efficient and the standard you should rely on. If you have client-side configurability (honestly, what you'll need for scale, you cant possibly keep up with all the companies that want to be listed, if you create an efficient ingest portal, allowing them to upload an excel sheet with their items + pricing and images that automatically get converted to webP, you'll be able to handle scale in your sleep, because companies can get themselves added, you just confirm their application and catalogue if it's set up properly.