Skip to content
All systems
In ProgressKSDRILL-SA · Founder & Principal Engineer / EdTech

FundsLink Academy

A platform connecting students to bursaries, scholarships, and funding opportunities using intelligent matching.

  • TypeScript
  • Python
  • PLpgSQL
  • CSS
  • JavaScript
  • Shell
View the source
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.

Read the whole README on GitHub
Activity

How it's moving.

26 weeks agothis week

160 commits in the last 26 weeks · 9 in the last 4

Latest commits

  1. feat: a reviewer records what an out-of-category case was about, and it is counted (#318)
  2. feat: a student says which language to write to them in, and it is used (#316)
  3. fix(db): the least-privilege guard must see ownership, not just role flags (#314)
  4. fix: the last hardcoded business values move into the config table (#312)
  5. feat: a student can actually be funded — the authorise step and the appeal ruling (#310)
  6. fix(auth): let a first sign-in read its own MFA state, so a new reviewer can enrol (#308)
  7. feat(auth): MFA status, disable and recovery-code replacement (#306)
  8. feat: reviewers can step aside from an application they have a conflict with (#303)