jwinterm 2961a11b2a feat(web): /brand, the identity system as a page
The brand book now exists, and this is where it is read. Every value comes from
`styles/brand-guide.json`, a generated projection of the pack in such-graphics;
nothing on the page is typed by hand, and the pack's gate refuses if this copy
drifts from what the generator emits.

It shows the mark, the four-colour palette with its measured contrast per theme,
what the palette measures under each kind of colour vision with the binding pair
named, the type and motion vocabulary, the three facets with the cascade's depth
against its total length, and roughly eleven thousand characters of the reasoning
behind all of it, lifted from the pack's own decision log.

The last section is what the guide does NOT say, starting with clearspace, which
no pack key declares. A guide that fills a gap with a plausible number is worse
than one that names the gap.

It lives here rather than on a fifth site: `web_site_deploy` unconditionally runs
a build and provisions no vhost, DNS or TLS, so a standalone host is a much
larger reviewed change than a route. And it is on our own infrastructure, which
is the point of it existing at all.
2026-09-06 09:33:16 -04:00

Such Software Website

Corporate website for Such Software LLC, a full-service software provider based in Kennett Square, PA.

Lighthouse Scores

Page Performance Accessibility SEO Best Practices
Home 99% 100% 100% 77%*
Services 98% 100% 100% 100%
About 99% 100% 100% 100%

*Home page Best Practices is 77% due to Cloudflare Turnstile third-party cookies.

Tech Stack

  • Next.js 15 with App Router
  • React 18 + TypeScript 5
  • Tailwind CSS 3 + Framer Motion 11
  • Radix UI accessible primitives
  • next-themes for dark/light mode
  • Zod for validation
  • Cloudflare Turnstile for bot protection
  • Turborepo + pnpm 9

Project Structure

such-software-site/
├── apps/web/               # Next.js website
│   ├── src/app/            # Pages (home, services, about)
│   ├── src/components/     # React components
│   ├── tests/              # Playwright a11y tests
│   └── public/             # Static assets
├── packages/ui/            # Shared UI components
└── packages/config/        # Shared config

Development

pnpm install    # Install dependencies
pnpm dev        # Start dev server at localhost:3000
pnpm build      # Production build
pnpm start      # Start production server

Testing

cd apps/web
pnpm test:a11y  # Run Playwright accessibility tests
pnpm test:ui    # Run tests with interactive UI

42 accessibility tests across Chromium, Firefox, and WebKit covering WCAG 2.2 AA criteria, heading hierarchy, color contrast, and keyboard navigation.

Accessibility

  • WCAG 2.2 AA: engineered to meet, audited against (Lighthouse measured 100%)
  • Skip-to-main link, semantic HTML5, ARIA labels
  • Proper heading hierarchy, color contrast (4.5:1+)
  • prefers-reduced-motion support
  • Keyboard navigation, focus indicators
  • Structured data (JSON-LD) and canonical URLs

Environment Variables

Create apps/web/.env.local:

NEXT_PUBLIC_TURNSTILE_SITE_KEY=your_site_key
TURNSTILE_SECRET_KEY=your_secret_key

See apps/web/.env.example for template.

License

Proprietary - Such Software LLC

S
Description
company website
Readme
47 MiB
Languages
TypeScript 81%
MDX 15.3%
CSS 2.8%
JavaScript 0.9%