I build AI marketing automation, with SEO + GEO and AI workflows alongside it. Five engagement shapes cover the work: a free scoping call, the Pilot Build, the Sprint, the Custom build, and the Ops Retainer. Every paid shape is quoted on scope, in writing, within 24 hours of the call. Taking new engagements.
Each shape is productized: fixed scope, fixed deliverables, written quote before signing. Scoping Call is the entry (free, 30 min). Pilot Build when you want one working piece before committing to a full build. Sprint when the workflow fits in one sentence. Custom for anything multi-workflow. Ops Retainer for maintenance and tuning of systems already shipped.
$ day 0: scoping call → +24h: written quote → day 2-3: pilot live → wk 2-3: sprint ships → +14d: fix window
I walk you through one workflow, sharpen scope, and decide which paid shape fits.
If none does, I'll say so on the call and point you to a better-suited consultant or vendor.
A small, fixed-price build. In a day or two I build one part of your workflow and get it running on your real data, so you can see how it works before paying for the full build.
Pilot vs Sprint: a Pilot builds one piece. A Sprint builds the complete, production-ready workflow: deployed to your infrastructure, documented, supported, and owned. The $750 Pilot fee comes off the Sprint price if you keep going, so it costs nothing extra to start small.
A good fit when you want to see it work first, or a past tool didn't hold up.
The complete, production-ready build of one workflow, with a fixed scope and fixed delivery window. Agreed at signing, then deployed to your infrastructure, documented, and owned outright by the end of the sprint. Where a Pilot builds one piece, the Sprint builds the whole workflow.
The workflow has to fit in one sentence, for example, "send a summary of yesterday's sign-ups to my inbox at 6am every weekday." If it can't, a Custom build is the right shape instead.
Not ready to commit? Start with a $750 Pilot Build and apply it toward the Sprint.
Common scopes: daily operational brief, weekly metrics report, sales follow-up automation, content cross-poster, AI-assisted inbox triage.
Fixed-price sprints: GEO / AI-search ($2,500), MCP server ($3,500), programmatic SEO ($4,500), lead pipeline ($4,500). Anything off this list is quoted on scope.
For builds that exceed the scope of a Sprint. The engagement opens with the free scoping call; the written spec and quote follow, typically within a week. Milestone-paid, with progress updates throughout and a demo at each milestone.
Reference engagement: CISNET marketing site rebuild. Next.js 16 migration, 200+ programmatic SEO pages, Facebook Lead Ads pipeline, custom admin portal. Three months, solo, shipped Q4 2025.
Custom is the right shape for any scope that doesn't fit cleanly into one of the productized engagements above.
A monthly engagement for clients whose systems I've already shipped. The retainer is structured around specific deliverables, not general access. Every hour goes against monitoring, prompt and eval maintenance, on-call response, or minor enhancements.
Two tiers. Keep-it-running, $1,500/mo, capped at 6 hours: monitoring, on-call fixes, eval maintenance, monthly report. Growth ops, $3,000/mo, capped at 15 hours: everything in the first tier plus one scoped enhancement shipped each month and a quarterly optimization pass against your numbers. Hours reset monthly and don't roll over. Cancellable any month with 30 days' notice.
Engagement rule: never sold cold. Only available after a Pilot Build, Sprint, or Custom build has shipped.
Four concrete subtypes. If one describes you, the engagement fits.
Dental practices, driving schools, home services. Leads arrive from ads and search, and the follow-up is manual. Orbit Dental is the reference case: an AI agent answering, qualifying, and booking 700+ leads.
$200K-$3M ARR, 1-8 people. The team is technical but needs workflows shipped, onboarding sequences, billing webhook handlers, AI-augmented features, internal ops automation.
5-20 people, founder-led, $1-5M revenue. Common engagements: internal tooling, creative-variant generators, client lead pipelines, white-label dashboards, content production engines.
Small teams with technical leadership and no procurement cycle. Marketing sites, lead-pipeline infrastructure, custom admin portals, programmatic SEO pages. CISNET is the reference case.
Each of these ships as a fixed-scope Sprint or gets customized to your stack. Anything not listed here lives in Custom.
Turn one source article into six or more platform-ready drafts: an X thread, a LinkedIn carousel, a newsletter, a video script, a Reddit post, and a podcast intro. It triggers off your RSS feed and drafts with AI, and nothing ships until you approve it.
A new signup hits a Whop, Stripe, or Lemon Squeezy webhook, Claude personalizes the welcome, the subscriber gets tagged, and a Day-0 to Day-30 sequence fires automatically. Wired on Vercel, Supabase, and Resend.
A 6am summary lands in your inbox covering stalled deals, urgent items, the day's priorities, and metric movement. It pulls from your CRM, calendar, and email, and the AI flags what actually needs your attention.
Tracks six or more competitors across pricing pages, launch blogs, X, and changelogs, and flags pricing changes and new launches. The weekly report drafts Sunday night and lands in your inbox Monday morning.
I install and configure Claude Code across your team, with a custom CLAUDE.md, sub-agents, hooks, and MCP servers tuned to your stack. Training and a cheatsheet are included.
Apply a unified design language to your existing app: a token system, component patterns, and voice rules, with an audit and migration plan included. Built on Terminal DS or your own brand.
A full community workspace on Whop, Skool, or custom on your stack, with member auth, gated content, a weekly drop cadence, an AI coach, and automated onboarding. AIOpsForge is the reference build.
Schema markup, JSON-LD, per-page OG images, a sitemap, robots rules, FAQ schema, and an llms.txt for AI-search engines. Built to rank in Google and to be cited by Perplexity and ChatGPT.
A landing page and gated PDF feed into Beehiiv, Kit, or ConvertKit, where leads get tagged and sequenced and the AI personalizes follow-ups. Stripe or Whop checkout is wired in, with Plausible analytics and funnel tracking.
A custom Model Context Protocol server that connects Claude to your internal tools, data, or APIs as first-class actions. Public example: a multi-account Gmail organizer MCP, open source in skills-and-mcp.
One brief generates many image and copy variants for an ad set, with brand-tone guardrails built in and approve, reject, or regenerate controls. Built for agencies running paid creative at volume.
If yours isn't here, ask on the call.
Every paid engagement is quoted on scope after the free 30-minute scoping call. For Pilots and Sprints the written quote lands inside 24 hours; Custom builds get a written spec and quote within a week. Once you accept and sign, the price is locked. The Pilot Build is a flat $750, credited toward a Sprint if you proceed. Sprints are paid 50% on signing and 50% at delivery. Custom builds are milestone-paid against a staged schedule. Ops Retainer is monthly, cancellable with 30 days' notice. No hourly billing.
My default stack is Claude Code for development, Vercel for hosting + serverless + cron, Anthropic API for the AI layer, and Supabase for Postgres + auth + RLS. Around that: TypeScript, Next.js, Tailwind v4, Resend for transactional email, Stripe for payments, Plausible for analytics. I'll work in your stack if it's modern. Next.js, Astro, Django, Rails, Laravel, FastAPI, Postgres are all in scope. I won't build on n8n, Make, or Zapier as the primary execution layer: they're fragile under load, expensive past 5K events/mo, and the visual graph becomes unreadable to anyone who joins the team after I leave.
You. Outright. Every engagement is work-for-hire under a written agreement. At the close you receive the full source code, the deployment access, every environment variable, every account credential, and the right to modify, extend, or sell the work without restriction. I retain no IP, no licensing rights, no royalty claims. If you stop working with me tomorrow, the system keeps running on infrastructure that's already in your name.
Hourly billing pays the consultant to take longer. The client earns peace of mind only by watching the clock. Both sides end up optimizing for the wrong thing. Fixed-price flips it: I'm incentivized to ship efficiently because overrun eats my margin, and you're incentivized to give clear feedback because every approved milestone gets you closer to the deliverable. A working production system is what we both want, and fixed-price is the structure that keeps us both focused on shipping it.
I'm based in Toronto on Eastern Time. Most communication is async by default: a shared Slack channel or email thread plus a recorded Loom walkthrough at each milestone. That keeps timezone gaps from blocking progress. Live calls happen at kickoff, milestone demos, and the closing retro. I'll book those in your timezone if it falls between 9am and 9pm Toronto time. If we're more than 8 hours apart, the engagement runs entirely in writing plus Loom updates, which most clients prefer anyway.
Sprints are productized fixed-scope builds, the scope is locked at the spec stage and the engagement ends at the agreed deliverable. If you realize you need more, it becomes a separate Sprint quoted at the close of the first. Custom builds are more flexible: anything outside the written spec gets a new written quote with a new timeline and price, surfaced as a change-order before any work happens, never absorbed silently.
Sprints start within 5-7 days of signing, because the shape is productized and scoping is fast. Custom builds depend on current capacity: 2-3 weeks out so I can write a real spec first. A Pilot Build starts within a few days of signing, since it's a single scoped piece. The fastest path to a real answer on timing is the free 30-minute scoping call. I'll quote both price and earliest start date in the written quote inside 24 hours.
Book the call anyway. The free 30 minutes is structured around figuring out what's actually broken, not selling you on a specific shape. If AI isn't the right fix, if the real problem is positioning, sales process, hiring, or your existing tool is already fine, I'll say so on the call and recommend who or what is a better next step. That's the call working as intended.