What's in the platform

A complete community-data platform built for Cambodian NGOs, coalitions, and donor agencies — bilingual, NCDD-validated, donor-transparent. Below: every feature you can use today, the stack underneath, how it deploys, and what it costs to run for your organisation.

12 feature pillars

Click any pillar to expand. Everything listed here is shipped, deployed at stt.sovathc.org, and used in production.

Tech stack

Modern but boring on purpose — every tool here is widely-used, well-supported, and easy to hire for.

  • React 19Components + concurrent rendering
  • TanStack RouterFile-based routing + SSR
  • TanStack StartServer functions + streaming
  • Tailwind CSS v4Design tokens + dark mode
  • Radix UI / shadcnAccessible primitives
  • RechartsCharts
  • LucideIcons
  • Vite 7Build

Repo + CI/CD

A single, scriptable deploy — no SaaS lock-in, no hidden infra. The whole pipeline lives in scripts/deploy.sh.

Source control

Conventional commits, atomic per-feature PRs, Co-Authored-By trail. main is the deploy branch.

Build

vite build (client + server bundles), tsc --noEmit gate, eslint clean. Bun in dev; Node in prod.

Deploy

Single-command deploy via bash scripts/deploy.sh — rsync of dist/ + server/ + node_modules/ + migrations/ to /var/www/stt, then pm2 restart and a curl smoke test.

Migrations

Idempotent .sql files in migrations/ — applied via psql -f on the server. Forward-only, with a relax-checks migration available for drills.

Safety

Parameterised SQL, Zod validators on every server fn, signed session cookies, Cambodia-bbox + range checks at write time.

Repo: private to STT. Fork / vendor copy can be issued under a commercial licence on request. Server: Linux VPS, stt.sovathc.org behind nginx + HTTPS, PM2-managed Node process, Postgres 17 in Docker. Deploys take ~30 seconds end-to-end.

Who it's for

Four editions tuned to where you sit on the civil-society spectrum. Click an edition to see the scope. Pricing is conversation-based — talk to us about what you need.

Standard NGO

Established orgs (10–40 staff, multi-province)

  • Mid-size team
  • Unlimited records
  • Branded /transparency subdomain
  • Donor newsletter (Resend)
  • Quarterly check-ins + roadmap input

Grassroots edition

Grassroots groups (small teams, light usage)

Civil-society friendly
  • Hosted instance
  • Core tools included
  • Footer attribution: 'Powered by STT'
  • Best-effort community support

Talk to the developer

The platform is built and maintained by Sovath C. Email, Telegram, or browse the developer site for case studies, other PLP / education projects, and engagement terms. Most enquiries get a reply within the working day.