Software engineer. Occasionally a teacher. Permanently curious.
I build things that work, then make them easier to understand.
Mostly JavaScript. Often full-stack. Always learning.
Currently interested in clean interfaces, thoughtful systems, and
software that doesn’t shout at the user.
About me
I didn’t take the straight line into software, which turns out to be
useful.
I’ve shipped production code in a large engineering organisation,
taught computer science to humans who absolutely did not ask for it,
and spent a lot of time learning how systems actually behave once
they leave the whiteboard.
I care about clarity, maintainability, and making sensible
trade-offs. I’m not allergic to complexity, I just don’t invite it
round unless it has a good reason to be there.
Skills
Core
-
JavaScript (ES6+), with a realistic understanding of its edges
- TypeScript for safer, more predictable code
- React for building calm, usable interfaces
-
HTML and CSS, written deliberately rather than by accident
-
Git, pull requests, and explaining decisions in code reviews
Working knowledge
- Node.js and Express for pragmatic backend work
- REST APIs with sensible structure and naming
- SQL and relational data modelling (PostgreSQL)
- Testing and debugging in production-minded environments
- Modern development workflows in Agile teams
- Knowing when not to add another abstraction
Experience
Worked in a cross-functional team on a large, production React and
Node.js codebase.
-
Built and maintained features across the full stack,
collaborating closely with product and design.
-
Contributed through code reviews, testing, and sensible
incremental improvements (the boring stuff that makes software
survive).
-
Got very familiar with real-world constraints: performance,
reliability, and shipping without breaking everything.
Taught programming and systems thinking, and learned fast that
explaining something clearly is a stricter test than implementing
it.
-
Planned and delivered lessons on HTML/CSS/JavaScript and Python,
adjusting pace and scaffolding for mixed confidence levels.
-
Built structured resources and coursework support aligned to
specification requirements.
-
Improved my communication and debugging under pressure, because
a classroom is basically a live incident response exercise.
Projects
Side projects are where I experiment, over-engineer slightly, then
simplify again.
drewBrew
A coffee tracking app focused on clean data modelling, flexible
recipes, and calm UI.
- Next.js + React for the front end
- Node.js + TypeScript backend
- PostgreSQL for data that behaves
This site
A deliberately simple CV site: semantic HTML, modern CSS, and
just enough JavaScript.
- Performance-first, no framework by default
- Accessible structure and sensible motion
- Built to evolve without becoming a rebuild