No partner badges, no tools we have not shipped on. 21 tools, grouped by job, with the one line that tells you when each is the right call. Everything ends up in your name.
Claude Code is a coding tool that runs in the terminal and writes, edits and tests code with us. Most of what we ship starts here, from a client CRM to a weekly blog pipeline, and Claude is also the model behind the named assistants on client sites.
A code editor with AI built in. We use it to read through a codebase we did not write, make surgical edits and review what Claude Code produced before it ships.
Describe a screen, get a working app. We use it for internal tools a team needs this week (an operations hub, a scheduling board) and then take the code into our own repository to harden it.
The runtime that runs our server code: the proxy that passes a form submission to the CRM, the nightly job that pulls analytics, the script that publishes the blog.
A framework for building sites and apps with pages that render on the server and feel instant in the browser. Our client CRMs and most client marketing sites are built on it.
The native languages for iPhone and Android. We use them when an app needs the camera, GPS in the background, push notifications or a place in the app store.
A testing tool that opens a real browser and clicks through the site like a visitor. We run it against the live preview before a change goes to production, so the form is proven to deliver before anyone merges.
Hosts every site and app we build. Connected to the code repository so a merge deploys, with a preview link for every change before it goes live. Fast everywhere because pages are served from the edge, close to the visitor.
A hosted database with user accounts and access rules built in. Our CRMs store leads here, and the rules that let a partner see only their own leads are enforced in the database itself, not just the screen.
Payments and subscriptions. Card data never touches the client's site; Stripe holds it, and the site only sees that the payment happened.
Sends and receives SMS. A new lead text to the owner, a confirmation to a parent who just signed up, a reminder before an appointment.
Business email in the client's own name, with the mail records set up so alerts arrive. Our CRMs sync Gmail threads both ways so a lead's whole conversation sits on its timeline.
Counts visitors, where they came from and what they did. We pull it nightly into the marketing page inside the CRM so the owner sees traffic next to leads without logging into another tool.
Session recordings and heatmaps. Shows where a visitor scrolled, paused, clicked something that was not a button, or left the form half finished.
Google's own report on the site: which searches show it, which pages are indexed, and which have problems. It is where a blocked robots file or a missing sitemap shows up first.
The business listing that appears on Google Maps and in local results. We verify it, point the review links at it and make sure it agrees with the website on name, address and phone.
Where a site or app is designed before any code exists. We build pixel for pixel to the approved mockup and reconcile the live site against it before launch.
Blog covers, social graphics, one pagers and anything a client's own team will edit later. Simple on purpose so the client can keep producing without us.
HyperFrames builds video from code, so a pitch video or a product explainer is a file we can edit and re render instead of a project locked in an editing suite. HeyGen handles voice and presenter video.
Moves data between apps that have no direct connection: a form in one tool to a sheet in another, a new row to a Slack message. We use it for the odd job rather than writing a connector.
| Situation | Our pick | Why |
|---|---|---|
| A marketing site that must be fast and found | Plain HTML and CSS on Vercel | No framework to slow it down; every page is a file Google can read, and the client can hand it to anyone |
| A site with a blog that publishes every week | Next.js on Vercel with a Node.js publishing job | Posts come from data, not hand edited files, so a scheduled job can add one every week without anyone |
| A CRM or anything with logins | Next.js and Supabase | Supabase holds the records and the accounts, and the rule that a partner sees only their own leads lives in the database |
| An internal tool the team needs this week | Lovable, then into our own repository | Fastest path from a description to a working screen; we take the code afterward so the client owns it |
| An app that needs the camera, GPS or the app store | Swift and Kotlin | A website that installs cannot reach the phone's hardware or sit in the store; a native app can |
| An app that just needs to open from the home screen | A Next.js site that installs | No app store, no update cycle, same code on desktop and phone; it is how our CRMs run on an owner's iPhone |
| An assistant on the site that answers questions | Claude, answering only from the client's content | It answers from the pages we give it and nothing else, files the lead into the CRM, and is told what it must never say |
| Taking a deposit or a signup fee | Stripe | Card data stays with Stripe, not on the client's site, and the site only learns that the payment happened |
| Telling the owner about a new lead | Twilio for the text, Gmail for the record | A text reaches the truck in seconds; the email thread syncs into the CRM so the whole conversation is on the lead |
| Knowing whether the site is getting found | Search Console, Analytics 4 and Clarity, pulled nightly | Three views in one page: what Google shows, who came, and what they did once they arrived |
| A proposal or an investor video | Figma for the look, HyperFrames for the motion | Design is approved before it is built, and the video is a file we can re render when the numbers change |
| Two off the shelf tools that will not talk | Zapier | A connector in an hour beats a custom integration for a one off, and the client can see and edit the rule |
Send the intake. We will say which of these your project needs and which it does not.