I joined a struggling team in January


I joined a struggling team in January.

Then:
🚫 No tests
🚫 Few lint rules
🚫 No CI config
🚫 Over 1,300 β€œany” in TypeScript
🚫 1,000’s of lines of mapping code
🚫 App frequently crashed

Now:
βœ… Many @playwrightweb tests
βœ… ESLint enforces coding standards
βœ… Robust CI (builds, tests, lints, etc)
βœ… Eliminated 100’s of "any"s - Validating responses via Zod exposed many bugs
βœ… Eliminated all mapping code by returning camelCase JSON from APIs
βœ… The app is stable

Huge improvement. πŸŽ‰
@playwrightweb More wins:

Then:
🚫 Bloated HTTP request code via useEffect and redundant fetch calls,
🚫 No HTTP response caching
🚫 No error handling

Now:
βœ… Using react-query wrapped in custom hooks for elegant reuse
βœ… Caching HTTP requests consistently via react-query
βœ… Using granular…

View original on X