Skip to content
technologies / typescript

TypeScript everywhere we ship, browser and server.

Types are the cheapest tests there are. Our platform and our plugins are written in TypeScript, and so is our client work, which is why a rename is a build error rather than a support ticket.

why typescript

What typing buys you.

Not academic strictness. Fewer of the failures that reach a customer.

Safety

Whole classes of bug removed

Undefined fields, wrong shapes and renamed properties fail at build time instead of at midnight.

Change

Refactoring stops being scary

The compiler finds every caller. Large changes become mechanical instead of a gamble.

Handover

The code documents itself

Types tell the next developer what a function expects. That developer is often you.

Tooling

Editors that actually help

Accurate autocomplete and jump-to-definition across the whole project, including our SDK.

01

What we build with TypeScript

Typed APIs the front end can't misuse

The same types describe the server's response and the browser's expectation, so a renamed field breaks the build instead of a customer's screen. This is most of the value and it's invisible in a demo.

Admin panels with hundreds of fields

Forms, tables and filters where the shapes are long and nested. Types are what make a screen like that changeable a year later without a rewrite.

Shared code between web and mobile

Validation, pricing and formatting written once and used by the site and the React Native app, with the compiler proving both still agree.

Migrating JavaScript in place

TypeScript compiles alongside untyped code, so we type the risky parts first — money, auth, data writes — rather than stopping everything for a conversion.

Libraries other teams consume

A published package whose types ARE its documentation, so the people using it get autocomplete rather than a README.

the essentials

What TypeScript actually is.

Written for someone deciding, not for someone who already knows. Skip it if you do.

What TypeScript is

JavaScript with a type checker on top. You write what a value is meant to be — a number, a customer, a list of orders — and the compiler tells you before you ship where the code disagrees with itself. It compiles to ordinary JavaScript, so the browser never sees TypeScript and there's no runtime cost.

Why it's worth the extra typing

Because the failures it removes are the expensive ones: an undefined field, a renamed property, a shape that changed on the server and not in the browser. Those don't fail loudly in JavaScript; they fail on one customer's screen at nine at night. In TypeScript they fail on a build machine before anyone sees them.

Where the payback actually lands

It pays off on the second change rather than the first. Typing costs a little at the start and repays it every time somebody refactors, hands over, or comes back after six months. For anything lasting longer than a few weeks it's faster overall, which is why we type everything we ship.

What it doesn't do

It doesn't check what happens at runtime. Data arriving from an API, a form or a database is unknown until something validates it, and a type alone won't do that. We validate at those boundaries and let types carry the certainty inwards.

Change

Nobody dares refactor

If everyone works around the old code instead of changing it, the codebase has stopped being an asset. Types make the compiler find every caller, which turns a scary change into a mechanical one.

Handover

Only one person knows the shapes

When the answer to “what does this function take?” is a person rather than a file, types are the cheapest documentation you'll ever write, and the only kind that can't go stale.

Bugs

The same class of bug keeps returning

Undefined isn't a function, can't read property of null, a field that was renamed months ago. These are type errors that reached production because nothing checked.

questions

Straight answers.

Does TypeScript slow the project down?

It adds a little at the very start and saves more from the first refactor onwards. On anything lasting longer than a few weeks it's faster overall.

Can you add types to our JavaScript?

Yes, gradually. TypeScript runs alongside untyped JavaScript, so we type the risky parts first rather than stopping everything for a conversion.

Does it run in the browser?

It compiles to normal JavaScript, so the browser never sees TypeScript and there's no runtime cost.

Can you add TypeScript to our existing JavaScript?

Yes, gradually and without a freeze. The two compile together, so we type the parts where a mistake costs money first and leave the rest until it's touched anyway.

Does it make the site slower?

No. It disappears at build time. The browser downloads and runs plain JavaScript exactly as it would have.

Tell us what you want to build or improve.

A few lines are enough to start. You get a reply within two working days.

Discuss your project