~/sideeffects
AVAILABLE · Q2 2026

Senior engineers, on tap.

Two AI-native principals, embedded in your stack. Fractional CTO, hands-on contracting, and training for teams that need momentum — not another deck.

Stack
TS · Node · React
Mode
Async-first
Rate
On request
zsh — sideeffects
~/sideeffects $ whoami
two senior engineers · 40+ years combined
~/sideeffects $ ls services/
fractional-cto/ contracting/ training/
~/sideeffects $ cat next-step.md
reply with "let's talk" — we book a call.
~/sideeffects $ _
§ 01 40+ Years combined experience
§ 02 2 Senior engineers, no juniors
§ 03 100% Direct contact, no account managers
§ 04 0 Decks. Code or it didn’t happen.
§ 01 — About

A two-person consultancy with thirty years of receipts.

Stack

TypeScript-first, Node-deep.

JavaScript, TypeScript, React, Node, and the tooling around them. We write the code; we don’t hand a deck to someone else who will.

Scale

Fortune 100 to seed-stage.

We’ve operated global platforms and stood up MVPs from a blank repo. The right call depends on the stage — we’ve been at every stage.

Craft

Open source. Speakers. Teachers.

Regular OSS contributors, conference speakers, and trainers. Sharing what we’ve learned is part of the practice, not a marketing channel.

Pragma

Boring tech, on purpose.

We pick the tools your team can run after we leave. The flashiest stack is the one that quietly ships for years.

§ 02 — Team

Two principals. No subcontractors. No bench.

You hire us, you get us. Every line of code, every meeting, every late-night Slack reply — it’s one of the names below.

John Christopher

John Christopher

Principal Consultant

25 years across product, platform, and team leadership. Has shipped at scale and rebuilt from the studs. Talks to engineers and execs in the same sentence.

Nick Nisi

Nick Nisi

Principal Consultant

15 years deep in the JavaScript and Vim ecosystems. Conference speaker, OSS maintainer, and the person you want pairing on the gnarly bug.

§ 03 — Services

Three ways to work with us.

Pick one, or mix them. Most engagements start as one and grow into another once we’ve seen the codebase.

01

Fractional CTO

$ retained · monthly

  • Tech strategy aligned with where the business is actually going.
  • Architecture and hiring decisions, with someone in the room who has made them before.
  • A weekly cadence with founders or the leadership team — async between.
02

Contracting

$ scoped · weekly

  • Hands-on code: features, refactors, performance work, code review.
  • Embedded with your team — your repo, your tools, your stand-ups.
  • Short-fixed engagements or longer retainers. We tell you which fits.
03

Training

$ workshops · custom

  • On-site, virtual, or self-paced — built around your stack and team.
  • TypeScript, Node, React, testing, architecture, and the boring stuff that matters.
  • We’ve trained at conferences and inside Fortune 100s. Same rigor, your team.
AI-Native training
§ 04 — Process

How it actually goes.

  1. 01
    Intro call

    Tell us what you’re shipping.

    30 minutes. No NDA gymnastics. We listen, ask the questions you already suspect are the right ones, and tell you whether we’re a fit.

  2. 02
    Scoped engagement

    A short, fixed-price discovery.

    One to two weeks. We read the code, talk to the team, and produce a written assessment with a recommendation — even if that recommendation is "you don’t need us."

  3. 03
    Build / advise

    Embedded, not extracted.

    Weekly cadence with the people doing the work. Code reviews, architecture, hiring help, training — whatever moves the work forward. Async by default.

  4. 04
    Handoff

    You own everything.

    Documentation, decisions, the playbook for the next quarter. We leave the team stronger than we found it. That’s the whole job.

§ 05 — Get in touch

Let's talk.

30 minutes, no pitch deck.

hello@dilemmas.dev →