Designing for Two Completely Different Users
Applicants need clarity and guidance.
Admins need speed and control.
I separated concerns at the UI and component level, while keeping a shared architecture underneath — so the system stays maintainable without duplicating logic.
Turning a Long Form into a Usable Flow
Scholarship applications are naturally long and error-prone.
Instead of dumping everything into one page, I broke it into a multi-step flow with controlled progression, where:
- each step validates before moving forward
- data persists even if the session is interrupted
- users always know where they are in the process

Handling Real Data, Not Just Inputs
This wasn’t just “collect and submit”.
The form deals with:
- structured personal + academic data
- document uploads
- conditional inputs depending on user responses
I built reusable form patterns to handle these consistently, instead of hardcoding one-off solutions.
Admin Experience = Data Navigation, Not Pretty UI
The admin panel is where the real complexity lives.
I focused on making large datasets usable:
- filtering and scanning applications quickly
- clear status visibility
- minimizing friction when reviewing entries