- TypeScript
- Clear contracts, expressive types, and fewer surprises between idea and implementation - TypeScript and JavaScript day to day.
- React
- Composable interfaces with deliberate state and small, reusable components.
- Next.js
- Server-rendered experiences, thoughtful routing, and fast first impressions.
- React Native
- Building mobile interfaces with React and TypeScript via Expo, with attention to platform behavior and the experience on a real device.
- HTML & CSS
- Semantic structure and responsive layouts that hold up across screens.
- State management
- Redux Toolkit, Thunk, and Saga for complex client state, Context API for simpler cases, TanStack Query for server state and caching.
- Styling & UI systems
- Tailwind CSS and NativeWind for utility-first styling across web and mobile, ShadCN, Material UI, and Bootstrap for component systems, React Native Reanimated for native-feeling motion.
- Node.js
- JavaScript beyond the browser - Express.js and FastAPI for building simple, maintainable services.
- API design
- Predictable boundaries that let the interface and the data evolve independently.
- Databases
- Relational thinking with MySQL, flexible document modeling with MongoDB, and Firebase for fast-moving product work.
- Git
- Small changes, readable history, and collaboration across GitHub and GitLab.
- Accessibility
- Keyboard access, readable contrast, and motion that respects the person using it.
- Web performance
- Less work per frame, smaller client boundaries, and measurement before assumptions.
- Testing
- Checking the behavior that matters with Jest - from pure functions to a real browser.
- Responsive design
- Layouts and interactions designed for touch, a keyboard, and the space available.
- Tools & workflow
- EAS Build for mobile release pipelines, Postman for API work, Jira for tracking and coordinating with a team.
- Agentic development
- Directing AI coding agents like Claude Code, Codex, and Cursor with structured specs, catching what they get wrong, and treating them as a fast collaborator rather than a shortcut around engineering judgment.