uses

How opchain.dev is built.

Meta-page. opchain is built using opchain — most pull requests on this site were planned by oc-app-architect, audited by oc-code-auditor, shipped by oc-git-ops + oc-deploy-ops, and watched by oc-monitoring-ops. Here's the rest of the stack.

Live version
License
MIT
Last refresh
2026-05

Frontend

Static site, dark-first, hand-tuned typography. Astro is the assembler; nothing ships as a React SPA.

Framework
Astro 5 (static output)
Styling
Tailwind 4 + a global tokens file
Type system
TypeScript via Astro content collections
Icons
Inline SVG component (no icon font)
Fonts
Outfit (display) · JetBrains Mono · Inter (body)
Theme
Light / dark with FOUC-preventing init script

Backend

A single Cloudflare Worker behind opchain.dev. Static assets are served via the ASSETS binding; the JS handler picks up /api/*.

Runtime
Cloudflare Workers (edge)
Bundler
esbuild via build.mjs · version stamped from git SHA
Validation
zod schemas for every POST body
Storage
KV (NOTIFY namespace) for lead capture
Auth
None — no user accounts

Integrations

Each one is opt-out via a flag — every flag's default keeps the site running if the integration goes away.

Feedback channel
Linear API · /api/feedback creates an issue with severity + label
Analytics
PostHog (consent-gated, fail-closed)
Beacon
Cloudflare Web Analytics (no cookies)
Errors
Logged via Workers observability — no third-party APM

Hosting & DNS

Production and staging both run as Workers with custom-domain binding. Cloudflare manages DNS automatically on wrangler deploy.

Production
opchain.dev (Worker: opchain-dev)
Staging
staging.opchain.dev (Worker: opchain-staging)
Deploys
Manual from a developer laptop — wrangler login + npm run deploy
CI
GitHub Actions runs Vitest, astro check, Playwright e2e on every PR

Tooling

Most of these are themselves opchain skills. The site is the product's reference customer.

Development
Claude Code (with the opchain skills installed)
Editor
VS Code · Vim where it counts
Source control
git · GitHub · branch-per-feature workflow
PRs
oc-git-ops skill creates branch / commit / PR from intent
Audits
oc-code-auditor and oc-bug-check run before every commit
Releases
oc-release-ops skill plans → drafts → bumps → announces
Monitoring
oc-monitoring-ops skill watches the Worker once shipped

Hardware

Skills are Markdown — they don't care what they run on, but the workflow optimises for keyboard speed.

Daily driver
MacBook Pro · Apple Silicon
Terminal
Ghostty · zsh · starship prompt
Keyboard
Whatever has a real Escape key
Display
One main; the second one is for the Claude Code transcript

The recursion

Yes, this site was built with the very skills it markets. oc-app-architect ran the spec, oc-stack-forge picked Astro 5 over Next.js, oc-ux-engineer owned the design system, and oc-code-auditor catches type-safety regressions before merge. Every release is cut by oc-release-ops and shipped from a laptop via oc-deploy-ops.

That dogfooding is why the changelog moves fast — there's no translation layer between "what we noticed" and "what opchain ships next."

Want to build the same way? Install opchain · build a pipeline for your stack.

Inspired by the uses.tech convention. Edit this page in site/src/pages/uses.astro.