Hi there, I’m Chris.I build software for the web.

Nearly 20 years working with Ruby on Rails, and I still love it. I’m available now for hands-on engineering roles, and I also take on consulting projects.

I’ve been a solo consultant, a team lead, a VP of Engineering, and a CTO, and the part I like best is still the building.

A few things I’ve built and fixed over the years.

Unblocked PR reviews

CTO, Adwave · 2025
Rails, Playwright, GitHub Actions

At Adwave, an AI-assisted ad platform, every pull request came to me for final review and merge. The team was building with AI tools, so changes arrived faster and were often larger, and the queue grew past 25 PRs. I was the bottleneck, so I built a new path to production: preview environments with Playwright screenshots, AI review agents with specific requirements, code owners for sensitive areas like billing, and smoke-tested releases that roll back on failure. PRs stopped sitting for weeks. The agents review faster than I do. I’m still better at deciding what not to build.

Fixed memory-hog exports

VP of Engineering, Verumex · 2024
Rails, Sidekiq

Commercial real estate investors exported rent rolls, the lease-by-lease record of who pays what, to see how their properties were performing. The largest exports were failing. Sentry showed background workers running out of memory while assembling the CSV. I profiled it, benchmarked CSV libraries until I found one that used far less memory, and wrote helpers that stream files instead of loading them whole. The jobs had been failing. After the fix, they weren’t.

Automated wholesale inventory transfers

Independent consulting · 2020
Rails, SQL Server

A cherry farm’s staff prepared inventory files by hand and uploaded them to their wholesaler every day of harvest season. I built a Rails application that reads the packing line’s SQL Server database, translates each pallet into the wholesaler’s format, sends the files, and shows staff any rejections. It went live for the 2020 harvest. Five years later, the owner texted me that it was still running.

Developer, consultant,
CTO, thru-hiker.

I joined Intridea in 2007 as a web developer still learning Ruby and Rails and worked my way up to senior partner, helping grow the company to 50 people and a spot on the 2011 Inc. 500. I ran the consulting business, from client work to hiring and budgets. I also spoke at Ruby and Rails conferences in the US and abroad.

I went independent in 2015 and have since consulted for dozens of clients, on everything from Rails upgrades and code reviews to Python and AWS systems for monitoring truck tires.

Along the way, I spent several years as VP of Engineering at Verumex, a commercial real estate software company. More recently, I joined Adwave, an AI-assisted ad creation platform, as CTO.

Somewhere in the middle of all that, I took six months off to thru-hike the Appalachian Trail.

Something new to build?
Something old to untangle?

Product development

I build new products and substantial features, from the first working version through launch. I can take on the development myself or join your team and build it with you.

Existing software

Whether you’re dealing with overdue upgrades, slow pages, awkward code, or workflows that make users work too hard, I can help. For an established payments platform, that meant hands-on Rails upgrade work and code review.

Technical guidance

If you’re choosing an architecture or rethinking how your team builds software, I’ll tell you what I’d do and why, then help build it. I’ve made these calls as a consultant and as the CTO who had to live with them.

We can start with a conversation.

You don’t need a finished spec. We’ll talk through what you’re trying to accomplish and what’s getting in the way. Sometimes an existing tool is enough; sometimes a proof of concept helps us decide what to build.

Have something in mind?
Let’s talk.

I’m open to hands-on engineering roles, and I also take on consulting projects. I work remotely from the US East Coast. Tell me what you’re working on.

chris@cselmer.com
+1 831.275.2479

Connect with me on LinkedIn
github.com/cselmer

Download my resume (PDF)

Beyond Code

There’s life outside.

Shelves of old books beside a library ladder

People don’t come with documentation.

I was interested enough in counseling psychology to spend a semester in a master’s program. The degree didn’t happen. The curiosity stuck around - about how our minds work, how we relate to each other, and how much empathy starts with listening instead of getting ready to give advice.

A small stack of smooth stones

Mindfulness and meditation.

Meditation has helped me notice how my mind works. I still head down coding rabbit holes; I’m just better at noticing when I’ve done it.

A wooded trail winding through a misty forest

Six months on the Appalachian Trail.

In 2012, I thru-hiked the entire 2,168-mile Appalachian Trail. It’s still one of the best experiences of my life, and it wasn’t my last long walk. Turns out I’m happy with a lot less stuff than I thought. I also got pretty good at pooping in the woods.