Case study
JoinBeUs.
An audio-first language-learning platform, built across a Flutter mobile app, a Next.js admin system and a FastAPI backend — across two contracts and five months, both closed at 5.0.
- Engagement
- Two fixed-price contracts, Jan – Jun 2026
- Our role
- Product engineering: architecture, mobile, backend, admin and QA
- Platforms
- iOS, Android, web admin
- Outcome
- 5.0 on both contracts, relationship extended
The problem
The client had a language-learning product that needed to work as an audio-first experience on mobile, and an operations team that needed to run it without a developer in the loop. That second half is where this kind of project usually stalls: the app ships, and then every content change, every role change and every subscription question comes back to engineering.
What we built
A Flutter application for iOS and Android on Clean Architecture with Bloc, backed by a FastAPI service. Then the part that made it operable: a Next.js admin spanning 70+ role-based pages with an 11-role access-control model, two-factor authentication, and Stripe subscription billing wired end to end.
The AI work was speech scoring — evaluating a learner’s spoken response and returning a usable score rather than a raw model output. That meant setting a confidence threshold, deciding what happens below it, and making the failure mode quiet rather than wrong.
How we delivered it
We ran it as two fixed-price phases on Upwork. Phase one fixed the architecture and data model up front, then shipped the learner app and API in weekly builds the client could test on their own phones. Phase two took the admin system from a backlog of operational requests to 70+ pages, with every role tested against the access model before release.
The result
The first contract delivered the platform. The client came back for a second to build out the admin area, which is the honest measure of how the first went. Both closed at 5.0, and the client endorsed the work for solution orientation, clear communication and accountability for outcomes.
“As we come to the end of this contract, I want to take a moment to thank you for the work you’ve done on JBU…”
Stack
Flutter · Dart · Bloc · Clean Architecture · FastAPI · Python · PostgreSQL · Next.js · Stripe · 2FA · AI speech scoring
Building a platform with a mobile app and an admin your team can run? See our SaaS product development and cross-platform app development.