Custom software needsnerds+engineers*

A studio for web applications that have to work — obsessively built, professionally shipped.

* we're both — it's in the name

$ls ./in-flight→sotto·sideline-hq·spiradelphi·decodingbytes·Coming soon

Choose your path

Two ways in. Same hands on the keyboard either way.

I need senior firepower

Your team is mid-flight and needs experienced hands — architecture, gnarly features, code review, or a deadline that stopped being theoretical.

  • Senior engineering, embedded in your workflow
  • Vue, TypeScript, and the unglamorous parts done right
  • Honest estimates, written down, kept

From hello to shipped.

Four steps, no mystery.

01

Listen

You explain the problem in your words. We ask the unglamorous questions early, while they're cheap.

02

Sketch

Architecture, scope, and an honest estimate — written down, so nobody is remembering differently later.

03

Build

Weekly demos of working software, not status decks. You steer while steering is still cheap.

04

Ship & stay

Launch is the midpoint, not the finish line. The hands that built it keep maintaining it.

Things we build.

If it lives in a browser and matters to your business, it's in scope.

  • Custom web applications — the tool your business needs that no off-the-shelf product quite is.
  • Client portals & dashboards — give your customers and team one place to see what's true.
  • Booking & scheduling systems — calendars, reminders, payments; no more phone-tag.
  • E-commerce storefronts — selling that you can update yourself, without calling us.
  • API design & integrations — making the tools you already pay for finally talk to each other.
  • Legacy rescues & rebuilds — inherited code, departed developers, deep breaths taken.
  • Performance & accessibility audits — faster for everyone, usable by everyone.
  • Care & maintenance — updates, monitoring, and a human who answers when something breaks.

Case studies.

Coming soon. No stock-photo handshakes.

BookingPaymentsStorefront

Local auto-repair shop

Problem

Bookings lived on a phone line and a paper calendar, and parts sales walked out the door to bigger retailers.

Built

Online scheduling, card payments, and a parts storefront the owner updates himself in minutes.

Outcome

Coming soon.

Coming soon
In-houseAudioML pipelines

Sotto

Problem

Production machine learning is easy to demo and brutal to ship — the gap between the two is where projects die.

Built

Embedding pipelines, vector search, and the unglamorous reliability work that demos conveniently skip.

Outcome

Coming soon.

Coming soon

Full write-ups are not published yet.

Apps we've obsessed over.

Four products in flight. Coming soon.

$ open sotto
# audio intelligence
SottoComing soon
$ open sideline-hq
# sports scheduling
SidelineHQComing soon
$ open spiradelphi
# language, diagrammed
SpiradelphiComing soon
$ open decodingbytes
# engineering, explained
DecodingBytesComing soon

Asked & answered.

The questions every smart client asks first.

What does a build cost?

Fixed-scope builds are quoted up front after the sketch step — one number, written down, no meter quietly running. And if the idea doesn't fit the budget, we'll say so in week one, not month three.

How long does a typical project take?

Small builds ship in weeks, bigger ones in a few months. Either way you see working software every week, so there's never a mystery gap between kickoff and launch.

Who owns the code?

You do. Your repository, your accounts, your infrastructure, from day one. We're allergic to vendor lock-in — it's bad engineering and worse manners.

What happens after launch?

Launch is the midpoint, not the finish line. Maintenance plans keep the same engineers who built your application looking after it — updates, monitoring, and a human who answers.

What's your stack?

Mostly Vue, TypeScript, and Node on boring, reliable infrastructure. But the honest answer is: whatever your project actually needs — the stack serves the build, not the other way around.

Can you take over an existing codebase?

Yes — rescues and rebuilds are half the job. We audit first and tell you plainly whether the kind move is repair or restart, with the reasoning in plain English.

The human part.

Software is typed by people. Ours comes signed.

*Obsession is a feature

We sweat the details your users will feel but never be able to name. That's the nerd half doing its job.

*Plain English, always

Every decision explained without jargon. If you can't understand it, we haven't finished thinking it through.

*We sign our work

Same names on the commits in year two as on the proposal in week one. A fingerprint, not a handoff.

Let's build it properly.

Confirm you are human

$ avg first reply: < 1 business day