Aetherio Logo
Frontend

Freelance TypeScript Developer in Lyon

The language that turns JavaScript into a reliable production tool.

Why TypeScript

I write everything in TypeScript. Frontend, backend, scripts, tools. Not because it's trendy, but because it eliminates entire categories of bugs that JavaScript lets through.

An undefined is not a function in production at 3am is a problem TypeScript solves at compile time. A renamed property that breaks 12 files without anyone noticing, TypeScript flags immediately. Typing isn't a constraint, it's a safety net.

On the projects I build, business apps, SaaS, APIs, the cost of a production bug is high. TypeScript drastically reduces that risk.

TypeScript vs JavaScript: concrete gains

Compile-time error detection. A missing property, an incompatible type, a forgotten argument. The compiler catches them before the code runs. In JavaScript, these errors arrive in production.

Confident refactoring. Rename an interface, change a return type, restructure a module. The compiler shows every impacted location. In JavaScript, it's find-and-replace hoping you don't miss anything.

Intelligent autocompletion. The editor knows the types, available methods, function signatures. Development is faster because the IDE guides instead of guessing.

Living documentation. TypeScript interfaces describe contracts between code parts. No need for JSDoc or comments. The type is the documentation.

Accelerated onboarding. A new developer on the project understands data structures by reading the types. No need to trace code to understand what a function expects or returns.

My TypeScript approach

Strict mode enabled. strict: true in tsconfig.json. No implicit any, no unhandled null, no silent undefined. Strict mode is non-negotiable.

Interfaces for public contracts. Component props, API DTOs, composable returns. Everything crossing a module boundary is explicitly typed.

Inference everywhere else. TypeScript infers local variable types, function returns, computed values. I don't type what the compiler can deduce on its own.

Zod for runtime validation. TypeScript types disappear at runtime. For external data (APIs, forms, webhooks), Zod validates at execution AND infers types at compilation. One schema for both.

Generics when justified. Generics make code reusable without losing typing. But a useless generic is worse than no generic. I use them for composables, API services and shared utilities.

What I build with TypeScript

Complex business apps

Strict typing prevents entire categories of bugs. On an app with 50+ components and business logic, TypeScript is quality insurance.

Typed backend APIs

NestJS + TypeScript = validated DTOs, typed services, compile-time error detection. The frontend knows exactly what the API returns.

Multi-developer SaaS

When multiple developers work on the same project, TypeScript serves as living documentation. Interfaces describe contracts between modules.

Risk-free refactoring

Rename a property, change a function signature, restructure a module. The compiler catches every impact. Impossible to silently break something.

Third-party integrations

Stripe SDK, Google API, webhooks. External library types document exactly what's expected and returned.

JavaScript → TypeScript migration

Progressive adoption on an existing project. File by file, without rewriting everything. Strict mode increases gradually.

The ecosystem I use

Zod

Runtime validation + compile-time type inference.

tRPC

End-to-end typed APIs, from backend to frontend.

ts-pattern

Exhaustive pattern matching for business logic.

tsx

Direct TypeScript file execution without build.

Vitest

Native TypeScript unit tests, fast and typed.

They trusted me

Founders and business owners who had a project, a need, a deadline. Here's what they have to say.

"Disponibilité, réactivité et implication. Valentin est professionnel et pédagogue."

A

Alban B.

CEO Belho Xper

"Il allie une expertise technique pointue à une solide vision business."

C

Charley A.

Co-fondateur Avnear

"La communication a toujours été fluide et les délais respectés, ce qui est rare et très appréciable."

C

Chihab A.

CEO E-commerce

"Valentin a su être à l'écoute de mes attentes et de mes besoins. Les résultats ont été plus que satisfaisants."

S

Sandrine V.

Gérante Sandrin's Nail

"Une entreprise qui sait s'adapter parfaitement au besoin client."

S

Stanislas M.

Commercial

"Depuis la mise en ligne, nous avons remarqué une nette augmentation des appels et des demandes de renseignements."

C

Christophe R.

PDG Ravi Groupe

Frequently asked questions

JavaScript has no typing. A variable can be a string, a number or undefined without anyone knowing. TypeScript catches these errors before execution. On a project lasting more than 3 months, TypeScript saves more time than it costs.

Initially, slightly. But that time is recovered 10x on debugging, refactoring and onboarding. A bug caught by the compiler costs 0 minutes. A bug found in production costs hours.

Vue 3 is designed for TypeScript. Composition API, typed props, typed emits, typed Pinia. Integration is native and the developer experience is excellent.

No. TypeScript infers most types automatically. I explicitly type public interfaces (props, DTOs, API returns) and let inference handle the rest. The goal is safety, not verbosity.

Yes, and it's progressive. Rename .js files to .ts one by one, add types gradually, increase strict mode over time. No need to rewrite everything.

No. TypeScript compiles to standard JavaScript. Types are stripped at compilation. The final bundle is identical, runtime is identical. Zero performance impact.

A project with TypeScript ?

Free first call, no commitment.

Discover my resources