About · Team
Brian Wones
Founder · Denver, CO
Background in data-driven growth and strategic operations across the full B2B go-to-market stack: GTM operations, customer success, sales engineering, sales enablement, and revenue/BI. Sandcastle Labs is built on the premise that small teams using AI can outship what used to require entire departments.
Writing by Brian
-
The Pricing Page Said Yes Before the Backend Did
Build log ·Collimer's new pricing page promises unlimited seats. The code enforcing seat limits hasn't caught up yet, and the PR that shipped it said so.
-
A Pipeline Isn't Built Until Someone Else Runs It
Build log ·Chase ran our chronicle-and-PR pipeline solo, extended it into new territory, and went back to fix a gap in his own earlier work along the way.
-
Three releases in four days, and the discipline built to make that safe
Build log ·Three point releases shipped in four days, each a coherent batch. The release engineering that made the speed defensible, not reckless, shipped in the same window: zero-downtime deploys, a corrected kill timeout, and a branch-protection rule learned from an actual loss.
-
One dependency that couldn't launch took the whole app down with it
Build log ·A Chrome process wired as a permanent child of the root supervisor exhausted its restart budget when it failed to launch, and the exit cascaded into shutting down scans, dashboards, the API, and background jobs together.
-
Two fixes that were quietly guessing, corrected the same week
Build log ·A database-pool fix and a marketing-attribution default were both confidently wrong in the same shape: each cited its own rationale, and nobody had checked that rationale against the actual code.
-
Naming Profound, and choosing to go slower on purpose
Build log ·Collimer's second launch-post cycle made two real decisions: name a real competitor directly instead of gesturing at 'tools in the market,' and recontextualize the original ten-design-partner ambition instead of quietly replacing it.
-
A content skill you hand to the client is a different design problem than one you keep
Build log ·Building a content skill meant to run inside a client's own repository, without us in the room, taught three disciplines an internal-only tool can skip. The first correction it got wrong taught us the most.
-
An operating scorecard that runs itself
Build log ·We moved the studio's operating scorecard onto a Neon database and a scheduled tick, and a traffic anomaly proved why that mattered.
-
The output was built for the generator, not the reader
Build log ·Our pitch machine produced a correct artifact in the wrong shape, which meant it failed at the only job that mattered: surviving a handoff between two people.
-
Engineering with AI means checking its work
Essay ·Building faster with AI agents means more of the output ships unverified by default. Three catches in one week show what checking, not prompting, actually buys you.
-
Three green checks and nothing shipped
Build log ·A daily rebuild, a scheduled workflow, and an agent all reported success last week while producing nothing at all. Each one behaved exactly as documented.
-
A bug only someone else's machine could find
Build log ·The first real week of dripping build logs instead of bursting on Monday also surfaced a portability bug our mining tool had been hiding.
-
Build logs are not commit lists: a depth pass for the content machine
Build log ·The chronicle's own pipeline learned to rank stories by archetype and scale build-log volume to how eventful the week actually was.
-
Warming up a days-old domain: the cheap SEO that compounds
Build log ·A low-token SEO audit of two days-old sites found a 3-hop redirect, a dateless sitemap, a thin page, and short guide descriptions.
-
The audit right after the rebuild
Build log ·We rebuilt sandcastlelabs.ai on a new brand system, then audited it the same day and caught a leftover internal codename still live.
-
Two a week: giving Collimer its own content engine
Build log ·Collimer had no working weekly draft loop, so we gave it the same pitch-to-publish rhythm as this site and committed to two posts a week.
-
We built an A/B test before we had anyone to test on
Build log ·The homepage now leads with recommendations, not a score. We built EXP-01 to measure the reframe before real traffic arrived.
-
Did we make anything up? Auditing our own site before we launched
Build log ·Two days before launch we fact-checked our own site and found real mistakes, including 126 stray instances of a habit we ban on our own team.
-
Launching Collimer to ten hand-picked design partners, not the world
Build log ·Collimer went live July 9: one LinkedIn post, 661 impressions, a handful of DMs, two design partners in and a third coming. Plus the numbers we cut before posting, and the competitor one-liner that did not survive our own fact-check.
-
How to keep a marketing site in sync with the product it describes (ours wasn't)
Build log ·Collimer's site and app live in separate repos, so we made the product's own pricing config the single source of truth pricing and engine claims sync from.
-
Running an agent-native studio like a series of small bets
Build log ·We built the agent-native studio workflow behind our operating plan and scoreboard before hiring anyone, so progress gets measured, not guessed.
-
How to tell if AI crawlers are reading your site (ours weren't)
Build log ·Our GEO crawler signal read zero for two reasons, and both were bugs in our own instrumentation, not a lack of real crawlers.
-
Build the machine, then hand someone the keys
Essay ·A small AI-native software studio scales by building loops that collaborators can run, not by adding headcount. The unit that compounds is the loop.
-
Dropping GitHub Actions when the bill came
Build log ·Our GitHub Actions billing lapsed. We replaced it with a pre-push hook. The machine that ships is now the machine that checks.
-
Wiring Center Pane so a non-technical editor can publish without touching the repo
Build log ·The content pipeline worked fine for people who live in git. A designer coming on board does not. We built a hub round-trip so non-technical collaborators can revise and publish from Center Pane, with a GitHub Action running Claude headless to do the repo work.
-
Five posts shipped, analytics rebuilt for two sites, and the draft flag we forgot
Build log ·The first full multi-post week went out end to end: five W25 build logs pitched, drafted, edited, and published with a real author/editor split. The same week, the analytics package broke free of its hard-coded site name and learned to serve both Sandcastle Labs and Collimer.
-
Lookout: a marketing analytics scorecard that refuses to fabricate trends
Build log ·We built Lookout, an operator analytics scorecard for both marketing sites. It reads PostHog, assesses what's working with volume-aware confidence, and renders a graph-rich HTML report. Its one design principle: if the numbers are too small to say something real, it says nothing.
-
Minimum viable legal, deferred lawyer
Build log ·Privacy Policy and Terms for two static marketing sites, built without a lawyer. Here is the threshold we think we hit, and what would change that.
-
A geo-gated consent banner without a database
Build log ·GDPR consent banner built with Vercel's edge IP headers and about 150 lines of Astro middleware. No database, no flag service, no third-party CMP.
-
Launching Collimer's marketing site in a week
Build log ·Collimer went from a coming-soon page to a full marketing site in five days. Then we deleted a third of it. That was the right call.
-
We sent back 59KB of react-dom for a hamburger menu
Build log ·Astro 6, Tailwind v4, Motion, PostHog reverse-proxied through Vercel, and a three-package monorepo underneath. Every piece has one line of defense. Here is what it is.
-
Why image generation kept giving us squares, and how we made it cool
Build log ·Every hero image came out a 1024x1024 square because one API parameter was silently ignored. The bug was small. The lesson about working with AI image generation was not.
-
The Chronicler runs itself now (and the point was not automation)
Build log ·We taught the publishing pipeline to schedule posts on a static Astro site, mine its own week, and send the newsletter unattended. The goal was never hands-off. It was staying organized.
-
Stretching the vertical
Build log ·A scan in a second vertical revealed how SaaS-coded our probes were. The fix made us question whether 'alternatives' is even a real category for local services.
-
How we built an MVP with parallel Claude Code agents in three days
Build log ·Parallel Claude Code agents built the Collimer MVP end to end in about three days and 67 commits. The pace is only the headline. The point is what kept it from being a pile of code.
-
The first letter: where Sandcastle Labs stands, May 2026
Essay ·Site V1 shipped, the chronicle published its first five posts, and Collimer hit v1.0.0 in a three-day agent-fleet build. The first monthly letter from Sandcastle Labs.
-
A clickable mockup in an afternoon
Build log ·An afternoon of Phoenix LiveView produced fourteen connected screens. The clickable mockup is the cheapest discovery tool we have for an AI product.
-
Week one: V1 of the site, and the parts that are not done
Build log ·What shipped in week one of sandcastlelabs.ai: aurora hero, mobile nav, brand tokens, PostHog A/B. And the parts we left visibly unfinished on purpose.
-
Three providers, one methodology card
Build log ·We wired three LLM providers through one probe runner. The output is a methodology card that shows exactly how each answer was produced.
-
Recommendations are the secret
Build log ·Every GEO tool ships a beautiful dashboard. We bet the value is the recommendation, and rebuilt Collimer so every rec is shippable as written.
-
How the Chronicler works
Essay ·Why a solo studio built an AI-assisted publishing pipeline to share what it is learning, and the human edit gate that keeps it honest.