Web applications built by senior engineers.

Custom software, internal tools, customer portals, and product UIs for B2B companies and agencies. We ship production code. Not prototypes handed back to your team to “finish.”

Three ways to work with us.

Web app engagements usually start as one of these, and often shift shape as trust builds.

01

Fixed-scope build

You have a defined app or feature set. We scope, design, build, and ship against the deadline you bring us.

Best forDefined apps with clear goals
02

Embedded engineering team

You have ongoing product work and need senior capacity without the hiring cycle. We plug into your team, your tools, and your sprints.

Best forProduct teams needing senior capacity
03

Launch + retainer

We build the initial app, then stay on for ongoing iteration, optimization, and new features as your product evolves.

Best forProducts in active, ongoing development

The kinds of apps
we build.

A representative sample. Most of our web app work falls into one of these shapes.

Customer-facing portals & dashboards

Authenticated experiences where your customers log in to manage accounts, view data, or interact with your product. Merchant portals, reporting dashboards, self-service tools.

Internal tools & admin panels

Software your team uses every day. Operations consoles, content management, workflow automation, and admin panels that replace spreadsheets and duct-taped processes.

Product UIs & SaaS frontends

The customer-facing layer of your SaaS product. We work as an embedded design/engineering partner to ship product features alongside your team.

Configurators & custom workflows

Multi-step, stateful applications where users configure, quote, or build something. Checkout configurators, pricing tools, onboarding flows.

How we work.

Modern practices, senior engineers, production-grade code from day one.

01

We meet you where you are.

We’ve shipped work in React, Vue, Next.js, Rails, Laravel, Django, and plenty of stacks we’d never touched before the kickoff call. Senior engineers pick up unfamiliar codebases quickly. That’s part of being senior. If you have a stack, we’ll work in it. If you don’t, we’ll pick sensible defaults.

02

We ship production code.

Not prototypes. Not proof-of-concepts handed back to your team to “finish.” We agree on the engineering standards at the start of a project and hold the bar the whole way through. The code we deliver is code your team can read, run, and extend after we’re gone.

03

We stay after launch.

Most agencies disappear when the project ships. We stay on for bug fixes, iteration, and new features, either as a retainer or on-call as you need us. The code we deliver is code we’re willing to keep touching.

In their own words.

Alkali did a great job assisting us with our project. Their specific domain knowledge was instrumental. They communicated effectively, collaborated with us on requirements, and delivered on time.
Anna Pobletts
Head of Passwordless · 1Password
Do you work in our existing codebase, or do you start fresh?
Both. Most of our engagements are additions to or rebuilds of existing applications. We're comfortable in unfamiliar codebases and will spend the first week getting oriented before we ship.
What if our stack is something you haven't used before?
It rarely ends up being an issue. We've picked up Laravel, Django, Rails, Go, and plenty of other stacks at project kickoff. Senior engineers can read unfamiliar code quickly. If the codebase is reasonably maintained, we can be productive within the first week.
Do you do design and development, or just one?
Both. That's the point. The designers and engineers work together on every project, so there's no handoff gap between a Figma file and what actually ships.
Who owns the code?
You do, 100%. It lives in your repo (or gets transferred to your repo at the end of the engagement). No lock-in, no licensed framework you're stuck with, no retainers required to keep the lights on.
What happens after launch?
Most clients move to a monthly retainer for ongoing iteration. If you'd rather take it in-house, we document everything and do a clean handoff. Your team can be running the app locally within a day.
How long does a typical web app project take?
It depends on scope and complexity. Focused builds or feature additions come in faster, larger custom applications run longer. We give you a specific timeline once we've scoped the work on our intro call.

Other services.

Not quite what you're looking for? Here are the other ways we can help.

Let's build something together.

A 30-minute call. We'll listen, dig into the details, and tell you honestly whether we're the right partner, or point you to someone who is.

Book Intro Call