Week 3: Design, Documentation, and Repository Setup
Week 3 was about laying the groundwork for the rest of the project: UI/UX direction, system documentation, and the initial development environment.
UI/UX Direction
We decided to ship dark theme as the default rather than building light-first and bolting dark on later. Given our target audience (surveillance teams, intelligence analysts, gaming communities) a dark interface isn’t just an aesthetic preference, it’s the expected baseline. Starting there keeps us from accumulating design debt we’d have to pay off in Month 3 or 4. We’re running with deep backgrounds and blue-purple accents, which also gives us a natural visual language for the NER underlines.
System Design Document
The system design document came in at 30 pages. That sounds heavy, but most of it is intentional groundwork. Zac and I spent time establishing a shared vocabulary, definitions for terms like entity, relationship, resolution, and tenant, so we’re not having ambiguous conversations later when the codebase gets complex. The rest covers the full backend, NER microservice, and frontend stack breakdowns, along with milestones mapped across the four-and-a-half-month window. Having this in writing also gives us something concrete to hand off to the rest of the team when they join.
Repository and Development Environment
The GitHub repository is initialized with the full monorepo structure. The priority for the dev environment was automation: a Makefile that wraps Docker Compose commands so no developer needs to memorize container syntax, a devcontainer configuration so VS Code spins up an identical environment for every team member regardless of OS, and a CI/CD pipeline through GitHub Actions that runs tests on every push and deploys to staging automatically on merge. Production deploys require a manual approval gate to keep the stable build protected.
Deployment targets our AWS environment. With initial credits and six months of free-tier access, we have room to keep infrastructure costs near zero while the core application work takes priority.
Next week: Month 1 comes to a close. Backend endpoints, database schema, and getting the first version of the NER pipeline talking to FastAPI.