FRACTIONAL CTO · TECHNICAL ADVISOR · REMOTE-FIRST
Fractional CTO. Full ownership.
Twenty years building production systems that were not allowed to fail. Thirteen of them as CTO, through scale and an acquisition. If you need that judgment on the table now, part-time, without a permanent hire, that is what I do.
Free · no deck required · straight answer either way
FIELD 01 · WHERE I HELP
Six situations I get called into.
No packages, no tiers, no price list. The shape of the engagement follows the problem. If one of these sounds like your last board meeting, we should talk.
SITUATION 01
“I can't tell whether the build is going well.”
You're non-technical, or technical in a different domain. Estimates keep slipping, velocity feels wrong, and every explanation you get is one you have no way to verify. I read the code, sit with the team, and tell you plainly what is true, including the parts nobody wants to say out loud.
SITUATION 02
“We raised. Now we need a team and an architecture at the same time.”
You're hiring engineers you can't yet evaluate while making architecture decisions you'll live with for years. I've done both sides of that: I hired, interviewed and ran a team of ten plus remote contractors, and I wrote the critical path myself.
SITUATION 03
“It works, but every change is frightening.”
Legacy nobody wants to touch, and a rewrite you can't afford to get wrong. I've run zero-downtime migrations on live payment and messaging data: logical replication, LSN-verified cutover, dual-write parity checks, a rollback at every step. Modernization in stages, not a big-bang and a prayer.
SITUATION 04
“Our domain is regulated, and generic advice doesn't survive it.”
Payments, telecom, anything with an auditor or a regulator at the end of the pipeline. I've built audit-grade reporting pipelines for a national tax authority and a central bank, run operator licensing and numbering across markets, and dealt with national telecom regulators and carriers directly.
SITUATION 05
“We need a second opinion before we commit.”
Technical due diligence on an acquisition target, a vendor, an outsourced build, or your own platform. You get a written assessment your board can act on: what's solid, what's debt, what it costs to fix, and which risks are real versus theatrical.
SITUATION 06
“Production is hurting and nobody knows why.”
Throughput ceilings, latency that appears under load, incidents that keep coming back after they're “fixed”. Twenty years of getting to root cause under pressure, and then the observability and ML-assisted triage that stops the same call happening again. One such programme cut customer complaints ~70%.
FIELD 02 · HOW IT WORKS
How an engagement actually starts.
Low commitment at the front, so both of us find out quickly whether this is worth doing.
-
01
A call. Thirty minutes, free.
You describe the situation. I tell you whether I'm the right person for it. If I'm not, I say so on that call, and I usually know who is.
-
02
A short assessment.
One to two weeks, fixed scope and fixed price. Code, architecture, data, delivery process, team, risk. It ends in a written document you can hand to a board or an investor. Not a slide deck.
-
03
A plan you own.
Prioritized, costed in engineering effort, with what to do first and, more usefully, what to stop doing. It stays valuable whether or not you keep working with me.
-
04
Ongoing, if it makes sense.
Typically one to two days a week: architecture decisions, technical hiring and interviewing, code review, vendor and carrier negotiation, and hands-on implementation of the parts that decide the outcome. Month to month, no lock-in.
// HOW I WORK
- I stay hands-on. If I'm advising on a system, I have read its code. Thirteen years as CTO and I never stopped implementing the critical path.
- Direct answers. If the plan is wrong, or the hire is wrong, or the vendor is selling you something you don't need, you hear it from me first and early.
- Your team keeps the work. I document, I hand over, I train. The goal of the engagement is to make the engagement unnecessary.
- Remote-first across EMEA. European hours, with an afternoon that overlaps the US East Coast. On site when the problem justifies the flight.
// WHEN I'M NOT THE RIGHT CALL
- The role is really a full-time hire. Then say so and hire one. I'd rather help you interview for it than occupy the seat.
- You want a decision validated, not examined. I'm an expensive rubber stamp and a bad one.
- What you need is capacity, not judgment. I'm one person. If the answer is "more engineers", you need headcount or an agency, and I'll tell you that on the first call.
Recognise your situation?
Thirty minutes, free, and it ends with a straight answer about whether I can help.
FIELD 03 · ENGAGEMENTS
Where the work has been.
Described rather than named. Most of this sits under NDA or inside a regulated business, so there is no logo wall here. Client names and references on request.
-
2024 →
A licensed payment institution
Modernization architecture and specifications, regulatory reporting built to audit-grade accuracy, hands-on backend delivery on the live platform, and support on technical hiring.
-
2007 → 26
A global A2P messaging carrier
Technology strategy and product direction, an engineering team of ten, an in-house signaling stack built from the specifications up, and a multitenant platform I architected in 2007 and kept running for the next nineteen years.
-
ENTERPRISE
Financial institutions and large retail brands
Client-specific integration flows designed and delivered against the API I designed and owned. The enterprise end of the business, where the integration is the contract.
-
MULTI-MARKET
National telecom authorities and signaling carriers
Operator licensing and regulatory reporting across markets, numbering and ISPC allocation, and the commercial relationships with signaling carriers and technology vendors behind them.
-
2004 →
A hospitality telephony platform
PBX integration, call accounting, billing, wake-up calls and front-desk workflows. Two decades of uptime is its own kind of reference.
FIELD 04 · WHO YOU'RE BRINGING IN
Twenty years below the API line.
For 13+ years I was CTO and Lead Architect of a global telecom messaging company, reporting to the CEO, and to the group CTO after the acquisition. I owned technology strategy and product direction, led an engineering team of ten plus remote contractors, ran technical hiring, and negotiated with carriers, vendors and national regulators. I also wrote the code on the critical path.
That combination is the point. I've sat in the meetings where a technical decision is really a commercial one: pricing, margin, a carrier contract, a regulator's deadline. I've also been the person on the terminal at 3am. When my teams needed something that didn't exist off the shelf, we built it: a full SS7/SIGTRAN stack from the specifications up, an SMSC, a signaling firewall, a routing engine rewritten in Rust for 3× the throughput. The in-house signaling foundation removed a third-party dependency and contributed to a 9× profitability improvement.
Here is the part I'd actually judge me on. In 2007 I architected a multitenant white-label platform: tenant and reseller hierarchies, product packaging, multicurrency billing, portals, admin tooling. The term "SaaS" was not yet in common use. I then upgraded and operated that same platform for the next nineteen years, and it was still serving 10,000+ downstream accounts when I left. Architecture decisions that survive two decades of requirements nobody predicted. That is the judgment you're hiring, more than any individual technology on this page.
I currently work fractionally with a licensed payment institution operating 1,000+ points of presence: architecture and requirements for a platform modernization, regulatory reporting built to audit-grade accuracy, hands-on backend work on the live .NET/SQL Server platform, and support on technical hiring. Exactly the shape described on this page, running right now.
Polyglot by necessity rather than fashion. The platform's backbone was Java and PHP; Rust earned its place where throughput and protocol work justified it; TypeScript/Node, Python and C# where they fitted. I pick up an unfamiliar stack and ship in it. What I'm actually good at is the part that doesn't change with the language: making systems that keep working while everything around them changes.
Want the long version?
Send three lines about your situation and I'll tell you whether I'm useful to you.
FIELD 05 · TRACE LOG
The track record behind the advice.
Read it like a packet capture: newest frame first.
-
Licensed payment institution regulated payments · EMEA
- Ongoing fractional engagement with a regulated payments business operating 1,000+ points of presence, working across business, compliance, operations and an external engineering team.
- Defined the architecture, product requirements and technical specifications for a platform modernization, translating regulatory and commercial constraints into specifications an external delivery team could build against.
- Built regulatory reporting pipelines for a national tax authority and a central bank to audit-grade accuracy, and integrated external money-transfer services.
- Advise on payment integrations, backend APIs, cloud and infrastructure options, disaster recovery and production operations, and on technical hiring interviews.
- Hands-on backend delivery on the live .NET / SQL Server platform, including zero-downtime PostgreSQL migration work using logical replication with LSN-verified cutover.
C# / .NETSQL ServerPostgreSQLLogical replicationPOS / ECRRegulatory reporting -
Global A2P messaging carrier telecom messaging · acquired
- Owned technology strategy, product direction and engineering execution for a global A2P messaging business, from carrier signaling through to customer-facing SaaS, reporting to the CEO, and to the group CTO after the acquisition.
- Led and grew an engineering team of ten across backend, frontend and mobile, plus long-term remote contractors: hiring, technical interviewing, mentoring, code review and architecture guidance.
- Built an in-house SS7/SIGTRAN signaling and messaging foundation from the specifications up (SCTP, M3UA, SCCP, TCAP, MAP, SMPP), removing a third-party platform dependency and contributing to a 9× profitability improvement.
- Rewrote the routing core in Rust with staged rollout and rollback-safe migration: 3× throughput on the same hardware, at lower memory usage, with no downtime.
- Kept the multitenant white-label platform I had architected in 2007 evolving for another fourteen years, past 10,000 downstream accounts across global reseller hierarchies, with tenant isolation, usage metering and automated billing.
- Designed ML/LLM-assisted operational workflows for anomaly detection, traffic protection and real-time remediation, cutting customer complaints by ~70% and reducing on-call load.
- Personally ran telecom regulatory operations across markets: operator licensing, reporting to national authorities, numbering and ISPC allocation, plus commercial relationships with signaling carriers and vendors.
RustJavaSS7/SIGTRANSMPPPostgreSQLRedisKubernetesML/LLM ops -
Global A2P messaging carrier early growth years
- Architected the multitenant white-label reseller platform (customer and reseller hierarchies, product packaging, multicurrency billing, portals and operational dashboards) before "SaaS" was standard vocabulary. It ran for the next nineteen years.
- Built a complete SMPP server in Node.js with billing, routing, multiple uplinks, spam filtering and operational control workflows.
- Architected a distributed bulk voice platform on FreeSWITCH and ActiveMQ delivering 5,000+ calls per campaign inside a 16-hour window across time zones.
- Delivered 30+ internal applications for billing, monitoring, reporting and operational governance. The tooling that kept a lean team fast.
Node.jsJavaFreeSWITCHActiveMQReact / Vue -
Custom software house telephony · web · POS
- Hospitality telephony in Java and Asterisk: PBX integration, call accounting, billing, wake-up calls, front-desk workflows and room control.
- That hotel PBX platform is still running in production two decades later. An early and permanent lesson in what "maintainable" actually costs.
JavaAsteriskDrupal
FIELD 06 · SELECTED SYSTEMS
Things built because they had to exist.
Production systems from my career, plus current work in development. The unreleased ones stay unnamed until they ship.
PRODUCTION · 19 YEARS AND COUNTING
Multitenant white-label SaaS, built before the term
Architected in 2007: reseller and customer hierarchies, product packaging, multicurrency billing, portals, admin tooling, operational dashboards. I upgraded and operated it for the next nineteen years. Still serving 10,000+ downstream accounts when I handed it over.
PRODUCTION · TELECOM
In-house SS7/SIGTRAN stack
SCTP, M3UA, SCCP, TCAP and MAP implemented from ITU-T/IETF specs down to the octet, interoperating against real carrier equipment. Enabled an SMSC, SMPP server, signaling firewall and STP with filtering logic no licensed stack exposed.
PRODUCTION · RUST
Routing engine rewrite
The platform's routing core rebuilt in Rust with an embedded QuickJS rules engine. The case was commercial rather than aesthetic: 3× the throughput on identical hardware at lower memory lands directly in the cost per message, and lifting routing rules into QuickJS meant commercial and operations could change them without a release of the core. Shipped behind feature flags with progressive traffic shifting, so it stayed abandonable at every step, which is the only condition under which rewriting a live revenue path is defensible.
PRODUCTION · SAAS
SMSPay smspay.me
An SMS monetization marketplace owned end to end as sole product owner and builder: requirements, full-stack architecture, a Java/Quarkus backend with gRPC API design, and a native Android app covering device registration, SIM routing and withdrawals.
PRODUCTION · RUST · TRANSPORT
Userspace SCTP
A userspace SCTP implementation in Rust, sole author, written from the RFCs rather than wrapped around a kernel socket. Association lifecycle, state machine design and interoperability against real carrier equipment. The transport layer everything in the SIGTRAN stack above it stands on.
IN DEVELOPMENT · RUST · AGENTIC
Agentic tool-execution infrastructure
Unreleased. A Rust gateway for distributed tool discovery, worker registration and streaming tool execution over gRPC and WebSockets: typed tool contracts, backpressure-aware streams, strict multitenant isolation.
PRODUCTION · RUST · DSP
Realtime MPX audio transport
A Rust transmitter/receiver pair carrying raw MPX audio from radio studios to mountain FM sites over unreliable links: PLL-style clock recovery, jitter buffers, stream timing and packet-loss tolerance, where a dropped buffer is audible on air.
FIELD 07 · CAPABILITIES
What I work with.
Backend-first and protocol-deep, with the surrounding stack to design, ship and operate real systems, and the leadership side to make that stick in an organization.
// leadership & product
// languages
// telecom & protocols
// backend & distributed
// data
// cloud & ops
// ai-augmented engineering
FIELD 08 · WRITING
The stories a CV can't hold.
War stories, design notes and technical deep dives from two decades of production systems.
FIELD 09 · QUESTIONS
What people ask before the first call.
If yours isn't here, email it. The answer is usually shorter than you expect.
What is a fractional CTO?
A fractional CTO is an experienced Chief Technology Officer who works with your company part-time, typically one to two days a week, instead of as a full-time hire. You get senior technical judgment on architecture, hiring, vendors and risk at the point where those decisions are being made, without carrying an executive salary, equity grant and recruitment cycle before the company is ready for one.
When does a startup need a fractional CTO rather than a full-time one?
When the decisions are senior but the volume isn't yet full-time. That is usually true when you are pre-Series A, when your founding engineer is strong but has never built at the next scale, when you have just raised and must hire a team and settle an architecture at the same time, or when you need someone to hold the technical line with a board or an investor. Once you have a team of ten-plus engineers and daily executive decisions, hire full-time, and I would rather help you interview for that role than occupy it.
How much does a fractional CTO cost?
Fractional CTO work is normally priced as a monthly retainer against an agreed number of days per week, month to month, rather than by the hour. I don't publish a rate card, because the honest number depends on scope, domain and how much of the work is hands-on. What I do instead: the first call is free, and it is followed by a fixed-scope, fixed-price assessment so that you know exactly what you are buying before any ongoing commitment exists.
What is the difference between a fractional CTO, an interim CTO and a technical advisor?
An interim CTO fills a vacant seat full-time for a fixed period, usually after a departure. A technical advisor gives opinions on a light, ad-hoc basis and rarely touches the system. A fractional CTO sits in between and carries real accountability: part-time, ongoing, with decision rights, inside the team rather than beside it. I work fractionally, and I stay hands-on. If I am advising on a system, I have read its code.
Do you write code, or only advise?
Both, and the second is much less useful without the first. I spent thirteen years as CTO while personally implementing the critical path: signaling stacks, routing engines, payment integrations. In an engagement I will read your codebase, review pull requests, and build the components where my doing it is genuinely the fastest route to the outcome. What I do not sell is delivery capacity: if the answer to your problem is "more engineers", you need headcount or an agency, and I will tell you that on the first call.
Can you run technical due diligence for an acquisition or a funding round?
Yes. Technical due diligence on an acquisition target, a vendor, an outsourced build or your own platform is one of the most common reasons I get called. It runs one to two weeks at a fixed price and ends in a written assessment your board or investors can act on: what is solid, what is technical debt and how urgent, what remediation costs in engineering effort, and which risks are real versus theatrical.
Do you work with regulated or protocol-heavy businesses?
That is the sharpest end of what I do. I have built audit-grade regulatory reporting pipelines for a national tax authority and a central bank, run telecom operator licensing and numbering across markets, and implemented SS7/SIGTRAN and payment protocols from the specifications down to the octet. In regulated domains most generic technical advice does not survive contact with the auditor, and the cost of finding that out late is measured in licences rather than sprints.
How do engagements start, and how do they end?
They start with a free thirty-minute call, then a fixed-scope assessment of one to two weeks that produces a written plan you own whether or not we continue. Ongoing work is a month-to-month retainer with no lock-in. They end when the problem is solved or the company outgrows the arrangement. Because I document, hand over and train throughout, ending well is part of the design rather than a disruption.
Where are you based and which time zones do you cover?
I work remote-first across EMEA on European hours, with an afternoon that overlaps the US East Coast, and I travel on site when the problem justifies the flight. Working languages are English and Greek.
FIELD 10 · HANDSHAKE
Let's talk about your situation.
Email works best. Three lines is enough: what you're building, what's going wrong, and what deadline or decision you're up against. The first call is thirty minutes and costs nothing.