All Insights
essays· 8 min read

Shipping for Two Fractional-CTO Clients in 2024: What I Learned

A year of working with two early-stage startups in parallel.

SV
Sri VardhanDecember 30, 2024
Share on Twitter
Share on LinkedIn
Copy link

Two clients, very different stacks, very different problems, lots of overlap in what failure modes I saw. Year-end retrospective.

Year-end retrospective. Two fractional CTO engagements ran most of 2024. Both still going.

Client A: AI-first dev tools company

Stack: Next.js, Postgres, Anthropic API. Pre-seed.

Started: April 2024.

Where we started: founder had a working prototype in v0/Vercel. Beautiful design, no architecture. Three engineers about to start; nobody had picked their stack or set up CI.

What I did first 30 days:

  • Picked the stack (Next.js 15, Postgres, Drizzle, Vercel, Sentry)
  • Set up the monorepo (one app, shared types, eslint config)
  • Built the first auth flow (Clerk → Supabase, took 2 days)
  • Hired the first full-time engineer (out of 60 candidates, ran 8 interviews)
  • Wrote the first arch doc

Where we are now: 4 engineers, $200K MRR, Series A in progress.

What I learned: the highest leverage was the first month. Architectural decisions made then are still in place. Boring tech compounded.

Client B: fintech (regulated)

Stack: Spring Boot, Postgres, Kafka, AWS. Series A.

Started: Aug 2024.

Where we started: 12 engineers, monolithic Spring Boot, getting paged constantly, p95 latency 3 seconds, no deploy in production for 6 weeks.

What I did first 60 days:

  • Wrote the deploy automation (manual deploy was the bottleneck)
  • Instrumented OTel everywhere (we couldn't see what was slow)
  • Identified two N+1 query patterns that explained 40% of latency
  • Killed two unused services that were ringing pages

Where we are now: deploys multiple times per day, p95 latency under 500ms, sustainable on-call.

What I learned: don't refactor before you instrument. The entire eng team was sure microservices were the answer. They were wrong; the answer was "fix the slow queries."

Common patterns across both

  • Founders ALWAYS think the problem is more strategic than it is. Usually the problem is execution: deploy automation, instrumentation, basic discipline.
  • Hiring is the most leveraged thing I do. The right second engineer compounds. The wrong one drags the team for a year.
  • Boring tech wins. Both clients are on tech that was mature in 2020. They're successful because the tech is invisible.

What I'd do differently

I underbilled the fintech client for the first month. The instrumentation work was unflashy - they kept asking "when do we ship features?" I should have set the expectation that month one was foundations, with a clear unlock for month two.

Going forward, I include "outcomes by phase" in every engagement letter. Easier to align expectations.

What's next for 2025

I'm taking on one more fractional engagement and one project-based fintech architecture review. Going to write more - at least one substantive post per month.

If you're a founder considering fractional support, drop me a line. I'll be honest about whether it's the right fit.

Tagged

#fractional-cto#year-in-review#consulting
SV

Sri Vardhan

Independent technology studio of one. I help founders and small teams ship serious software without the consultancy overhead. More about me.

Want to discuss this topic?

I am always happy to dig deeper. If a piece sparked an idea or a disagreement, send it over. I read every message myself.

Get in Touch