An open API service indexing awesome lists of open source software.

https://github.com/liaugust/gov4you

GOV4YOU — landing site for Ukraine's national programme connecting young talent with the public sector. Strict Next.js 16 + React 19 on the Diia state-minimalism design system.
https://github.com/liaugust/gov4you

accessibility design-system diia landing-page nextjs react tailwindcss typescript ukraine vercel

Last synced: 5 days ago
JSON representation

GOV4YOU — landing site for Ukraine's national programme connecting young talent with the public sector. Strict Next.js 16 + React 19 on the Diia state-minimalism design system.

Awesome Lists containing this project

README

          

GOV4YOU

#### Держава починається з тебе

**GOV4YOU** is the landing site for a national programme that connects Ukraine's
young talent with the public sector — careers, mentorship, education and a
community of people who want to build the state from the inside.

[**🔗 Live demo — gov4you.vercel.app**](https://gov4you.vercel.app)

[![CI](https://github.com/liaugust/gov4you/actions/workflows/deploy.yml/badge.svg)](https://github.com/liaugust/gov4you/actions/workflows/deploy.yml)
![Next.js 16](https://img.shields.io/badge/Next.js-16-0a0a0a?style=flat-square&logo=nextdotjs)
![React 19](https://img.shields.io/badge/React-19-0a0a0a?style=flat-square&logo=react)
![TypeScript 6](https://img.shields.io/badge/TypeScript-6-0a0a0a?style=flat-square&logo=typescript)
![Tailwind 4](https://img.shields.io/badge/Tailwind-4-0a0a0a?style=flat-square&logo=tailwindcss)

---

## About

A single-page site built on the **Diia "state minimalism"** design system —
strict monochrome grayscale, the national **e-Ukraine** typeface, fully-rounded
pill controls, soft 16px surfaces, and flat depth via backdrop blur. Colour is
reserved exclusively for danger states.

The whole thing is engineered against an uncompromising quality bar: maximally
strict ESLint + TypeScript, an enforced one-entity-per-file structure, React
Compiler (no manual memoization), zero code duplication, and SEO / semantics /
accessibility treated as first-class requirements.

## Features

- 🎨 **Theming** — light / dark plus a high-contrast accessibility mode, applied
before first paint (no flash, no hydration flicker) and persisted.
- ♿ **Accessibility** — text-size stepper, focus-trapped menu/dialogs, skip
link, full ARIA landmarks, visible focus rings, and `prefers-reduced-motion`
honoured everywhere (scroll-reveal, count-ups, the menu animation).
- 🔎 **SEO** — `lang="uk"`, complete metadata (OpenGraph / Twitter / canonical),
per-theme `theme-color`, and JSON-LD (Organization · WebSite · Programme).
- ⚡ **Performance** — statically prerendered, `next/image` with a priority LCP
hero, and React Compiler optimization.

## Tech stack

| Concern | Choice |
| --- | --- |
| Framework | Next.js 16 (App Router, React Compiler) |
| UI | React 19 |
| Language | TypeScript 6 (super-strict) |
| Styling | Tailwind CSS v4 (CSS-first) + design tokens |
| Type | e-Ukraine (vendored via `next/font/local`) |
| Tooling | ESLint 9 · Knip · jscpd · commitlint · husky · lint-staged |
| Package manager | pnpm |
| Hosting | Vercel |

## Project structure

Strict, one level deep — every shared entity lives in its own kebab-case file
in a dedicated top-level directory, enforced by `eslint-plugin-project-structure`:

```
component//.tsx interface/.interface.ts util/.util.ts
provider//.tsx type/.type.ts const/.const.ts
hook//.ts context/.context.ts app/ public/
```

The full set of conventions (commit format, lint rules, the memoization ban,
etc.) lives in **[AGENTS.md](./AGENTS.md)**.

## Getting started

```bash
pnpm install
pnpm dev # http://localhost:3000
```

## Scripts

| Script | Purpose |
| --- | --- |
| `pnpm dev` | Development server |
| `pnpm build` | Production build |
| `pnpm lint` | ESLint (`--max-warnings 0`) |
| `pnpm typecheck` | `tsc --noEmit` |
| `pnpm knip` | Dead-code / unused-dependency check |
| `pnpm jscpd` | Copy-paste detection (zero tolerance) |
| `pnpm verify` | **The gate:** typecheck → lint → knip → jscpd → build |

## Deployment & CI

Hosted on **Vercel** via its native Git integration — every pull request gets an
automatic **preview deployment** (Vercel comments the URL) and **`main` deploys
to production**, with no secrets required. GitHub Actions
(`.github/workflows/deploy.yml`) runs the `pnpm verify` gate on every push and
pull request as a status check.

## Design & credits

- Design system reverse-engineered from the **Ministry of Digital Transformation
of Ukraine** ([thedigital.gov.ua](https://thedigital.gov.ua)) — the team behind **Diia**.
- **e-Ukraine** typeface — free for commercial and personal use
([brandbook.diia.gov.ua](https://brandbook.diia.gov.ua)).

---

© 2026 GOV4YOU