
| A bit about me... |
|---|
| 🥼 Head of AI Research and Development @ Pieces |
| 👨💻 Chief Technology Officer @ Phytomech |
| 📈 MS graduate in Applied Mathematics @ University of Washington |
I’m super cool. You should follow me on at-proto.
What I’m Working On¶
🤖 Robotics & AI¶
Currently knee-deep in robotics, working on connecting maniskill with lerobot. Building systems that help people explore and share their ideas, whether that’s robotics, math, or anything else.
🌱 Hydroponics & 3D Printing¶
Designing and printing vertical grow towers using FreeCAD and Python. Working on modular, stackable systems with precise water flow control and optimal plant spacing. The goal is to make high-efficiency growing systems that are both beautiful and functional.
🖥️ High-Performance Computing¶
Working with Slurm to manage computational resources for everything from robotics simulations to hydroponic system design. Building tools that make it easier to run complex simulations and process large datasets.
✍️ Technical Writing¶
Building a better system for technical content – not just another AI writing tool, but a system that helps organize scattered knowledge into coherent structures. Whether it’s a tweet, a blog post, or a book, the goal is to help people maintain consistency and build on their ideas without losing the human element.
🖧 Infrastructure¶
Working on a hybrid setup that combines local development with executable books, cloud runners, and bare-metal hardware so experiments can scale from a laptop to the cluster with minimal friction.
Recent journal entries¶
Back on my bullshit. I don't really feel like giving the whole rundown but I'll just give a current snapshot of where I'm at today. `karla` is a letta agent that I've created in python that has most of the capabilities of letta-code. I built it to be a CLI agent and
Been thinking more and more like I should probably look at maybe just using trae-agent. The damn thing worked well. That's how I started and then I go back to using the IDE because it's easy and I can interrupt but like I started using open source coding agents for
I bought a smartwatch. I'd always bought the super cheap bands on amazon but the last one I bought didn't actually work so if you try to save too much money you just end up wasting it. I went with the Galaxy 7 smartwatch. I've got plans to set up an
I went down a little bit of a rabbit hole in 2025 on learning new languages for coding because with the coding agents you can write in pretty much whatever language makes the most sense for the problem versus whatever it is you personally know. So I'm trying to not be
I started using the elliptical and I've been talking the dogs for at least two walks a day but I enjoy using the elliptical and getting sweaty just for the hell of it honestly. It feels good to move and exercise. I have been talking to fucking LLMs way too god
I ported the agent backend of [opencode.ai](https://opencode.ai) to rust and I couldn't figure out how I wanted to put together the frontend. I started with dioxus, realized doing web editor with syntax highlighting in the browser with rust is like putting a man on the moon, and decided I needed
:::{figure} ../images/amd-ryzen-ai-max-plus-395.jpg This thing is making me fucking work too damn hard ::: All of this work is fundamentally about **building a self-improving AI development ecosystem**. I'm not just keeping this thing running like a top - I'm creating an autonomous system that can process a massive backlog of projects, execute them with
I spent this weekend [building][julia-agent-exploration] something I've been thinking about for a while: a Julia-native alternative to Python's LangGraph framework. This wasn't about porting LangGraph to Julia - it was about creating something that leverages Julia's unique strengths while maintaining the core patterns that make LangGraph useful. LangGraph has some great
I've been investigating the Zed codebase to understand how their agent system works, and I discovered a fascinating architectural pattern that's worth documenting. If you've ever wondered how Zed's AI chat system works under the hood, this post is for you. The key discovery is that **`agent2` is indeed a wrapper