Server-first pages with client islands only where interaction earns its keep.
shockstack v1 / convention-first monorepo
Build full-stack apps at lightning speed
Astro 5 SSR, Vue 3 islands, Tailwind 4, design tokens, Better Auth, and an optional .NET 10 backend all arrive pre-wired so the first useful commit comes fast.
- Frontend
- Astro 5 + Vue 3
- Theme engine
- 19 token palettes
- Backend lane
- .NET 10 optional
Boot Sequence
$ git clone https://github.com/codywilliamson/shockstack my-app
$ cd my-app && pnpm install
$ dotnet run --project backend/src/ShockStack.AppHost
-> postgres running on port 5432
-> api ready on https://localhost:7275
-> frontend ready on http://localhost:4321
check aspire dashboard on http://localhost:15888
% git clone https://github.com/codywilliamson/shockstack my-app
% cd my-app && pnpm install
% dotnet run --project backend/src/ShockStack.AppHost
-> postgres running on port 5432
-> api ready on https://localhost:7275
-> frontend ready on http://localhost:4321
check aspire dashboard on http://localhost:15888
PS C:\> git clone https://github.com/codywilliamson/shockstack my-app
PS C:\> cd my-app; pnpm install
PS C:\> dotnet run --project backend\src\ShockStack.AppHost
-> postgres running on port 5432
-> api ready on https://localhost:7275
-> frontend ready on http://localhost:4321
check aspire dashboard on http://localhost:15888
Full-Stack Visibility
Operate the whole stack without losing the plot.
Keep the frontend, auth, token system, docs, and backend in one operating view so the repo stays legible as pages, features, and services start to stack up.
- Live surfaces
- 6 system views
- Boot path
- frontend -> api -> infra
- Docs drift
- kept low by default
Protected routes, shared sessions, and guardrails that carry into the API lane.
Theme values stay centralized, so redesigning the app never means chasing stray hex values.
Bring the API online when you need it, without re-architecting the frontend contract.
Architecture Map
Design the system before the boilerplate starts multiplying.
Start from the system map: routes, tokens, auth, and infrastructure stay connected from the first pass, so scaling the product feels like extension instead of cleanup.
- Tokens feed the visual language before components get duplicated.
- Auth and middleware expectations are visible from the first page.
- The backend stays optional, but the integration seams are already planned.
Ship With A Plan
Present the stack like a shipping plan, not a feature pile.
Go from clone to first release on a predictable rhythm. Start with the frontend lane, fold in auth and data when they matter, and keep the path to launch obvious the whole way through.
- Window
- first useful release in days, not weeks
- Surface area
- frontend, auth, tokens, backend lanes
- Confidence
- convention-first defaults reduce rewrites
Bootstrap the repo
Clone once, install once, and the project already knows where routes, content, tokens, and infrastructure live.
Shape the product
Swap themes, design components, and define the first real pages before the stack gets in your way.
Bring in auth + data
The middleware and backend seam are already in the design, so features land without a second architecture pass.
Ship from one lane
Deploy the frontend by itself or light up the full platform when the product needs it.
Builder Workspace
Give every moving part its own surface.
Keep docs, routes, auth, tokens, and deployment in arm's reach so the repo feels practical from day one and stays easy to reason about when the product gets busier.
- Review surface
- everything visible at once
- Theme fit
- token-driven styling only
- Interaction
- Astro shell with light Vue islands
- routes and content wired
- theme tokens loaded
- auth flow documented
- deploy targets aligned
Theme tokens shape the whole interface, so swapping palettes feels like a system-level move instead of a cosmetic repaint.
One repo, one flow. Start with the frontend lane, then light up the rest when the product needs it.
Platform Status
Let the stack feel alive before anyone reads the fine print.
Track the parts that matter: theming, auth, docs, and deployment all stay visible, so the stack feels active and connected instead of frozen in a generic landing page pose.
Swap the entire site tone in one move because the design system starts at tokens, not component overrides.
Session flow, protected routes, and API handoff stay visible from the very first demo.
Ship the Astro surface now, bring up the platform lane when the product asks for it.
The docs, theme showcase, and use-case pages make the stack explain itself instead of hiding behind marketing copy.
Everything you need, nothing you don't
Batteries included where it matters. Every piece is optional, swappable, and documented.
Astro 5 SSR
Island architecture with server-side rendering. Deploy to Cloudflare Workers or Docker.
Vue 3 Islands
Interactive components hydrate on demand. Ship zero JS by default, add reactivity where needed.
Design Tokens
Style Dictionary v5 generates CSS vars, Tailwind config, TS constants, and JSON from a single source.
Better Auth
Email/password and OAuth out of the box. JWT validation shared with the .NET backend.
.NET 10 Backend
Optional clean architecture API with EF Core, Aspire orchestration, and shared auth.
Tailwind 4
Latest Tailwind with Vite plugin integration. Token-powered theme with nineteen built-in palettes.
CI/CD Pipeline
GitHub Actions with semantic-release, commitlint, and automated deployments baked in.
Docker Ready
Multi-stage Dockerfiles, compose configs, and Aspire AppHost for single-command orchestration.
The stack, visualized
A layered architecture where every piece is independently useful.
Planning Use Cases
Not sure where to start?
Tell us what you're building and we'll point you at the right setup — no guesswork, no over-building.
Question 1 of 5
What are you building?
Marketing + docs
A site whose job is content, SEO, and first impressions.
SaaS product
A marketing surface plus an authenticated app.
Internal tool
Ops, support, billing — used by your own team.
MVP / prototype
Small surface, shipping today, refactor tomorrow.
Storefront
Products, cart, checkout — conversion matters.
API / dev tool
Your product is an API, CLI, or SDK. The site sells it.
Or browse featured builds
See every use case →B2B SaaS Dashboard
Build an authenticated product UI with fast docs/marketing routes and interactive account features.
- public marketing routes stay fast
- private dashboard ships only needed JS
Include
Content + Docs Platform
Run docs, changelog, and blog content with optional light interactivity and theme controls.
- SEO-first static content
- clean writing workflow via content collections
Include
E-commerce Storefront
Ship a fast, SEO-first storefront with interactive cart/checkout and a persistent product catalog.
- category + product pages stay fast and indexable
- cart + account flows hydrate only where needed
Include
Developer experience first
Clean APIs, sensible defaults, and code that reads like documentation.
{
"color": {
"accent": {
"purple": {
"$value": "#bd93f9"
},
"pink": {
"$value": "#ff79c6"
},
"green": {
"$value": "#50fa7b"
}
}
}
} Define once — generate CSS vars, Tailwind config, TS constants
---
import BaseLayout from "../layouts/BaseLayout.astro";
import Counter from "../components/Counter.vue";
export const prerender = true;
---
<BaseLayout title="Home">
<h1 class="text-accent-purple">
Hello ShockStack
</h1>
<Counter client:visible />
</BaseLayout> Astro components with Vue islands that hydrate on demand
Quick Start
# clone and install
$ git clone https://github.com/codywilliamson/shockstack my-app
$ cd my-app && pnpm install
# build design tokens
$ pnpm tokens:build
# start full stack (postgres, api, frontend, dashboard)
$ dotnet run --project backend/src/ShockStack.AppHost
# frontend-only development
$ pnpm --filter frontend dev
# clone and install
% git clone https://github.com/codywilliamson/shockstack my-app
% cd my-app && pnpm install
# build design tokens
% pnpm tokens:build
# start full stack (postgres, api, frontend, dashboard)
% dotnet run --project backend/src/ShockStack.AppHost
# frontend-only development
% pnpm --filter frontend dev
# clone and install
PS C:\> git clone https://github.com/codywilliamson/shockstack my-app
PS C:\> cd my-app; pnpm install
# build design tokens
PS C:\> pnpm tokens:build
# start full stack (postgres, api, frontend, dashboard)
PS C:\> dotnet run --project backend\src\ShockStack.AppHost
# frontend-only development
PS C:\> pnpm --filter frontend dev
About this project
Why ShockStack?
ShockStack was born from years of building production apps and wanting a single, opinionated starting point that actually works. No starter-kit bloat, no half-baked integrations — just the patterns that have proven themselves in real projects, wired together with sensible defaults.
Built by Spectacle
ShockStack was developed by Spectacle Software for use across client projects and internal tools. It represents the distilled best practices from building modern full-stack applications for businesses of all sizes.
Ready to build something?
ShockStack gives you the architecture so you can focus on the product. Clone, customize, ship.
Need someone to build it for you?
Let Spectacle Software handle it
The one man team behind ShockStack builds custom web applications, APIs, and full-stack platforms for businesses. Same stack, same quality — tailored to your needs.
Get in Touch