Inspiration
Every day, millions of Nigerians navigate the organized chaos of the informal transit sector (Danfos, Koropes, and tricycles). Despite processing billions of Naira daily, this ecosystem runs entirely on physical cash.
The inspiration for OrderWatch came from my daily commute in Lagos. I watched commuters constantly fight with conductors over exact "change," and realized that fleet owners suffer massive revenue leakage because they have to rely on the "word" of the driver regarding passenger counts. While formal, government-owned BRT buses have modern tap-and-pay systems, the remaining 80% of the population relies on the informal sector, which has been completely left behind by digital innovation. I wanted to build a decentralized, offline-first IoT bridge to bring elite FinTech infrastructure to the streets.
What it does
OrderWatch is an offline-first, tap-and-pay edge node built to digitize Africa’s informal transport sector. Instead of fighting for physical cash or waiting 30 seconds for a standard POS machine to find a network connection, a commuter simply boards a Danfo and taps their low-cost RFID card on our custom ESP32 reader. The hardware instantly authenticates the card in under 1 second, queuing the transaction locally. As the bus moves and hits stable network zones, the hardware automatically syncs with our Node.js cloud backend, which uses the Nomba API to deduct the exact fare from the commuter's digital wallet. Fleet owners get a live dashboard showing real-time passenger counts and guaranteed revenue, effectively closing the 30% daily cash leakage gap.
How we built it
OrderWatch is built on a hybrid Hardware-to-Cloud (IoT) architecture, prioritizing zero-latency edge processing.
The Hardware Edge (ESP32): I engineered custom physical edge nodes using ESP32 microcontrollers paired with MFRC522 RFID Scanners. I wrote the firmware in C++ to instantly authenticate encrypted transit cards.
The Cloud Brain (Node.js/Next.js): The backend is a robust Node.js/Express server (written in TypeScript) that catches the hardware payloads. The frontend is a Next.js dashboard providing real-time fleet telemetry.
The FinTech Bridge (Nomba API): To process real money, I integrated the Nomba API. When a card is tapped, the backend queries the user's digital wallet and processes the transaction. During development, I used Ngrok tunnels to catch live webhooks from the Nomba servers directly to my localhost.
Challenges we ran into
The "Offline-First" Dilemma: Standard POS terminals take 15-30 seconds to process over USSD/mobile networks. You can't delay a bus boarding process for 30 seconds. I had to architect an Edge-Queuing System where the ESP32 authenticates the tap in under 1 second, stores the payload, and syncs to the Node.js backend dynamically when the network stabilizes.
Decoupling Hardware Identity: Initially, I hardcoded user IDs directly into the ESP32 C++ firmware. I quickly realized this wasn't scalable. I had to pivot the architecture to make the scanner "dumb" (only reading the physical factory UID of the card) and shift the "brain" to the Node.js database to dynamically map physical cards to virtual Nomba wallets.
Webhook Tunneling: Getting the live Nomba payment gateway to securely communicate with a local development server required complex port forwarding and battling local firewall rules to set up a stable Ngrok tunnel.
Accomplishments that we're proud of
The Hardware-to-Cloud FinTech Bridge: We successfully bridged low-level C++ microcontroller logic with a high-level FinTech API (Nomba). Getting a physical piece of plastic to trigger a live digital wallet deduction across the internet is a massive technical win for us.
Sub-Second "Offline-First" Boarding: We didn't just build a payment scanner; we built a transit scanner. By shifting the architecture to queue payloads locally, we ensured that boarding a bus is instant, completely bypassing the massive network delays that plague traditional payment terminals in Nigeria.
Dynamic Decoupling: We are incredibly proud of our system architecture. We successfully transitioned from a hardcoded MVP to a fully decoupled system where the bus scanner acts as a "dumb" relayer and the Render-hosted cloud database acts as the omniscient brain, allowing for infinite scalability.
What we learned
As an EEE (Electrical/Electronic Engineering) student, this project was the ultimate test of Full-Stack development bleeding into the physical world.
I learned how to write production-grade C++ for microcontrollers that can handle asynchronous HTTP requests.
I mastered FinTech API integrations, specifically how to handle live payment webhooks securely and parse JSON payloads in real-time.
Most importantly, I learned that the best code solves physical friction. Building a beautiful UI doesn't matter if the hardware fails at the bus stop. I learned how to design fault-tolerant systems built for the rugged realities of emerging markets.
What's next for OrderWatch
The Custom PCB Rollout: We are actively transitioning from our current breadboard and jumper-wire prototypes to designing and mass-manufacturing ruggedized Custom PCBs that can withstand the vibrations and heat of a real Lagos commercial bus.
The "Zero-Cost" Live Pilot: We are currently applying for startup grants (like Founders Lab) to fund our first physical pilot. We plan to deploy our edge nodes into 10 active buses completely free of charge, monetizing strictly through our 1.5% micro-fee architecture to prove our hyper-growth market penetration strategy.
Government Tax API Integration: Our next software sprint involves opening a dedicated webhook pipeline for State Governments, allowing them to automatically route and collect their 5% transport tax the exact second a commuter taps their card.
Built With
- c++
- esp32
- express.js
- next.js
- node.js
- platform.io
- react
- react-native
- render
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.