jwinterm 7400fa30e4 feat(web): consume the brand pack instead of retyping it
The site had been copying brand facts out of a generator that could emit them.
The four glyph hexes were hand-typed into globals.css in both themes, and the
splash duration sat in a TypeScript constant under a comment asking the next
person to keep two repositories in agreement by reading pack.json. That comment
was doing the job a build should do.

styles/brand.css is now the generated projection, committed here because this
repository cannot run the generator, and imported ahead of Tailwind. The four
gradients read var(--sg-glyph-*); there are zero hardcoded glyph hexes left in
globals.css. hero-splash reads --sg-dur-splash rather than declaring 1337, and
the literal that remains is a fallback for a missing stylesheet, announced in
the console, not a second copy of the value.

The file is held to the pack by lane 3 of check_consumer_projections in
such-graphics, default closed behind SG_CONSUMER_ROOT_SUCH_SOFTWARE_SITE. Do not
hand-edit it: regenerate with `such-graphics project-brand` and copy the result.

Verified in the built stylesheet rather than assumed: 84 --sg-* definitions land,
--sg-dur-splash:1337ms among them, and .hero-title compiles to the var() form.
2026-09-06 01:02:57 -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%