Data and backend

TypeScript

Types across the product, Node services included.

made by
Microsoft

Magic Ship is one shop in Vancouver, BC, working remotely with clients worldwide. We are not a partner, reseller, or certified vendor of Microsoft - we just build with this.

What TypeScript is

TypeScript is JavaScript with static types, checked at build time and stripped for execution. It runs anywhere JavaScript does - Node, browsers, edge runtimes, Bun - and the type system is expressive enough to model API contracts and validated schemas.

How we use it

Product code is TypeScript end to end: Node or edge services, the frontend, and the types shared between them. Anything crossing a boundary is parsed with a schema - request bodies, environment variables, model output that is supposed to be JSON - so a bad shape fails at the edge with a message that says why. Strict mode is on and typecheck runs in CI, because types nobody checks are just comments.

Where it is the wrong choice

Types describe compile time, not runtime: one `any` from an untyped library or an unvalidated API response gives false confidence, which is why parsing at boundaries is not optional. Heavy machine learning and data work still belongs in Python, where the libraries are.

Building something on TypeScript?

Send the problem rather than a job spec. You get an answer on scope, on fit, and on whetherTypeScript is even the right call for it.

Start a project

TypeScript and Microsoft are trademarks of their respective owners, used here to say what we work with.