I build software that works when it matters
Full-stack developer working across React, Node.js, and MongoDB. I build both the backend logic and the interfaces people judge.
Building software before waiting for the curriculum
I'm a computer science student who started building real software before waiting for the curriculum to catch up. The theory matters, but building things that real people use teaches you faster.
I got into this because I liked both sides of the problem: the backend — where one wrong assumption about how data flows can break everything — and the frontend, where a single awkward transition makes the whole interface feel cheap.
When something breaks in a way that doesn't make sense, I don't stop at Stack Overflow. I go into the library source, read the spec, check the RFC if I have to. It takes longer, but the next time I hit something in the same family of problems, I already know why it failed.
Fast Learner
Pick up new technologies quickly
Detail-Oriented
Small things matter
Self-Driven
Build before being taught
Current Stack
I read source code the way other people read documentation. Not to show off — because the docs tell you what's supposed to happen, and the source tells you what actually happens.
How I think
Read the source
Docs tell you what should happen. Source code tells you what actually happens when things break.
Learn from failures
The real lesson isn't the fix — it's understanding why I built myself into that corner.
Follow the experts
Watch how experienced engineers make trade-offs. That teaches more than any tutorial.
Depth over breadth
I'd rather be solid in a few tools than shallow in twenty. When I pick something up, I use it until I understand why it works — not just how to use it.
Frontend
Backend
Currently Learning
Featured Projects

Sentinel-X
Real-time analytics for an AI support chatbot
Built the full dashboard layer end-to-end — live chat volume, AI resolution rate, escalation tracking, and CSAT scores updating in real time, not from static reports. The challenge was keeping four chart types in sync with live WebSocket data without the interface becoming laggy as message volume spiked.
78% AI resolution rate< 200ms chart update latency4 live chart types synced12% escalation rate tracked
- React
- Chart.js
- Node.js
- WebSockets

MJ.Talk
Embeddable live-chat widget, built from scratch
Drop-in chat widget any business can embed without a heavy setup — live agent or AI-powered, depending on configuration. I designed and built the widget UI and the real-time message layer: typing indicators, message delivery states, and response timing that feels natural, not robotic.
< 20kb widget bundle size< 1s to first chat ready
- React
- Node.js
- Socket.io
- Firebase

FlowCraft
Visual no-code workflow builder, public beta
Connect tools, wire up logic, and ship automations without code — in minutes, not days. Currently in public beta. I built the core builder: drag-and-drop canvas, the visual-to-executable logic layer, and the landing page. The challenge was making the builder feel simple while still handling genuinely complex, multi-step automations reliably.
10k+ automations built99.9% execution uptime
- React
- Node.js
- Workflow Engine
- PostgreSQL
How I build
A consistent approach that's less about methodology and more about what I've learned works.
Understand the problem
I don't touch code until I can answer: What breaks if this fails? And who's affected when it does?
Design data first
The frontend is only as solid as what it sits on. I spend time on the data model and API contract first.
Build for experience
Loading states, error messages, transitions — they're part of the product, not polish added later.
Break it deliberately
Edge cases, bad inputs, slow networks. I try to find them in development, not in production.
Education
Computer Science
Currently pursuing degree — covering data structures, algorithms, operating systems, and computer networks.
Full-Stack Development
React, Node.js, Express, MongoDB, Firebase, Astro. Built real projects from scratch instead of following tutorials.
What else I do
Most of what I learn doesn't come from coursework. It comes from studying how people who are better at this than me actually think.
Engineering blogs
Fly.io, Cloudflare, Vercel — companies that write openly about what broke and why.
Source reading
Reading through React, Astro, Node.js source to see how decisions get made under constraints.
Changelogs & RFCs
Tracking releases for tools I use. The changelog is often better than the docs.
Building tools
CLI scripts and utilities for my workflow — things that save me time repeatedly.
Open to the right opportunity
Internships, freelance, full-time, or just a good conversation about a hard problem. I'm early in my career — not in my thinking. If you've got something worth building, I want to hear about it.