Colophon
Tech Stack
Static HTML. Zero bloat. Modern tooling.
Islands architecture
Every page renders to full static HTML at build time. No empty <div id="root"> shells. JavaScript only loads where interactivity actually exists, as isolated "islands" that hydrate independently.
4 of 13 components ship JavaScript. The other 9 produce zero client-side JS.
The stack
Everything that powers this site, from framework to build tool.
Framework
Astro 6
Static site generator that handles page routing, build orchestration, and the islands architecture. Compiles everything to plain HTML at build time.
UI Components
React 19
Component library used inside Astro islands. Components are authored in React/JSX but most render at build time with zero client-side JavaScript.
Language
TypeScript 5.8
Type safety across all components and pages. Strict mode enabled via Astro's built-in TypeScript configuration.
Styling
Tailwind CSS 4
Utility-first CSS framework integrated via the @tailwindcss/vite plugin. Custom theme defined with the @theme directive.
Animation
Motion
Successor to Framer Motion. Powers the hero entrance animations. Only loads on components that actually animate.
Build Tool
Vite 7
Bundled with Astro 6. Handles the dev server, hot module replacement, and production bundling. Sub-second page reloads during development.
Infrastructure
Hosting, DNS, and services. No backend server to maintain.
Render
Static site hosting with auto-deploy from main branch
Cloudflare
DNS management, skyriven.com to skyriven.ai redirect
Formspree
Contact form backend without any server-side code
Plausible
Privacy-friendly analytics, no cookies required
Crisp
Live chat widget, loaded only with user cookie consent
Design system
Typography and color palette.
Typography
Newsreader
Serif. Headlines and display text.
Inter
Sans-serif. Body copy and UI elements.
Color Palette
Navy
#0A192F
Cream
#F9F9F8
Accent palette
Emerald
Amber
Rose
Sky
Violet
Indigo
Why this stack
Every choice was deliberate. Ship less, load faster, maintain nothing.
Zero JavaScript by default
Pages are static HTML. No empty shells, no loading spinners, no hydration waterfalls. Fully crawlable by search engines and AI systems out of the box.
Islands over single-page app
JavaScript only loads where interactivity exists: the navigation menu, hero animations, expandable pricing cards, and FAQ accordion. The other 9 components are pure HTML and CSS.
No database
All content lives in the components themselves. No CMS to maintain, no database to secure, no queries to optimize. If a blog is added later, it plugs in via headless WordPress.
No backend
Form submissions route through Formspree. Analytics through Plausible. There is no server, no API, no infrastructure to keep running at 3 AM.