Skip to main content

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.

01

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.

02

Engineering challenge

  1. 01

    Reproduce the product's behavior from an existing native app, screen by screen, while building an independent backend and data model.

  2. 02

    Support real-time interaction between many users — live updates and presence — consistently across devices and open browser tabs.

  3. 03

    Deliver phone, tablet and desktop layouts in three languages, including right-to-left, with light and dark themes.

  4. 04

    Give staff dependable tools for account management and for handling user reports.

03

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.

04

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
05

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.

Technology
  • React
  • TypeScript
  • Node.js
  • Fastify
  • MySQL
  • Redis
  • Socket.IO
  • Docker
  • nginx
06

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.