Employment case management for the people who help people find work.
🌐 Live at rootsx.org
📖 Public showcase. The application source is private — this repo describes what RootsX is and how it's engineered.
RootsX is an employment case management platform built for a Canadian not-for-profit in Saskatchewan. It gives caseworkers one place to track a client's entire employment journey — from intake to outcome — and to produce the reporting that funded programs depend on.
The work that used to live in spreadsheets, email threads, and paper files becomes a structured, auditable, secure record.
- Intake & participant records — structured onboarding and a single source of truth per client
- Case notes — timestamped, searchable interaction history
- Action plans — goal tracking against each participant's employment objectives
- Documents — secure per-participant document handling
- AI-assisted workflows — drafting and summarization help for caseworkers
- Outcome reporting — the metrics programs and funders need, on demand
- Admin & roles — least-privilege access for staff
flowchart TD
U[Caseworkers] --> N[Next.js App Router · TypeScript]
N --> DB[(PostgreSQL)]
subgraph AWS [AWS]
ECS[ECS Fargate] --- DB
end
N -.runs on.-> ECS
CDK[AWS CDK<br/>infrastructure as code] -.provisions.-> AWS
GH[GitHub Actions<br/>OIDC federation] -.deploys.-> AWS
develop→ dev environment (dev.rootsx.org), automatic deploymain→ production (app.rootsx.org), manual approval gate + post-deploy health check- CI/CD authenticates to AWS via OIDC federation — no stored cloud credentials
- Encrypted at rest; JWT authentication
- OIDC deploys (no long-lived AWS keys in CI)
- Separate AWS accounts per environment; production deploys gated on manual approval
- Infrastructure defined in code (CDK) and reviewed like application changes
TypeScript · Next.js (App Router) · PostgreSQL · AWS ECS Fargate · AWS CDK · GitHub Actions (OIDC) · Docker
Built by John Fodchuk.