Hi there, I'm Andy.

I build Rails & AI apps that keep working, for everyone who uses them.

I'm a senior Ruby on Rails & AI product engineer: on Rails since 2008, working with production AI every day, and remote with US and European teams since 2011. Hire me for a senior role, or bring me in to fix your app, keep it healthy, or make it work for everyone.

2005
Building for the web since
2008
Ruby on Rails since
2011
Remote, US & EU teams
2025
Production AI, daily

A few things I've built over the years.

Video ads, made with AI

Senior Rails & AI Product Engineer, Adwave · 2025–2026

Rails · AI workflows · Background jobs · Browser QA

Adwave is a Rails product for generating video ads and managing campaigns. I worked on the workflows where AI tasks, background jobs, outside services and deterministic media generation all hand work to each other, and on agentic editing and the operations tooling behind it. I paid close attention to the parts users never see: structured state, observability, tests and browser-based QA.

Bookings and payments for swimming lessons

Independent product engineer · since 2020

Rails · Stripe · Scheduling · Reporting

A platform for selling swimming lessons and products. I built and maintained it on Rails with Stripe: payments, instructor availability, the scheduling rules that decide what can be booked and when, and the admin and reporting behind it all.

A portal for connected health devices

Ruby on Rails Engineer, Spire Health · 2019–2020

Rails · Charts · Device data

Spire Health's clients work with health data from connected hardware. I built the portal where they review that data and manage how each device is configured, working across the Rails back end and the front end on charts, data handling and controls that make the data easy to understand.

Developer, product manager, remote engineer, open‑source contributor.

I started in 2005 in Beijing, writing VBScript, C# and Java for Japanese customers. In 2008 I joined Idapted, an international English-learning startup, and started building with Ruby on Rails. After it merged with Eleutian in 2010, I was promoted to senior product manager and became the technical bridge for customers in Korea and elsewhere.

In 2011 I joined Intridea and started working remotely with US teams, on more than ten client projects across Rails, Backbone, Angular and D3.js. I also wrote technical articles and presented our engineering practices.

Since 2015 I've mostly worked independently, on Rails and React apps across content, commerce, data and SaaS, with stints at Spire Health and, most recently, Adwave.

These days I build AI features into Rails apps, and I contribute fixes back to the open-source libraries I rely on, like RubyLLM and ActiveAgent.

What I reach for first, and what I've spent the most years inside.

Ruby on Rails
since 2008 · core daily tool
Rails 5–8 · Hotwire · Active Record · Solid Queue · Sidekiq · RSpec · Minitest
Production AI
current focus · daily
RubyLLM · ActiveAgent · Agentic workflows · Structured outputs · Tool calls · Evals · Cost control · OpenAI / Claude / Gemini
AI interfaces
latest work
Streaming agent UIs · AG-UI · OpenUI · Approval flows · Browser tools · Rails views as tools
Backend & data
since 2005
PostgreSQL · SQLite · MySQL · Redis · 100GB+ datasets · ETL · Stripe · Webhooks
Front-end
where it earns its keep
Hotwire · Turbo · Stimulus · React · TypeScript · Tailwind · Vite · D3.js
Infra & ops
deploy, run, observe
Kamal · Docker · GitHub Actions · AWS · Heroku · Sentry · Honeybadger

Need a hand with your app? Here's how I can help.

Three ways to work with me, each for a different kind of problem. You work with me directly, and we agree everything in writing before I start.

For a Rails app your business runs on

Rails maintenance

Your app has real users and needs an experienced pair of hands to keep it healthy.

  • A short check-up to find what's really wrong
  • Careful fixes, agreed before I start
  • Monthly care so it stays that way
For an app built with AI tools

VibeCare

Built it with Cursor, Lovable or Claude Code? I'll fix what's broken and keep it running.

  • Rescue for a broken or unfinished app
  • Monthly bug fixes and updates
  • Plain-English notes on what changed
For sign-up, checkout and key forms

Accessibility

Make sure everyone can finish the important tasks, including people using a keyboard or a screen reader.

  • A careful review of one key task
  • Fixes in your own code, with tests
  • Check-ups so it stays fixed

Not sure which one fits? Email me a few lines about your app →

Merged upstream in the Ruby & AI libraries I build on.

Fixes and features contributed back to the projects my own work depends on — mostly reliability: provider protocols, tool calls, attachments, structured output, caching and cost accounting, evals, and Rails integration.

LLM toolkit for Ruby · 2026
  • Agentic processing for Gemini video attachments
  • Prompt-cache boundaries kept across persisted chats
  • Accurate cost accounting for Cohere, Azure Grok and repriced models
  • Action Text preloading to remove N+1 queries
Rails AI agent framework · 2026
  • RubyLLM 2.x support: usage, streaming, protocol options
  • Tool-call replay and structured output fixes
  • Model evals with statistical intervals and P95 latency
  • Nested has_many arrays in ActiveModel schemas
React inside Rails · 2015–2016
  • Install generator fixes and clearer --help
  • Server-rendering config fixes and warnings
  • Started the project CHANGELOG
  • Dropped the jquery_ujs dependency

Plus Langchain.rb, Rails gems and my own RubyLLM extensions. See all →

Selected recommendations from people I've worked with — over fifteen years.

"
Andy is very intelligent and has a strong understanding of web development principles. I've always been comfortable handing him a project and knowing that he'll be able to solve even the most difficult problems.
Chris Selmer
Software Engineer · Rails & system architecture
"
Andy is an experienced software engineering professional that excelled at tackling every single challenge thrown at him. I had witnessed him pick up several different codebases and be instantly productive.
Andrei Bondarev
Helping enterprises accelerate AI adoption
"
A superstar with a finely honed ability to deliver well-tested, well-executed code. Consistently amazed with his ability to think creatively to solve hard problems with the resources on hand.
Maggie Lubberts
VP Product, Allovue
"
Any kind of bug or feature he took on was done quickly and done well. He communicated very clearly when he needed clarification. I never needed to worry that something would get done.
Matthew Wells
Director of Engineering · AI Automation

Read the rest on LinkedIn →

Have something that has to keep working?
Let's talk.

I'm open to senior Rails and AI product engineering roles, and I take on the three services above. I'm most useful where there are real users, real workflows and a codebase that has to keep running while it changes. I work from UTC+8 and I'm well practised at meeting US and European teams in the middle. Tell me what you're working on.