Grant Management Platform
End-to-end grant system for a government agency.
- Role
- UI/UX design · Full stack
- Year
- 2025 — 2026
- Platform
- Web app · Public portal · Staff console
- Stack
- Laravel 12 · Vue 3 · TypeScript · MariaDB · Docker

Overview
The problem
The agency ran grants through forms, email and spreadsheets — applicants couldn't see where their application stood, and officers re-keyed the same data at every stage from screening to payment.
The idea
One system that carries an application from submission through screening, scoring, committee decision, contract, payment and project monitoring, with each role seeing only its own stage.
Built for a government agency. Shown anonymised — screens are recreated with sample data.
What I did
Design
- 01User flows for applicants (individuals and organisations), officers, directors and admins
- 02Applicant dashboard with a single 'my applications' list and a status timeline
- 03Officer workspace for screening, queries and scoring against an evaluation matrix
- 04Bahasa Malaysia UI, responsive from 375px phones to 1440px desktops
Engineering
- 01Laravel 12 REST API with Sanctum, role and permission policies on every action, and 2FA / email OTP login
- 02Configurable programmes: dynamic form builder, custom fields and required documents per scheme
- 03Workflow for queries, weighted scoring, committee meetings, contracts and phased payments, with activity logs
- 04PDF letters and Excel exports, queued jobs for submissions, payments and bulk notifications
How it works
Screens



Under the hood
Vue 3 SPA
TypeScript · Pinia · Tailwind
Laravel 12 API
Sanctum · RBAC policies · 2FA
Queue workers
Submissions · payments · notifications
Documents
PDF letters · Word templates · Excel
MariaDB + Redis
CIS-hardened · audit plugin
7
Stages from application to project monitoring
500+
Automated test files in CI
8
Roles with policy-checked access
CIS
Hardened database config for security assessment
