I'm Hussain — a developer who started writing code out of curiosity and stayed for the craft. I grew up taking things apart to understand how they worked, and software scratches that same itch with the bonus that you can put it back together better.
My work spans the full stack: React and Next.js on the frontend, Node.js and Express on the backend, and everything from SQL databases to deploying on cloud platforms. I'm particularly drawn to interfaces — the point where engineering meets human experience.
Outside of shipping features, I'm picking up ML basics, contributing to side projects, and trying to write code my future self won't resent.
Readable beats clever. I write code for the next developer — often future me — with clear names, small functions, and no magic.
Real feedback beats perfect plans. I break work into small slices, ship early, and iterate with what I learn from actual usage.
Technology never stops evolving, and neither do I. I make time to study fundamentals, not just frameworks — because foundations outlast trends.
Started university & got into coding
Enrolled in university and wrote my first lines of code. Picked up Python and web basics — got hooked immediately and never stopped.
Built first real web apps
Started building full-stack web applications with Node.js, Express, and React. Deployed projects, broke things, fixed them — learned more from the crashes than any tutorial.
Levelled up, shipped more
Built more projects across the stack, picked up Next.js and TypeScript, and started taking UI seriously. Treated every project like a real product.
Actively building & open to opportunities
Redesigned this portfolio from scratch, kept shipping projects, and started exploring ML basics. Looking for remote internships and junior roles.
Break it down
Complex problems become manageable when decomposed into small, testable pieces. I never write more than I need.
Communicate early
I surface blockers fast and document decisions so nothing gets lost in memory or assumptions.
Ship iteratively
I prefer delivering something real quickly over perfecting something that never ships. Feedback beats prediction.
Automate the boring parts
If I do something twice, I script it. Time saved on repetition is time invested in actual work.