Every web build we deliver is designed, published and handed over in Terminal.
Start a projectNeed a person? Support replies within one business day.
SupportAn opinionated, working list of the platforms, libraries and services we reach for on client work. Picked because they ship, not because they’re new.
26 tools across six layers. Pick a layer to see what we use there, what it does, and why it earned the slot.
The frameworks we use to ship a marketing site, an app, or both, chosen for ergonomics and for how cleanly they hand back control when you need it.
Astro
Hybrid SSR
Our default for content-heavy and hybrid sites, and what this site is built on. No JavaScript by default; React only where it earns its weight.
React
Component library
For the app surfaces inside our Astro sites: interactive flows, dashboards, anything stateful.
Next.js
App framework
When a product app needs React Server Components and the full app router, usually with heavy server-side data fetching.
Vue
UI framework
For teams already invested in Vue: single-file components, reactivity that scales, and a healthy ecosystem.
Vite
Bundler
The build tool under the hood. Fast enough to feel like live editing, ESM-native, and standard across modern tooling.
Tailwind CSS
Styling
Utility-first CSS with a design-system layer. Constraints live in the config, so the stylesheet cannot drift.
The builders and content systems we use when a marketing team, not an engineer, owns the day-to-day. Client sites are built in Terminal, set up for the team that will run them, and open in StackIDE when the work moves to code.
Terminal
Site builder
Stacklumen’s own builder. We design and publish client sites in it, and the client runs the content through its CMS.
StackIDE
Desktop app
Stacklumen’s desktop app for Mac and Windows. The same sites and their content, synced to a folder, with a terminal and the coding agents beside them.
Shopify
Commerce
For commerce work where a visual CMS’s commerce limits start to bite. Custom Liquid themes, or headless through the Storefront API.
Sanity
Headless CMS
When the content model is more graph than flat: structured content, block-based editing, GROQ queries. Pairs well with Astro.
Pick the database first and the rest follows. Postgres through Supabase for most product work; Firebase for realtime-heavy or mobile-first stacks.
Supabase
Postgres + storage
Our default backend, and this site’s. Postgres you own, with row-level security, realtime, storage and functions in one console.
Postgres
Relational database
The default engine, through Supabase, Neon or self-hosted. Mature, well understood, with JSON when you need it.
Firebase
Realtime backend
When realtime everywhere matters, or the client already has a mobile app built on it.
Cloudflare D1
Edge SQLite
For small workloads that live beside a Workers deploy: SQLite semantics, replicated at the edge.
A dedicated auth service when sessions and organisations matter, the database’s own auth when keeping the vendor count low matters, and OAuth wired directly when neither does.
Clerk
Auth + organizations
Our default for product apps, and this site’s. Drop-in UI, organisations built in, and tokens that plug straight into Supabase.
Database auth
Supabase or Firebase
When the backend already has it: no third vendor, no third bill, and the token goes straight to the database’s access rules.
OAuth 2.0
Google · GitHub · Apple
Wired directly when “sign in with Google” is enough. Standard flow, PKCE for single-page apps, minimal scopes.
Auth0
Enterprise identity
For client builds, when the client lives in enterprise single sign-on: SAML, custom identity providers and fine-grained policy.
Vercel for this site and most of what we build. Cloudflare in front of many client sites, and for lower-level edge work when a project needs it.
Vercel
Hosting + functions
Where this site and most of our Astro and Next.js apps deploy: a preview for every change, serverless and edge functions, image optimisation.
Apps at a path
One domain
An app mounted at a path inside the marketing site, like this site’s /app and /terminal, sharing the domain, the session and the brand.
Cloudflare
DNS · CDN · firewall
Caching, DNS, TLS and a firewall in front of many of the client sites we ship. The free tier covers more than most need.
Cloudflare Workers
Edge runtime
For lower-level edge work: Workers, Durable Objects, R2 and KV.
Stripe for any money handling. GSAP and Lenis for the animation systems we ship, and Radix for the interactive primitives.
Stripe
Payments + billing
Checkout, subscriptions, invoicing and webhooks. There is no second choice here: wire it once, properly.
GSAP
Animation
The animation system on the sites we build: timelines, ScrollTrigger, FLIP. Fast and dependable.
Lenis
Smooth scroll
Smooth scrolling that keeps native scroll and accessibility intact, and pairs with ScrollTrigger out of the box.
Radix UI
Accessible primitives
Headless, accessible primitives we style ourselves: dialogs, menus, tooltips and popovers.
The shape we use for most builds: a marketing site at the root and apps beside it under one domain, on one Vercel deployment, with three services underneath. Pick a path to follow a request through it.
Request
/app/signin is open to everyone. The Hub's screens and the Terminal dashboard ask for a session first.
stacklumen.com in production · requests flow top to bottom
These tools are how we keep estimates honest and timelines tight. If you already have opinions on the stack, that’s fine too: we adapt.
Proposal in 3 business days.