Website architecture
How uframework.com is built: rendering, content, motion and SEO.
How uframework.com is built.
Stack
- Next.js App Router with React Server Components. Pages are server-rendered or statically generated; client components are limited to interactive islands (navigation, orbs, explorers, forms).
- TypeScript throughout, with shared Zod schemas for every form.
- Three.js for the orbs, loaded with a dynamic import only where an orb exists.
- Motion for scroll-linked transformations; everything else is CSS transitions driven by one IntersectionObserver.
Directory layout
src/
app/(site)/ public routes
app/(admin)/ login and dashboard (noindex, protected)
app/api/ contact, newsletter, media, auth
components/
orbs/ AIOrb, OrbBoard, entity registry
webgl/ orb engine and shaders
sections/ page sections
motion/ reveal, split text, magnetic, cursor
content/ markdown, articles, code blocks
ui/ primitives
content/ seed entries, docs, legal
data/ services, research, work, technology
lib/ cms, auth, seo, securityContent
Structured content (services, research directions, case studies) lives in typed data files and is reviewed like code. Editorial content (research notes, insights, news, press, changelog) is published through the dashboard and read at request time with 60-second revalidation.
SEO
- Unique metadata per route through one
pageMetadata()helper: title, description, canonical, Open Graph and X cards. - JSON-LD per page type: Organization and WebSite globally; Service, Article, TechArticle, CollectionPage and BreadcrumbList where they apply.
sitemap.xmlgenerated from the same data that generates the pages, so they cannot drift apart.- An internal linking engine resolves related services, research and work from content relationships.
Performance
- Fonts via
next/font(self-hosted, no layout shift). - Hero text is server-rendered; the orb fades in after it.
- WebGL and canvas animations pause off-screen.