Our Stack

Our engineering stack.
Tools we use. Why we use them.

We are tool-agnostic but opinionated. Every framework, language, and platform below earns its place in the ComCreate stack because it solves a real problem better than the alternatives, not because it is trendy. Each link goes to a deep-dive on how we use it, where we don't, and what we pair it with.

How we choose what makes it in.

Most agencies pick a stack once and force every project into it. We pick per project, based on what the data needs, what the team can maintain after handoff, and what will still be a good choice three years from now. The tools below have been battle-tested across migrations, AI launches, performance rescues, and production builds for companies that need more than a marketing site.

Three principles guide what gets adopted:

  • Mature ecosystems first. Next.js, SvelteKit, React, TypeScript, Python. Every framework here has a deep talent pool, active maintenance, and a clear long-term trajectory. No clever bets that orphan a client codebase.
  • Composable infrastructure. Vercel, Sanity, Stripe, Railway, Cloudflare. Pieces that fit together cleanly and can be swapped without rewriting the application.
  • Performance as a first-class constraint. The stack is opinionated about Core Web Vitals, bundle size, and runtime behavior. Slow tools do not make the cut.

Below the categories: frameworks for building, infrastructure for running, content tools for editors, and the languages everything ties together with.

What we build with this stack.

The stack exists to ship a specific set of outcomes, not to collect logos. Most engagements fall into five buckets, and the tools below map cleanly onto each. Production web applications (dashboards, portals, and customer-facing platforms) are built on Next.js and SvelteKit, where server rendering, type safety, and Core Web Vitals are non-negotiable. Content-driven marketing sites run on the same frontends wired to Sanity, a headless CMS that lets marketing teams edit without touching code while engineering keeps the schema in version control. Commerce work (headless storefronts and subscription flows) pairs those frontends with Shopify and Stripe so the buying experience stays fast and fully custom. AI and real-time backends (chat interfaces, agent workflows, and streaming pipelines) need a persistent runtime, so we host them on Railway alongside managed Postgres and Redis rather than forcing everything into serverless functions. And growth and attribution infrastructure (the layer that proves marketing spend works) is built with CallRail, GA4, and Google Ads conversion tracking wired directly into the site.

Every project draws from more than one bucket. A single migration might combine a SvelteKit rebuild, a Sanity content model, Railway-hosted services, and call tracking on the new pages. The value is not any one tool; it is knowing which combination fits the problem, and being able to run all of them in production without asking a client to hire five different specialists to keep the lights on afterward.

How the pieces fit together, end to end.

The reason we can move between these tools is that they are chosen to fit together, not just to work in isolation. A typical build flows through four layers, and each hands off cleanly to the next. At the frontend layer, Next.js or SvelteKit renders the interface (statically where possible, server-side where the data demands it) and owns performance, accessibility, and SEO from the first byte. That frontend talks to an infrastructure layer where the application actually runs: Vercel for edge-delivered sites and Railway for long-lived backends, databases, and background jobs, connected over private networking with secrets and scaling handled per environment. Content flows in from a headless layer (Sanity as the source of truth) through typed queries, so editors publish and the site updates without a deploy. Around all of it sits the growth layer: analytics, call tracking, and ads conversion data that close the loop between a visitor and a booked lead.

Because the boundaries between layers stay clean, any one piece can be swapped without rewriting the others. A client can move hosts, change CMS, or add an attribution tool a year later without a ground-up rebuild, because the contract between layers holds. That composability is the whole point. It is what lets us pick the right tool per project instead of forcing every build through one rigid template, and it is why the systems we hand off stay maintainable long after the launch date has passed.

Growth & Operations
GoHighLevel

GoHighLevel

CRM, SMS and email nurture, booking calendars, and closed-loop ad attribution. The system that catches a lead the second a form is submitted and works it until it closes.

Learn more
CallRail

CallRail

Dynamic number insertion ties every inbound call back to the campaign, keyword, and landing page that drove it, so phone leads count as conversions instead of guesses.

Learn more
CallTrackingMetrics

CallTrackingMetrics

Our operations-side call platform for PPC. Number pools, routing rules, and conversion data across a whole book of client accounts in one place.

Learn more
Yardi

Yardi

We integrate Yardi through its SOAP API so leads captured on the site land in the property CRM in real time, with the source data intact for attribution.

Learn more
Kipu

Kipu

The EHR and CRM behind addiction treatment and behavioral health. We connect the website and ad funnels to Kipu so inquiries reach intake fast, with attribution intact.

Learn more
Google Ads

Google Ads

Search, Local Service Ads, GA4 and Tag Manager conversion events, call imports, and offline conversion uploads from the CRM. We engineer the measurement layer so bidding optimizes against won revenue, not raw form fills.

Learn more
Meta Ads

Meta Ads

Facebook and Instagram campaigns built as a funnel, from awareness to conversion to retargeting, with the Pixel and the Conversions API both firing so attribution survives cookie loss. We verify tracking before a dollar scales.

Learn more
HubSpot

HubSpot

CRM, deal pipelines, lead routing, and workflow automation, with website forms wired directly into the system. The platform that turns scattered touchpoints into one accountable revenue operation.

Learn more
Google Analytics 4

Google Analytics 4

The measurement layer under every account. Properties, key events, custom dimensions, and GTM-deployed tracking that ties paid and organic traffic to the conversions that actually matter.

Learn more
Get started

Let's talk about
your next build.

Talk to an engineer