A high-performance internal communication hub built for Game Localization teams and LQA workflows.
Live Demo • Architecture Breakdown
In AAA game development, game localization requires fast-moving multi-disciplinary cooperation between the linguistic, literary, technical, and audio teams in order for a Game Project to deliver a consistent identity across the various target locales & global contexts. In the middle of those workflows are:
- The Tooling Fracture ("Alt-Tab Fatigue"): Localization teams lose hours context-switching between disconnected tools: studio chat (Slack/Discord), CAT suites (memoQ, Trados), 80,000-row master Excel spreadsheets, and Jira bug trackers.
- The Context Gap: Translators localize dialogue in isolation without knowing text-box engine boundaries, leading to catastrophic UI text clipping in length-heavy languages (e.g. German compound expansions). LQA testers flag defects with cropped screenshots lacking string keys, forcing hours of string-key archaeology.
Game strings for dialogue like
#LOC-MH-003or UI strings like$STR_ITEM_DEMONDRUGare auto-detected via regex and linked relationally in PostgreSQL. Clicking opens the Inspector drawer displaying the Japanese source text, context notes, and 1-click clipboard copy.
Sub-millisecond case-insensitive search across approved game and series terminology providing contextual Do Not Translate (DNT) flags right inside the drawer, preventing franchise naming divergence.
Paste or drop bug screenshots with QA defect tags (
[UI-OVERFLOW],[LINE-BREAK]). Staged files are claimed atomically when the message posts, with a built-in lightbox supporting multi-level zoom (1x to 2.5x).
Instant
EN <-> JAlanguage toggle with 100% compile-time dictionary parity across 228 strictly-typed keys and zero layout reflow.
CapsLoc is structured as a strict pnpm monorepo sharing compile-time TypeScript contracts across backend and frontend targets:
flowchart LR
subgraph CLIENT["Client Tier (React 19 + Vite)"]
UI["Tailwind v4 HUD"]
SocketC["Socket.io Client"]
AxiosC["Axios (JWT Refresh)"]
end
subgraph PROXY["Edge Gateway"]
Nginx["Nginx Reverse Proxy (:80)"]
end
subgraph SERVER["Application Tier (NestJS :3000)"]
REST["REST API (/api/*)"]
ChatGW["ChatGateway (Socket.io)"]
Services["Domain Services (Auth, LocStrings, Messages)"]
end
subgraph DATA["Data Tier"]
Prisma["Prisma 7 ORM"]
Postgres[("PostgreSQL 16")]
end
CLIENT --> Nginx
Nginx -->|"REST"| REST
Nginx -->|"WebSockets"| ChatGW
REST --> Services
ChatGW --> Services
Services --> Prisma --> Postgres
For complete technical specifications, see architecture.md.
CapsLoc models authentic AAA game studio workflows with strict Role-Based Access Control (RBAC) across the localization and LQA lifecycle. The Live Demo is seeded with sample localization personas (default password: Password123!):
| Studio Role | Authority & Responsibilities | Seed Persona | Domain Focus |
|---|---|---|---|
TRANSLATOR |
Drafts and revises dialogue. Proposes translations; approval mutations restricted. | Dante Sparda | Lead JA |
LQA_TESTER |
Flags text overflows, clipping, and font corruption; uploads tagged defect attachments. | Jill Valentine | German & English HUD Triage |
SOLUTIONS_DEV |
Engineers text containers and RE ENGINE boundaries; full approval authority. | Leon S. Kennedy | RE ENGINE UI Containers |
LOC_PM |
Localization Project Manager; reviews audit trails and grants final string approvals. | Ada Wong | Localization Production Lead |
AUDIO_SPECIALIST |
Manages voice-over line lengths, subtitles, and character audio cues. | Nero | Voice-Over & Lip-Sync Alignment |
GENERAL_USER |
Studio observer / read-only stakeholder (writers, directors, script coordinators). | Chun-Li | Script Coordination |
git clone https://github.com/createles/capsloc.git
cd capsloc
docker compose up --build- Web App:
http://localhost(Port 80) - Database: PostgreSQL on
localhost:5432
# 1. Install & configure
pnpm install
cp .env.example apps/server/.env
# 2. Database migration & clean seed
cd apps/server
pnpm exec prisma migrate dev
pnpm exec prisma db seed
cd ../..
# 3. Build & Run
pnpm build
pnpm dev:server # Terminal 1: Backend API (Port 3000)
pnpm dev:client # Terminal 2: Frontend SPA (Port 5173)pnpm build # Full workspace compilation
pnpm lint # Oxlint across all 100+ files
pnpm format # Prettier code formatting checkCapsLoc is an independent, non-commercial portfolio and educational project developed to demonstrate high-performance full-stack architectures and game localization tooling workflows.
- Trademarks & IP: All game titles, character names, and franchise references (Monster Hunter, Resident Evil, Pragmata, Mega Man, etc.) are registered trademarks and intellectual property of Capcom Co., Ltd.
- No Affiliation: This project is not affiliated with, endorsed by, sponsored by, or connected to Capcom Co., Ltd.
- Original Architecture: All software architecture, backend services, database schemas, and frontend interfaces are original implementations created by the author for technical demonstration and learning purposes.
Distributed under the MIT License. Copyright © 2026 Justine Castillo.

