FundsLink Academy
A platform connecting students to bursaries, scholarships, and funding opportunities using intelligent matching.
- TypeScript
- Python
- PLpgSQL
- CSS
- JavaScript
- Shell
- Started
- April 2026
- Last push
- 3 weeks ago
- Commits this year
- 162
From its README
FundsLink Academy
A non-profit platform that funds South African students who fall through NSFAS cracks — a student creates a profile, submits a funding application, and receives AI-matched bursaries, with a human making every funding decision.
This system handles money and the hopes of vulnerable people. It is built to industry standard under the KSDRILL constitutional framework — see CLAUDE.md for how work happens here and ARCHITECTURE.md for how it is built. Status
Stage-gated build (G0 → G6). Foundation complete through Stage 03; frontend is next.
Stack
Angular 22 (Vercel) · FastAPI (Railway) · PostgreSQL + MongoDB + ChromaDB + Redis · RS256 JWT auth. Monorepo per ADR-002, contract-first per packages/contracts/openapi.yaml. Repository structure
See ARCHITECTURE.md for the system map and docs/README.md for the full document index and precedence order. Quickstart
Common tasks
Contributing & conduct
Every task travels Issue → branch → PR → self-review → squash-merge — see CONTRIBUTING.md. All git identity is the Founder's; no AI/assistant references in any GitHub-visible text; secrets never enter files, logs, or history (S3.20 / CF-04). License
See LICENSE. © 2026 KSDRILL-SA.
How it's moving.
160 commits in the last 26 weeks · 9 in the last 4
Latest commits
- feat: a reviewer records what an out-of-category case was about, and it is counted (#318)
- feat: a student says which language to write to them in, and it is used (#316)
- fix(db): the least-privilege guard must see ownership, not just role flags (#314)
- fix: the last hardcoded business values move into the config table (#312)
- feat: a student can actually be funded — the authorise step and the appeal ruling (#310)
- fix(auth): let a first sign-in read its own MFA state, so a new reviewer can enrol (#308)
- feat(auth): MFA status, disable and recovery-code replacement (#306)
- feat: reviewers can step aside from an application they have a conflict with (#303)