RW

👋 I'm Rick Winfrey.

Understanding code, at scale, across languages, and across teams, is one of the hardest problems in software. It's a challenge for humans and AI alike, and I've spent my career building tools that help bridge that gap.

Most recently at Nuanced, I focused on bringing code intelligence to AI coding agents. I built Nuanced LSP, an LSP server multiplexer with a container-based architecture, which I wrote about in Scaling Precise Code Intelligence for AI Agents. I also built a TypeScript SDK and CLI to make it easy to integrate LSP into agent workflows, and Eval-Agent, a harness for analyzing multi-turn agent traces, measuring how code intelligence tooling affects task duration, cost, and token usage. You can read about the experiments I designed on Nuanced's blog, Evaluating the impact of LSP-based code intelligence on coding agents.

Prior to Nuanced, I spent ten years at GitHub building code intelligence and search systems. On the parsing and analysis side, I contributed to the Tree-sitter ecosystem and helped build Semantic, an experimental program analysis framework in Haskell. That work fed into GitHub code navigation: I helped build the distributed system powering jump-to-definition and find-all-references from the ground up, and later helped implement Stack Graphs, a novel approach to name binding resolution that powered precise code navigation. I also contributed to the initial version of Copilot Chat and designed and implemented its prompt-building library, and was a core member of the code search team that built Blackbird. I tried to capture what I learned in 10 Lessons from 10 Years at GitHub.

My initial passion was human languages (Japanese, Mandarin Chinese, and Korean), which led to a love of programming languages. I've worked across systems languages (Go, Rust), dynamic languages (Ruby, Elixir/Erlang, Python), and pure functional languages (Haskell), and have a deep appreciation for the lambda calculus, type theory, and functional programming. I also enjoy the challenges of large-scale distributed systems, profile-guided optimization, and designing concurrent solutions.

Outside of work, I'm nearing the completion of a MSc in the Software Engineering Programme at Oxford University. My thesis explores source code deduplication through the lens of content-defined chunking, and I've written up the background research as a series of blog posts. I expect to complete the program in May 2026. When I'm not studying, I enjoy the planning and precision of woodworking, the physical challenge of surfing, and attempting to make a perfect Neapolitan pizza. Thanks for visiting.