Skip to main content
GOV UI Lightweight UI for government software.

GOV UI

GOV UI provides the components developers need to build clean, consistent and accessible public-sector applications — admin tools, records systems, caseworker interfaces and the forms that feed them.

Pre-release. The v0.1 component set is complete and verified, but the public API may still change. Not yet published to a package registry.

What makes it different

It works everywhere, not just in React. Most public-sector software runs on ASP.NET, Django, PHP and WordPress. Shipping working components only to React consumers hands everyone else a stylesheet with no dialog that opens — so the framework-free layer is the product, and React is one consumer of it.

Zero runtime dependencies. No headless primitive library. All interaction behavior is written and owned here, which is what lets it exist for every stack — and means nothing external stands between a reported accessibility bug and its fix.

One markup contract, mechanically enforced. Every component's markup is declared once, and every emitter is checked against it in CI. Community ports of other design systems drift because nothing verifies that a Django tag and a Razor tag helper still agree. Here, something does.

Accessibility with evidence. WCAG 2.2 AA, with a contrast gate that measures the tokens that actually ship rather than a claim in a readme.

Why not GOV.UK Design System or USWDS

Those systems are mature and well audited. Where they fit, use them.

They are built for citizen-facing transactional services: one question per page, large type, low density. That is right for someone applying for a licence once a year, and wrong for a caseworker processing four hundred records a day. Governments that adopt them for their public sites still hand-roll their internal admin interfaces.

GOV UI fills that gap, and is complementary rather than competing.

Start here