Skip to content

Tomoda Engineering

Tomoda is a location-based social event platform. This site documents how it's built, how to run it, and how it ships to production.

How to read these docs

These docs are organized as a layered map of the platform. The Architecture section is the entry point for cross-cutting design — how authentication flows, how real-time chat is wired, how the data model is shaped, and what the bounded domains are. Read it before diving into a specific subsystem; everything else assumes you have that mental model.

The remaining sections each zoom in on one slice of the stack. Backend and Frontend cover the two services in depth — internal architecture, conventions, and how individual modules fit together. Style Guide is the visual language — colors, typography, components, brand. Infrastructure is the app's view of the deploy pipeline (local Docker stack, Cloud Build CI, secrets). Operations is the day-to-day toolkit — runbook for incidents, native (iOS + Android) workflow, testing strategy. Reference is the lookup table you reach for mid-task. DevOps is the companion site for everything cluster-side (Terraform, K8s manifests, Argo CD, Postgres operations) — same engineering team, separate repo.

  • Architecture
    Cross-cutting system design — auth, real-time, data model, decisions.
    → Architecture

  • Backend
    Go service: services, infrastructure, API, security.
    → Backend

  • Frontend
    Expo + React Native app: routing, state, components.
    → Frontend

  • Style Guide
    Visual language — colors with swatches, typography, components, brand.
    → Style Guide

  • Infrastructure
    Local stack, Cloud Build CI, deploy flow, secrets — the app's view.
    → Infrastructure

  • Operations
    Runbook, native (iOS + Android) workflow, testing strategy.
    → Operations

  • Reference
    Redis keys, env vars, scripts, glossary.
    → Reference

  • DevOps
    Cluster-side: Terraform, K8s manifests, Argo CD, Postgres ops.
    → DevOps

Contributing to docs

These docs live in the docs/ directory of the main tomoda repo. To preview locally:

task docs:install   # one-time: installs MkDocs Material into a venv
task docs           # serves at http://localhost:8000 with live reload

PRs are welcome. Keep pages focused — one concept per file, link liberally. Code references should point at real paths in the repo (e.g. backend/internal/services/chat_service.go) — the build-time hook auto-links them to GitHub. Prefer admonitions (!!! note, !!! warning, !!! tip, !!! danger) over bolded inline asides for callouts.