Turning complex workflows into product systems that keep running.

I'm Andy Wang, a senior Ruby on Rails & AI product engineer normally based in UTC+8 timezone — more than two decades building web applications, on Rails since 2008, remote with US and European teams since 2011, and an active open-source contributor.

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

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

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 a product with real users and a codebase that has to keep working?
Let's talk.

I'm looking for my next role, and I'm most useful where there are real users, non-trivial workflows, and a codebase that must keep running while it changes. Open to senior Rails and AI product engineering roles, AI workflow integration, and end-to-end delivery. UTC+8, but well practiced at meeting US/EU teams in the middle.