Role-based government backend platform — cover artwork
Case Study·Public Service·Enterprise System

Role-based backend for 600+ government staff

Backend platform for the Ministry of Finance's Uniform Invoice Lottery Redemption App—role-based access and reporting for 600+ staff, faster invoice management and fewer errors.

Timeline

Jul 2025 – Sep 2025 (3 months)

Role

Lead UX/UI Designer

Project type

Backend admin platform · Government service (MoF)

Focus

RBAC, reporting, version workflows · Ship-ready UI

Role-based government backend platform — cover artwork
TL;DR

Supporting 600+ government staff with role-based access—one reliable backend for MoF lottery operations.

Summary

600+

Role-based access control

I designed a role-based permission system that aligned responsibilities across departments. By hiding inaccessible features and limiting high-impact actions to specific roles, the platform enabled teams to work independently while preventing conflicts that could affect public-facing content.

Reporting

CSV

Self-service dashboards

I redesigned reporting into an actionable dashboard with weekly and monthly views, time-based filters, and CSV export. Staff could prepare reports independently for meetings and audits, reducing reliance on engineers and speeding up operational workflows.

System logic

Ship

UI decisions under constraints

Working closely with engineers, I designed backend flows that balanced flexibility and stability—such as version control with mandatory update settings and build-code mapping—so critical updates could be enforced quickly without risking system inconsistency.

Opportunity

After the public lottery app shipped, MoF needed a single backend for announcements, promos, push rules, reporting, and app versions—used by 600+ people who expect the same familiarity as other government systems.

Example of corresponding screens

Staff compose notification content in the backend, set publish timing, and schedule delivery in advance. End users receive push notifications, then open the in-app notification center and message details—aligned with those backend rules.

BackendAppCorresponding app UI composition: push, notification center, and message detail aligned with backend settings
Annotated diagram: backend notification rules and corresponding in-app notification surfaces
Design & engineering

How I aligned design with engineering

  1. 01

    Turning abstract permission debates into concrete scope

    The first major challenge was enabling multiple departments to collaborate within one system while respecting each other's responsibilities. That challenge became the foundation for designing role-based access control.

  2. 02

    Hide, don't disable

    For promotion pinning, non-HQ roles had high-impact controls hidden entirely rather than greyed out — cleaner for civil servants, fewer support tickets, and a single enforcement path for the backend.

  3. 03

    UI never overpromises the API

    Reporting filters, copy, and defaults were aligned with what the API could actually guarantee — so the interface never offered a data slice the service couldn't deliver.

I defined a clear set of principles for access: which roles could see which features, and how permissions should differ. If a role had no access to a feature, that feature simply did not appear in their sidebar.

Role-based access chart: main functions, sub-functions, and permissions by Center, NTA HQ, NTA branches and offices, Printing, and Tax administration
← Back to work