TypeScript.
Typed JavaScript across web, mobile and server code, so changes are checked before they ship.
Talk to us about TypeScript
Key features
What TypeScript does well.
Structural type system
Types describe the shape of data, so plain objects from an API can be checked without wrapping them in classes.
Native compiler
TypeScript 7 rewrote the compiler in Go, and full type checks run several times faster than the JavaScript-based version.
Editor tooling
Autocomplete, go-to-definition and rename-across-files work from the same type information the compiler uses.
Gradual adoption
JavaScript and TypeScript files can live in one project, and strictness can be raised one setting at a time.
What we build with it

Catch the mistake in the editor, not in production.
TypeScript is our default for JavaScript work on the web, in mobile apps and on Node.js servers. Shared types between the interface and the API make the contract explicit, and the compiler flags what breaks when a field changes.
Shared API contracts
One set of types used by the client and the server, so both sides agree on the shape of the data.
Cross-platform apps
Web and mobile code that shares models, validation and business rules.
Safer refactoring
Larger changes to an existing codebase, with the compiler pointing to every affected file.
When it’s the right choice
TypeScript pays off on any codebase that will live for more than a few months or be changed by more than one person.
When we’d pick something else
It adds a build step and some upfront typing. For a short-lived script or a very small prototype, plain JavaScript can be enough.
Our TypeScript services
How we can help.
JavaScript to TypeScript
Converting an existing codebase file by file, starting where type errors are most likely to cause bugs.
Compiler upgrades
Moving projects to TypeScript 7, including removed options and build tools that relied on the old compiler API.
Shared type packages
Setting up one package of types and validation schemas that web, mobile and server code all import.
Type safety reviews
Finding loose any types, unchecked API responses and unsafe casts, and tightening them in reviewable steps.
How we work
Starting a TypeScript project.
Review what exists
Code, data, hosting and the people who maintain it, before any TypeScript decision is made.
Agree the approach
A written scope: what changes, what stays, the risks and how we will know it worked.
Build in reviewable slices
Working increments your team can test, rather than one large delivery at the end.
Hand over or stay on
Documentation and access for your team, or a defined support scope if you want us to keep going.
In our own products
SimRhythm.
SimRhythm is written in TypeScript as one Expo and React Native codebase that runs on iOS and iPad, Android and the web.
Read the case study ↗
Industries
Where we use it.
- Medical education Simulators and teaching tools that let educators run realistic practice on the devices they already use.
- Property & field services Software for maintenance and field teams, from the first request through inspection, dispatch and payment.
- Fintech & professional services Client portals and internal tools for firms where onboarding, documents, approvals and audit trails matter.
Where AI fits
AI in web work.
Answers inside your app
Add a search or question box that answers from your own documents, streams the reply into the page and shows its sources.
Knowledge assistants ↗Review screens for AI output
Interfaces where staff check, correct or reject what a model drafted before it is saved.
AI workflow automation ↗
Where it stops: The browser should never hold model keys or decide what a user may see. That stays on the server.
What’s changing
Shifts to plan for.
Dates that affect TypeScript projects, checked against the official sources.
July 2026
TypeScript 7 ships
The compiler is now a native Go program, with full builds typically 8 to 12 times faster. Tools that used the old compiler API need checking before upgrading.
Where it fits
Related expertise.
- Web application development Browser-based tools for customers and staff, built for the data, roles and permissions behind them.
- Mobile app development iOS and Android apps that work offline, handle device permissions well and ship through the app stores.
- APIs & integrations Connect your product to the systems your team relies on, with clear contracts and handled failures.
- Legacy modernisation Replace or rework an ageing system in stages, keeping the business running while it changes.
Common questions
TypeScript questions.
Can you add TypeScript to an existing JavaScript project?
Yes. TypeScript can be introduced file by file, starting with the most shared or most fragile code, so the product keeps shipping while coverage grows.
How strict should the configuration be?
For new code we use strict settings. For an existing project we agree a starting level and tighten it as the codebase is converted.
Further reading
- One codebase, three platforms: iOS, Android and web with Expo Lessons on sharing code, drawing with Skia and handling phone, tablet and desktop layouts from one Expo codebase.
- Awaab’s Law and the software landlords use for repairs What Awaab’s Law asks of the systems social landlords use to log, investigate and repair hazards, and the records they need to keep.
- Firebase, Supabase or a custom back end: how to choose How to choose between Firebase, Supabase and a custom back end by data shape, access rules, cost, exit paths and skills.