Hsuwai
Projects
Featured case studyJun 18, 2026

OB - 2D Draw Operations Platform

A production-style TypeScript platform with a player app, admin console, Hono API, Drizzle/Postgres database, wallet workflows, settlement, audit logs, realtime updates, and deployment runbooks.

TypeScriptBunReactViteTanStack RouterTanStack QueryHonoDrizzle ORMPostgreSQLBetter AuthUploadThingCloudflare

Player app

User flows

Admin console

Operations

API server

Domain logic

PostgreSQL

Ledger state

Release signalshipped

What this demonstrates

Separate public, player, admin, and API concerns
Database-backed operational workflows
Auth boundaries, audit trails, and deployment planning
OB - 2D Draw Operations Platform

OB is a production-style full-stack TypeScript platform for managing 2D draw operations. It includes a player-facing app, an admin console, and an API server inside one monorepo, with wallet workflows, draw lifecycle management, settlement, audit logs, realtime refresh, and deployment runbooks.

Why I Built It

I built OB to practice the kind of complexity that appears in real operational software: multiple user surfaces, controlled admin workflows, data integrity, realtime updates, and release operations.

The project goes beyond a basic CRUD app. It has separate apps for player and admin experiences, an API server split into domain modules, and operational scripts for readiness checks, backups, smoke tests, and load tests.

Architecture

OB/
  console/  Admin console
  player/   Player app
  server/   Hono API server
  shared/   Shared TypeScript code

The backend is organized around domain modules such as wallet, wallet request, draw, bet, settlement, report, audit, realtime, and support chat. Business logic lives in service files, while routes handle HTTP boundaries and validation.

Highlights

Core Workflows

The admin console supports users, draws, bets, wallets, ledger review, reports, risk review, audit logs, and support chat.

The player app supports signup, login, email verification, home dashboard, draw results, bet slip, wallet requests, profile, and support.

The API server handles app-scoped auth routes, role-based admin access, wallet and ledger workflows, settlement, audit logging, idempotency, realtime events, health checks, and operational scripts.

Data Integrity

The database schema models operational state directly. Money-like values are stored as integer minor units, odds are stored as integer multipliers, and workflows use explicit status enums. Ledger entries and wallet requests use uniqueness rules to reduce accidental duplicate operational actions.

What It Shows

OB shows my ability to design and build a product-shaped system: frontend apps, backend modules, database modeling, auth boundaries, admin workflows, deployment planning, and tests.