E-FACTS — E-receipt management companyE-FACTS — E-receipt management company
Engineering

Frontend (web) guidelines

Next.js, Fumadocs, and marketing site conventions

Frontend (web) guidelines

Applies to efacts-dev (this site) and, where analogous, efacts-website.

Defaults

PreferAvoid
Server ComponentsClient waterfalls for first paint
Fumadocs layouts / MDXOne-off docs chrome
Design.md tokens in CSSAd-hoc purple gradients on dense UI
next/image + brand SVGsJagged unprocessed PNGs when SVG exists
CSS / SMIL motionHeavy continuous JS animation

Docs site specifics

  • Content: content/docs/** + meta.json sidebars
  • Brand chrome: BrandLogoorange in light, white in dark (public/brand/)
  • Collapsed sidebar: CollapsedSidebarMark → S mark
  • Theme: next-themes via Fumadocs RootProvider
  • Performance rule: .cursor/rules/performance.mdc

Homepage hero

Decorative receipt path (EFactsHero) stays behind content (z-0, pointer-events-none), framed to empty margins with a content-safe CSS mask. Copy must remain readable in light and dark.

Checklist before merging UI

  • Light + dark both readable
  • Touch targets ≥ 44px where interactive
  • No secrets in client bundles
  • npm run build passes
  • Motion honors prefers-reduced-motion

On this page