about me

My full name is John James Reeve IV, from which jjriv is derived (in case you were wondering). You can call me John.
I’ve been designing and coding for the web since the early 90s. That’s when I discovered the Internet on a dumb terminal in a campus computer lab (it was in the basement under the math building.) I was immediately hooked.
I went on to graduate from Cal Poly San Luis Obispo with a BS in Graphic Design and a minor in Computer Science. The school’s Learn by Doing approach to education has stuck with me to this day.
I’m a lifelong learner, creator, and builder. Whether it’s bicycles, Lego, or code — I’m happiest when I’m solving a problem or making something work. That instinct has shaped my entire career.
I co-founded Pelago, a web design and development studio, where I served as lead developer and designer on custom web applications for 100+ clients across 300+ projects. Understanding how people actually work — before writing a line of code — became one of the most valuable lessons of my career. Revenue from Pelago seeded something bigger: I co-founded Intervals, a bootstrapped SaaS platform for time tracking, task management, and reporting. For nearly two decades I was responsible for every layer of the stack, from server architecture and database design to product and front-end experience.
Intervals was acquired in 2025. Since then, I’ve been making sure the new owners are set up for success — overhauling the UI, building internal dashboards, and running customer discovery interviews to give them a clear path forward. Now that the handoff is complete, I’m exploring what’s next.
Most of my experience has been with small, high-output teams, which means everyone wears multiple hats, communication has to be tight, and there’s no room to hide behind process. I’ve spent a lot of time as the bridge between the technical and non-technical — translating between what customers need, what the product can do, and what engineering can realistically deliver.
Most recently, I led our team’s AI adoption: evaluating tools, integrating AI-assisted coding into our workflows, and building LLM-powered features directly into the product. The gap between what AI produces and what an experienced engineer knows is where things often break — and bridging that divide has become one of the things I do best.
When I’m not sitting in front of a computer you’ll find me pedaling around on a bike, reading books on the couch, and enjoying life with my wife and two teenage boys.