Strict Config & Tooling
tsconfig, path aliases, ESLint/Prettier integration, and CI type checks so bad merges get caught before users do.
// hire.typescript_developer()
Available for hireTypeScript is not a checkbox — it is how you stop shipping silent runtime failures. I help teams adopt or tighten TypeScript on real products: strict configs, domain types, API boundaries, and React/Next patterns that make refactors boring in the best way.
Typed frontend work where correctness and velocity both matter — greenfield apps, migrations, and hardening existing React/Next code.
tsconfig, path aliases, ESLint/Prettier integration, and CI type checks so bad merges get caught before users do.
Zod/io-ts validation at boundaries, generated or hand-written API types, and discriminated unions for UI state machines.
Generic components, hook return types, context typing, and event handlers that do not devolve into `any` at the third prop.
Phased allowJs adoption, module-by-module strictness, and refactors that keep shipping while coverage climbs.
Teams hire TypeScript help when types feel decorative or the compiler fights daily velocity.
Loose escapes and suppressed errors. I tighten boundaries and replace shortcuts with types that actually describe your domain.
Backend changes break screens silently. Shared schemas and validation at the edge catch mismatches in CI, not in support tickets.
Over-abstracted utilities with unreadable signatures. I simplify patterns so the team extends components without fear.
Half-typed repos are the worst of both worlds. I plan incremental modules with clear done criteria per sprint.
Audit first, then typed delivery — whether a greenfield stack or a cautious migration on a live product.
tsconfig review, `any` hotspots, API touchpoints, and where runtime validation is missing today.
Strictness roadmap, shared type locations, and conventions for components, hooks, and server actions.
Vertical features with types first at boundaries — you see safer code land in PRs, not a giant theoretical RFC.
Team notes, lint rules, and CI gates so the next hire does not undo the work in week one.
// hire.now()
Share your repo or a Loom walkthrough, note strictness goals, and what is breaking today. I will confirm fit and propose a typed delivery plan.
Start a ProjectTyped tooling chosen for long-lived frontends — not experimental type plugins for demo day.
Projects where TypeScript discipline shows up in architecture and maintainability.
Heavily typed React orderbook with WebSocket message schemas, Redux state typing, and sub-100ms update handling without `any` escape hatches.
Typed React frontend with structured filter models, API response shapes, and SEO page props — built to scale past 1000 school listings.
No. For brownfield apps I often start with targeted strict islands — API layers, shared hooks, critical flows — then expand. The goal is safer code without a feature freeze.
Yes. I use incremental migration: allowJs, rename to .tsx module by module, and add validation at API boundaries first where bugs hurt most.
Absolutely. OpenAPI, Zod schemas, or hand-maintained shared packages — whatever fits your org. The point is one source of truth for request/response shapes.
Usually yes if you expect the product to live past the demo. I keep configs lean so types help velocity rather than ceremony — and I will say when a tiny static site does not need it.
Scoped by module or outcome: e.g. typed API layer, strict tsconfig rollout, or feature-area migration. I share estimates after a short audit of the repo and priorities.
// contact.init()
// status.check()
Available for freelance — US/UK/EU clients preferred.
Full projects, hourly, and retainers welcome.
// message.compose()
message.sent()
I'll respond within 24 hours.
Something went wrong. Please try again.
No spam · Project details stay confidential · NDA available on request