TypeScript
TypeScript adds static type checking to JavaScript. I use it in Vue and Nuxt applications, including VetCard and this portfolio, to make component interfaces and data models easier to understand and change.
What I type
- Components — props, emitted events and shared state.
- API models — the clinic and appointment data expected by the frontend.
- Reusable logic — composable inputs and return values.
This repository also runs a type check in CI and defines schemas for its translated content. Those are complementary checks with different responsibilities.
Where static checking stops
TypeScript types are removed from the generated JavaScript. An API response is not validated simply because it has a TypeScript annotation. Unexpected external data needs runtime validation; an unannounced backend change will not automatically appear as a compiler error.
Safer maintenance
When a declared model changes, type checking can identify incompatible uses in the codebase. That makes refactoring more deliberate, especially across forms and templates. It complements tests and input validation rather than replacing them.

