Case study · Client project · anonymized
Advanced Multi-User Web Application
A complete web counterpart to an established native mobile product — a multi-user platform with real-time features, its own backend and a staff console, engineered by ShamaTech from specification to release candidate.
- Type
- Multi-user web application and staff console
- Starting point
- An existing native mobile product
- Our scope
- Specification, architecture, front end, API, admin console, deployment
- Status
- Release candidate, in pilot (October 2026)
The client and the product are not named. This summary covers the engineering only; branding, industry-specific features and commercial details are deliberately left out.
Project overview
The client had an established mobile product and needed it on the web — not a simplified companion site, but the full product experience in the browser, together with the tools their staff use to run it.
ShamaTech designed and built the web application, a separate staff console and the API behind both as one system, with its own database and infrastructure rather than a dependency on the mobile app's backend.
Engineering challenge
- 01
Reproduce the product's behavior from an existing native app, screen by screen, while building an independent backend and data model.
- 02
Support real-time interaction between many users — live updates and presence — consistently across devices and open browser tabs.
- 03
Deliver phone, tablet and desktop layouts in three languages, including right-to-left, with light and dark themes.
- 04
Give staff dependable tools for account management and for handling user reports.
Technical approach
Specification before code
A written specification and a behavior-parity audit against the native app were completed before implementation, and kept current as the build progressed.
Delivery in defined increments
The system was built in self-contained increments — from data model and authentication to the staff console — each closed with its documentation and status updated.
One typed codebase
Web app, staff console and API share a TypeScript monorepo with a common package of types, so the interfaces and the server cannot silently drift apart.
Release-candidate discipline
Versions were tagged as release candidates and refined against a manual acceptance checklist alongside the automated suites.
Core capabilities
- Phone-number sign-in with one-time codes, behind a provider-independent interface
- Short-lived access tokens with rotating refresh tokens
- Server-enforced sign-out after inactivity, applied across every open tab
- Real-time messaging, live updates and presence indicators
- User profiles with media uploads and server-side image processing
- Blocking and reporting, with moderation workflows for staff
- A staff console with role-based access for account management and moderation
- An installable progressive web app (PWA) for phone, tablet and desktop
Web app
Installable PWA
Staff console
API
- Auth
- Validation
- Rate limits
Real-time gateway
- Live updates
- Presence
- Relational database
- Redis
- Object storage
Architecture considerations
Independent backend
Its own API and relational database, with no runtime dependency on the mobile product's infrastructure.
Real-time at scale
Redis backs presence, rate limiting, one-time codes and the real-time messaging layer, so live features are not tied to a single server process.
Validated boundaries
Request data is validated against schemas in the API, and media goes to S3-compatible object storage with server-side processing.
Safe configuration
The API validates its configuration at startup and refuses to run in production with unsafe settings, such as development sign-in providers or non-HTTPS addresses.
Right-to-left by construction
Layout direction is enforced by lint rules that reject direction-specific styles, rather than left to convention.
Tested and containerized
Unit, integration and end-to-end suites with visual-regression baselines in CI, deployed with Docker Compose behind nginx.
- React
- TypeScript
- Node.js
- Fastify
- MySQL
- Redis
- Socket.IO
- Docker
- nginx
Project status and verified outcomes
- Built through four release-candidate versions, with the automated test suites in place.
- In a pilot with real users as of October 2026; public launch depends on prerequisites on the client's side.
- Every screen reviewed in all three languages, in light and dark themes.
We don't publish usage, performance or business figures for this project.
Start a conversation
Have a system that off-the-shelf software can't handle?
Describe the problem. We'll reply with an engineering perspective on how it could be solved and what a sensible first step looks like.
Or write to contact@shama-tech.com