2022 · Team · Archived
Ntopor
Social app with event management and voting, launched on both stores. Co-founded, led, and retired.
Mission
A social media app for events: create them, invite people, and let attendees vote. Built in Buea with a co-founder, released around September 2023, and retired in 2025.
For whom: event organisers and their crowds. Constraints: two people, a self-hosted backend, and app-store review cycles on both platforms.
Manifest
| Layer | Choice | Version | Why |
|---|---|---|---|
| services | Node/Express → NestJS | — | Fast first version, then structure once the product shape was clear. |
| data | MongoDB + Redis | — | Document-shaped events and feeds; Redis for sessions and counters. |
| app | React Native → Expo | — | Stopped native build churn from eating release cycles. |
| infra | Self-hosted VPC + GitHub Actions | — | Deploy on merge, no managed bill. |
Decisions
Node/Express with MongoDB and Redis first, NestJS later. Shipped on the fast stack, then rebuilt the backend on NestJS once the product shape was clear.
Self-hosted with GitHub Actions CI/CD. A VPC we controlled, deployed on every merge.
Bare React Native to Expo. Migrated over four months to stop losing weeks to native build churn.
Impact
- Downloads
- 500+
- Stores
- 2
500+ downloads across Google Play and the App Store. Retired in July 2025; the lessons went straight into KwikNkap and Vertex Reader.
What broke
Native builds. The app started as bare React Native, and every library bump meant hand-editing Gradle and Xcode projects that only one of us could run. Releases slipped for build reasons, not product reasons. The four-month migration to Expo fixed it, and I have not started a bare React Native project since.
Ship log
- First commit
- Released on Google Play and the App Store
- Retired