Our tools
We are not tool-neutral. We have strong opinions about what works, built from running hundreds of automations across dozens of client stacks. This is everything we use and the reasoning behind each choice.
The intelligence layer behind every agent we build. We choose models based on reasoning depth, context window, cost, and output reliability.
We use Claude for everything that requires nuanced reasoning, long-context analysis, and reliable structured output. Claude Code powers our development workflow. Claude Projects creates persistent, instruction-tuned workspaces for client agents. Claude Agents handle multi-step autonomous tasks. Claude API is embedded directly into deployed systems for real-time intelligence.
Used as a secondary model for vision tasks, image analysis, and scenarios where GPT-4o's specific capabilities offer an edge. We route model selection dynamically based on the task type, cost profile, and required output format.
Gemini's 1M+ token context window makes it the right choice for processing entire document libraries, lengthy transcripts, or large codebases in a single pass. We use it for corpus-level analysis where other models would require chunking.
The connective tissue between systems. We choose workflow tools based on pricing model, execution flexibility, and the complexity of logic required.
Unlike Zapier, n8n counts the entire workflow as one run regardless of how many steps it contains. A 50-step automation costs the same as a 2-step one. This makes complex, production-grade workflows dramatically cheaper at scale. We self-host n8n for clients who need data isolation, and run managed instances for faster deployment. n8n powers CRM syncs, AI pipelines, lead routing, and notification systems.
Used for rapid deployment of AI-native agent systems, particularly where we need scalable orchestration across multiple concurrent agent threads. Antigravity handles the runtime management layer so agents operate reliably under production load.
Used for client stacks where visual workflow builders reduce handoff friction, or where the logic does not require n8n's depth. Make's interface is more accessible for clients who want to maintain their own automations after delivery.
Maintained for clients already operating on Zapier stacks, and occasionally used for the fastest possible proof-of-concept before migrating to n8n for production. We do not recommend Zapier for cost-intensive or multi-step workflows.
The systems where our AI agents live closest to the client relationship. We build on top of, and integrate with, the CRM stack our clients already use.
Our preferred platform for clients who need a consolidated stack. GoHighLevel combines CRM, email, SMS, voice, funnels, calendars, and social posting in a single system. We white-label sub-accounts as part of client engagements, eliminating the need to stitch together five separate tools. AI agents connect to GHL via webhooks and API to automate lead intake, follow-up sequences, and contact tagging.
Used when clients have existing HubSpot infrastructure. We build AI automation layers on top of HubSpot via API, including contact scoring, deal stage automation, and AI-assisted follow-up drafting. We do not migrate clients off HubSpot when it is already embedded in their operations.
Used as a client-facing database and lightweight CRM substitute for teams who need visibility into AI agent outputs without a full CRM. Airtable bases serve as staging layers between AI pipelines and operational teams, making it easy for non-technical clients to review, approve, and manage AI-generated data.
Every system we ship needs to stay running. We choose infrastructure for reliability, developer experience, and cost at the scale our clients operate at.
Zero-config deployments, edge network, preview environments per branch, and built-in analytics. Every client-facing web portal and AI agent interface we build deploys to Vercel. Automatic HTTPS, global CDN, and serverless functions make it the fastest path from code to live URL.
For workloads that do not fit serverless — persistent Node.js servers, Python workers, background queue processors — Railway provides a clean deployment experience with sensible defaults. Used for AI agent backends, webhook receivers, and scheduled task runners.
All client domains route through Cloudflare for DDoS protection, SSL termination, and caching. Cloudflare Workers handle lightweight edge logic — rate limiting, redirects, A/B routing — without touching the origin server. R2 storage handles file assets at zero egress cost.
Used as the primary persistence layer for client portals, AI agent memory stores, and application backends. Supabase's Row Level Security makes it safe to expose database queries directly from client-side code, dramatically reducing backend boilerplate. Used for auth, storage, and real-time subscriptions in web apps.
When AI agents need to remember things across sessions, or when clients need to search their own knowledge base semantically, we use Pinecone. Embeddings from documents, CRM notes, and past conversations are stored and queried in milliseconds. Powers RAG (retrieval-augmented generation) pipelines for chatbots trained on client data.
The languages, frameworks, and tools we write software in. Everything chosen to maximize delivery speed without sacrificing reliability or maintainability.
Every client-facing web product — agent interfaces, dashboards, portals, and marketing sites — is built on Next.js. App Router for server components and streaming, Turbopack for fast local dev, and a single codebase that handles both frontend UI and backend API routes. React's component model lets us ship complex UIs quickly and consistently.
Every project we deliver is TypeScript-first. Type safety catches integration bugs before they hit production, makes AI-generated code safer to ship, and dramatically reduces the time a future developer (or us) spends debugging edge cases. We do not write production JavaScript.
Python handles the heavy data work: document ingestion pipelines, embedding generation, model fine-tuning scripts, and any workflow that benefits from the Python AI/ML ecosystem. FastAPI powers Python-based backend services where needed.
Tailwind v4 powers every UI we ship. Utility classes mean no CSS file bloat, no naming conflicts, and a shared design language across every project. Combined with shadcn/ui components, we go from zero to polished interface faster than any alternative.
Every client project lives in a private GitHub repository. GitHub Actions handles automated testing, type checking, and deployment pipelines. Branch-based workflows with preview deployments mean clients can review changes before they go live.
AI agents that speak, listen, and message. The tools that let automation reach people through calls, texts, and voice instead of just email.
Vapi powers our voice-first lead generation and qualification systems. An AI voice agent can call a new lead within 60 seconds of them submitting a form, have a natural conversation, qualify their intent, and book them into a calendar — without any human involvement. We configure Vapi agents with custom voices, scripts, and CRM integrations per client.
Used to create custom AI voices that sound exactly like a client's brand voice, or to generate high-quality narration for video and audio content. ElevenLabs voices are embedded into Vapi agents and media creation pipelines.
The backbone of multi-channel outreach sequences. Twilio sends and receives SMS, powers two-way conversation flows, handles call routing, and connects to WhatsApp for international clients. n8n orchestrates Twilio actions as part of larger automation workflows.
We build Telegram bots for clients who want a frictionless way to capture field notes. Agents speak into a Telegram bot after a conversation — the bot transcribes the audio, extracts structured data (contact name, intent, timeline, follow-up), and creates the record in the CRM automatically. Zero typing required.
AI-powered creative tools for clients who need high-volume, brand-consistent content without a full creative team.
Every web application and portal we build starts in Figma. We design component systems that translate cleanly into Tailwind + React code, minimizing the gap between design and implementation. Client approval happens in Figma before a single line of code is written.
Used in client content pipelines to generate brand-consistent imagery at scale. Batch image generation for social media, blog headers, and ad creatives runs through automated pipelines that maintain style consistency across hundreds of outputs.
For clients in the AI Media Creation service, we set up video generation pipelines using Runway Gen-3 and Kling AI. Long-form videos get repurposed into short clips, AI-generated visuals extend content output, and video scripts flow through automated production pipelines.
We create branded Canva templates that non-designers on a client's team can use independently. Newsletter graphics, social media posts, and presentation decks are templatized so clients maintain visual consistency without depending on a designer for every output.
We do not just build systems and leave. Every deployed automation is monitored, logged, and observable so problems are caught before clients notice them.
Every Next.js application and API we deploy has Sentry integrated. Errors surface with full stack traces, user context, and reproduction steps. We get alerted before clients do, and can deploy fixes proactively.
Used to understand how clients and their end users interact with the web applications we build. Session recordings reveal UX friction. Funnel analysis shows where leads drop off. Feature flags let us ship incremental changes safely.
Every client engagement runs in Linear. Issues, features, bugs, and milestones are tracked with full context. Clients get a read-only view of their project status so there is never a question of what is being worked on and when it ships.
Book a free AI audit and we will map out which of these tools fits your business and what we would build first.