I didn't become an engineer to write code.

I became an engineer because I couldn't stop thinking about how things could work better — and I wanted to be the person who actually made them work better, not the person who advised someone else to.

Code is just the medium. The real work is understanding a problem deeply enough to solve it correctly, building something that holds up under real conditions, and leading a team that can do the same thing again and again without burning out or cutting corners.

The short version

I'm Crystal McNeil. CTO and Founding Software Engineer. My core stack is React, Next.js, TypeScript, Node.js, and cloud infrastructure — but I don't define myself by frameworks. Frameworks change. The ability to think clearly about hard problems doesn't.

I've built products from zero to production, led engineering teams through high-stakes decisions, and designed systems where getting it wrong had real consequences for real people. That last part matters to me more than most things.

What I believe

Technology should serve the business and the people using it. Not the other way around.

I have no patience for "we've always done it this way." Stagnation is regression. But I'm equally skeptical of chasing trends. Every abstraction, every new tool, every architectural decision has to earn its place by solving an actual problem — not a hypothetical future one.

I believe honesty is more valuable than optimism. If your architecture won't scale, I'll tell you. If your timeline isn't realistic, I'll tell you. If you're solving the wrong problem, I'll definitely tell you. A hard truth delivered early is always better than a comfortable fiction delivered late.

And I believe sustainable pace is how you actually build something great. Heroic firefighting is a symptom that the system is broken — not proof that the team is dedicated. I build teams and processes designed to ship steadily for years, not sprint for months and collapse.

How I work

I own outcomes, not just outputs. The technical direction is mine. When we succeed, that's the team's win. When we fail, that's my responsibility. I don't look for someone to hand the failure to.

I ask hard questions before I write a line of code. What's the blast radius if this breaks? What's the rollback plan? What technical debt are we consciously accepting, and when are we paying it back? These aren't obstacles — they're how you make decisions that age well.

I don't say no. I find paths forward. When something seems impossible, I ask what would make it possible. I convert dead ends into decisions and give people real options with honest costs attached.

What I'm working toward

I want to build software and lead teams in a way that's worth being proud of three years from now, not just next quarter. That means making technology decisions that solve real problems for real people — including people who never think about the technology at all, just the result it produces.

I'm interested in the intersection of technical excellence and genuine business impact. Not one or the other. Both.

I also ship tools. React components and a desktop dev toolkit — things I built because the alternatives were annoying.

See what's in the shop

Want to work together or just compare notes?

Get in touch