~/saassite $ ./init --marketing-site

A SaaS marketing site
your team runs with AI

Built for humans and LLMs, in weeks, not quarters. We set your team up to run it with AI: agents open the PRs, your people approve before anything goes live.

Nobody has capacity to own the marketing site

Designer on the product, marketer in the queue, or founder at 11pm. Different setups, same story.

Your site today✗  Every page change pulls a developer off the roadmap.✗  The changelog is four months stale, and the pricing page still shows a plan you killed.✗  No owner means no numbers: nobody knows which funnel stage is broken.✗  A page prompted into prod at 11pm is the fifth button variant and the third shade of blue.
With saassite.dev✓  Your team ships on-brand pages with AI, the same day.✓  A human approves every page, then it goes live.✓  The funnel reports exactly where it leaks.✓  Developers stay on the product.
Website, system, workflow

A website, a design system, and a publishing workflow

Most agencies hand over the first one. The other two are why your team stops waiting on specialists.

01 · WebsiteA website built to convertBuilt on pricing, comparison and feature-page patterns that already convert. Not a blank page you pay someone to stare at.
02 · SystemA design system an LLM can driveYour conventions live in the repo, and agents read them before they write. The brand stays consistent even when AI writes the page. No fifth button variant, no third shade of blue.
03 · WorkflowA publishing workflow with a human checkIdea in, agent drafts it on a preview URL, human approves, live. Agents only open pull requests; nothing ships without your sign-off. Redirects, links, sitemap and analytics handled.
04 · SearchContent ranked and citedPages structured to rank on Google and get quoted by ChatGPT and Perplexity, so your story shows up in both kinds of search.

Every release leaves a trail of chores

The feature ships and the team moves on. Everything downstream depends on someone remembering to say something.

01
The site finds out lastThe changelog needs an entry, the docs need a page, the marketing site needs an update. None of it has an owner, so all of it waits.
02
Communication is the single point of failureProduct knows what shipped. Marketing finds out in the all-hands, three weeks later. The gap between them is where pages go stale.
03
Chores always lose to the roadmapNobody deprioritizes these on purpose. They are just never anyone's most important task, so they roll over. Forever.
Chores become triggers

Typed or triggered, it ships the same way

Every chore is wired to a trigger. Some triggers are a sentence your team types. Some are events in the tools you already run. Either way it ends the same: an agent does the work, a pull request waits for a human, nothing merges itself.

Triggers already wired
A feature merges in the product repoOpens a PR with the changelog entry. The changelog owner gets a ping, not a to-do.
The changelog entry mergesOpens a PR with the docs page, drafted from what the feature does. The docs owner is notified for a technical pass.
The docs page mergesOpens a PR with the marketing page, updated or created, and a blog article drafted alongside it.
$ "Ship the changelog entry"Opens a PR with the dated entry, feed item and live page.
$ "Spin up the campaign page"Opens a PR with the page, form, UTMs and tracking attached.
A post hits its publish dateGoes live on its own, meta and feeds attached. Marketing gets notified, not woken up.
$ "A/B test the pricing headline"Opens a PR with the variant, PostHog experiment wired with it.
A competitor lands in the data fileOpens a PR with the comparison page, built from your template.
An experiment concludesNotifies you with the result. The winner ships on your approval; the losing variant stops serving.

Marketing should not be a stitching job

The numbers and the content all exist. They are just spread across tools, waiting for a person to pull them together. Again. Every month.

01
The report is a Monday ritualExport from analytics, paste into the deck, reconcile with the CRM. Done by lunch, stale by Friday.
02
Every tool holds its own truthAnalytics says one thing, the CRM says another, and which funnel stage is broken stays a matter of opinion.
03
Updates travel by handThe product shipped, the pricing changed, and the site finds out weeks later, when someone remembers to tell it.
Your stack, connected

Wired into the tools you already run

These tools are agent-shaped now. We connect yours once, name the events once, and the stitching stops being someone's Monday.

PostHogYour funnel, whatever shape it is, wired stage by stage. Every stage gets a number, so the worst one stops being a matter of opinion. Experiments ship attached to the page that runs them.
GitHubWhere the work lands. Agents open pull requests against your repo and never merge their own. Every change is reviewable before it is live.
VercelEvery pull request gets a preview URL. You approve the page you can actually look at, not a description of it.
HubSpotForms land in the CRM with first touch and campaign intact, so sales knows which page did the work.
Search ConsoleSitemaps submitted, redirects verified, coverage watched. The rankings you paid for survive the rebuild.
Claude CodeThe labour. Agent skills and MCP servers that already know your components, your voice and your event names, running on tooling your developers use anyway.
One event schema, in your repoNames written down once, next to the components. Every new page gets them right by default, whoever builds it.
Visitor stitched to userThe anonymous reader and the signed-up account become one person, so the funnel keeps going past the signup form.
Money events fire server-sideSignups and subscriptions reported from the backend, not the browser, so ad blockers can't hide your best numbers.

Frequently asked questions

Isn't this just vibe coding?

No. Vibe coding is prompting until something looks fine, and nobody owns the result. We apply battle-tested agency conventions, then use AI to execute them fast. Automation runs, a human approves before anything goes live. The conventions are the product; the AI is just the labour.

Who runs it after the build?

You do, for the everyday work: campaign pages, changelog entries, copy tests, the blog post. The design system already knows the rules, so nobody waits on a developer. We take the sprint-sized fixes that genuinely need a specialist: one stage, one fix, measured against the number it was meant to move. We start where your number is worst, not where the letter comes first. And the plumbing that rots quietly when nobody owns it, event names, redirects, dashboards, stays owned either way.

Do you stick around after launch?

Optional. The system is built to run without us, so you're never dependent on us. Some clients take the handover and go; most keep a sprint cadence going, because funnels don't fix themselves.

Will this replace our marketing person?

No. It deletes the boring half of their job: waiting on developers, rebuilding the same layouts, chasing broken links. Thirty comparison pages become one template plus your data, not a month of hand-building. They keep the strategy, the voice and the ideas; we don't write your content.

What do you build with?

Git-based and markdown-first. Astro for marketing sites, Next.js and Supabase when an app or POC is attached. Wired into PostHog, HubSpot and Search Console. On the AI side: Claude Code with agent skills and MCP, so the automation runs on tools your developers already know.

What happens when better AI models come out?

Your setup gets better, not obsolete. Proven patterns are exactly what LLMs handle well, because they've seen them a million times. The conventions are written down in your repo, so a stronger model executes them faster and cheaper. Recurring sprints keep them current as tools change.

What does it cost?

Fixed price for the scoped build, a flat rate per sprint after that. You get a ballpark on the first call, not a surprise after three meetings. Scope and days are agreed before anything starts.

Who owns the code?

You do, from day one. The site lives in your repo, the conventions are documented in it, and the stack is standard Astro and Next.js any developer can pick up. If we part ways, everything keeps working without us. No lock-in.

One call, no deck

Talk to the person who would do the work

Thirty minutes. Bring your site and whatever numbers you have. You get a straight read on what to fix first and a rough idea of scope and days. If we are not the right fit, we will say so on the call.

You talk to the builder, not a salesperson  ·  Live in weeks, not quarters  ·  Your repo from day one, no lock-in