Custom software development
Internal tools, APIs, and automation built in Cursor with review gates, tests, and full source access at handoff.
ServiceWebsites, apps, and software built with AI—you own the code.
Short answer
PunkSolid’s marketing network lives in `apps/ai-network`: twelve static Astro sites on Cloudflare Pages, roughly 160 content pages in git, child mirrors that canonical back to punksolid.ai, and validate/test/preflight scripts that block bad merges. We built and maintain it in Cursor with the same guardrails we sell to clients.
PunkSolid sells production delivery—migrations, custom software, and agent-assisted builds with human review. Prospects kept asking how we practice what we preach. Rather than a slide deck, we shipped apps/ai-network: a twelve-site static network where every page is Markdown in git, every primary keyword has a single owner, and agents (and humans) must pass the same quality gate before a page can graduate from draft to reviewed.
The package is inspectable without a sales call:
| Piece | Role |
|---|---|
src/network/sites.ts |
Registry of 12 sites—punksolid parent plus eleven children (AI training, SEO training, agentic builders, and related education brands). |
src/content/pages/<siteId>/ |
One Markdown file per route; Zod schema in src/content/pageSchema.ts. |
src/network/topics.ts |
Keyword → owner map; validators error if PunkSolid targets another site’s phrase. |
src/validate/quality.ts |
Word minimums, FAQ counts, service steps, and answer length for reviewed pages. |
scripts/validate-run.ts / pnpm validate |
Blocks bad frontmatter, duplicate keywords, and missing sources on case studies. |
test/*.test.ts |
JSON-LD coverage per template, CTA placement, external registry parity, service pillar checks. |
pnpm ai-network:preflight |
Validate + test + registry checks before we tag a release (documented in package AGENTS.md). |
A full content load (loadAllPages in src/validate/loadPages.ts) currently pulls on the order of 160 pages across site folders—that number rises as draft guides and services land.
Each site builds with SITE_ID=<id> pnpm build:site into dist/<id>/. pnpm build runs all sites, then mirror-parity.mjs compares owner and mirror bodies. Deploy uses Cloudflare Pages (wrangler pages deploy) with public/_headers rules for preview noindex on *.pages.dev hosts.
On PunkSolid itself, section pages expose tiles; detail pages get Article JSON-LD, FAQ blocks when present, and—for case studies—about pointing at a related Service from the related: frontmatter list. That is the same structured-data discipline we recommend on client launches.
Implementation and content waves were written in Cursor—the AI-assisted editor from Anysphere—with repo rules in AGENTS.md and .cursor/rules on the wider monorepo. Cursor is a trademark of its owner; PunkSolid is independent and not affiliated.
The workflow matches methodology: specs and topic ownership first, agent drafts second, human review before reviewed, automated validate/test third. For paid work we deliver the same custom software development outcome: you keep the repository; optional AI code review helps your team adopt the gate locally.
This network is first-party proof alongside anonymized healthcare migrations and the named 48V Products rebuild. All three show the same ending: code in git, owner-controlled hosting, and gates that stop “vibe-coded” pages from shipping without sources or FAQs. When you hire us, you are buying that stack applied to your domain—not a leased micro-CMS.
Each child site owns a tight keyword cluster (`src/network/topics.ts`) so titles and intros match search intent. PunkSolid.ai mirrors those articles under stable hub paths (`hubArea` per child) while canonical tags point at the owner build on the child domain—one indexable URL per page in the network.
Owner pages self-canonical; mirror HTML includes canonical URLs to the child. `mirror-parity` scripts compare body markers after full builds. Broken ownership or missing tiles fail CI-style checks in this package.
No—it documents our own network in this repository, so every fact is verifiable from code, tests, and build scripts. Client deliveries use the same patterns; see [code ownership](/services/code-ownership/) for handoff on paid work.
Cursor is a trademark of Anysphere, Inc. Claude Code is a product of Anthropic. PunkSolid is not affiliated with either company.
Ask about spec-driven pages, validate scripts, and review gates sized for your team—not a one-off marketing microsite.
Internal tools, APIs, and automation built in Cursor with review gates, tests, and full source access at handoff.
ServiceStructured review of agent-generated or vibe-coded repos for security, tests, and deployment readiness before launch.
ServiceEvery PunkSolid client receives full access to finished code—maintain it in Cursor, hand it to another developer, or stay independent if we part ways.
ServiceHow 48vproducts.com moved off its old WordPress store into the monorepo storefront with Medusa checkout—sales held steady or grew.
Case study