zackham
https://stepwise.run/ Portable workflow orchestration for agents and humans
https://github.com/zackham/aloop Embeddable Python agent loop for integrating LLM agents into your projects. Multi-provider (OpenRouter, OpenAI, Anthropic, Google, Groq), built-in tools, hooks, ACP server, and persistent sessions.
https://github.com/zackham/plat An embeddable infinite canvas to build on. Bring your own node types; drag, zoom, edges, auto-layout, and undo come free. Host-agnostic storage, runtime API built for agents.
https://github.com/zackham/seance Shared live workspace for humans and agents — multi-pane terminals, notes, and a control plane for co-working in the open.
deep dive docs for my personal agent system i've been developing since dec, and using constantly: https://vita-docs.ham.xyz/overview/
browser replacement for stuff i control: https://vita-reports.ham.xyz/s/2119130b0b6b
a snapshot in time of the education system i run for my kids: https://vita-reports.ham.xyz/s/e7036ae931a7
if you want to talk about any of this stuff, or have a related project you think i'd appreciate, hit me up [email protected] or @zackham on telegram. abundance is here for personal software. take advantage of it and have fun!
Seance: Human first, agent friendly. Tiling terminal+ workspaces (Rust+GPUI)
Here's an earlier version of my podcast generation flow before I built narrate: https://stepwise.run/flows/podcast-deep
Show HN: Narrate – Generate multi-voice long-form audio with one command
5,877 Messages Later: Lessons in Controlling Agents with Telegram
the separate topics approach along with allowing other processes to enqueue messages into the session stream solves state pretty tidily, see "the session as decision-maker" in the linked report
Telegram as an Agent Control Plane
Show HN: Clux – Simple session manager for Claude Code
I juggle 5-6 Claude Code projects and kept losing context when switching between them or when a terminal died. Built clux to fix that.It wraps tmux to give you named, directory-scoped sessions with automatic context restoration via `claude --resume`. Start with `clux new api`, detach whenever, `clux attach api` later. Survives terminal crashes, reboots, whatever.Has a TUI for browsing sessions...
Show HN: Scout – micro-game teaser for a map-based cycling RPG
One-day experiment using claude code and grok heavy to build a tiny teaser for Scout, a map-based cycling RPG we’re about to release in Portland, OR. I’m a founder of Ride with GPS, and figured a playable prototype would be more fun than a static email form.Gameplay: - Click an icon -> fetches a real route from our routing service -> auto-rides it (~400×, 12 mph). - Collect items,...
I put together this landing page start to finish yesterday (thanks claude/grok), and am hoping it's effective in generating some initial interest. Looking for any feedback you have, small/large, however blunt, to dial it in and make it work for us.
Show HN: Scout – micro-game teaser for a map-based cycling RPG
One-day experiment using claude code and grok heavy to build a tiny teaser for Scout, a map-based cycling RPG we’re about to release in Portland, OR. I’m a founder of Ride with GPS, and figured a playable prototype would be more fun than a static email form.Gameplay: - Click an icon -> fetches a real route from our routing service -> auto-rides it (~400×, 12 mph). - Collect items,...
We are the world's best library of bike routes, and we enable cyclists to go on better rides, more often. We have a website and mobile apps that allow people to discover the best riding in their area, and get turn by turn navigation using either our mobile apps or the bike computer of their choosing. Come join us in taking Ride with GPS to the next level!
Senior Software Engineer - iOS Development: We have a technically interesting, battery efficient app that offers a full-featured bike computer (ride recording, & route navigation), a route planning tool, as well as ride management, analysis, and more. We're looking for a talented iOS engineer to help us take what we've done to the next level.
Details, and application process available here: https://ridewithgps.com/careers/job_postings/2025-ios-engine...
I can get by just fine with that system, but a handful of months back I started wanting software again. Reminders, task wrangling, workflows around taking meeting notes, taking and processing transcripts of talking through ideas, automated daily and weekly checkins with summaries, project work logs, managing lists of things to talk about with people, the list goes on....
Same reasons I have always reached for software, and the same reasons I wrote my own system a few times over. But this time I had some new thoughts:
- I want this to have a chance at being my last system. For that, I must be able to read/edit the data without special software. I settled on committing to building software that interfaces with folders of Markdown files exclusively. I could use Obsidian to cover any gaps and get work done immediately–I don't need my software to do it all right away.
- I want to own as much of my recorded activity/thoughts as possible, so I can drop it into new AI models, giving them a ton of context about me and what I'm up to, and avoid getting vendor locked to OpenAI.
- I want ubiquitous access to the system, which means it's gotta be easily used from a phone.
7k LOC later and I've got a Telegram bot with a plugin architecture and a pile of plugins that implement everything I've described and more. The plugin arch means there's a defined interface and every new piece of functionality never ends up with more than 1k LOC in a file. My objective was to structure the project specifically so I could avoid the pitfalls of AI generated code as projects get large. Everything isolated with well defined integration points.
I chose Telegram because they have a great API, supporting custom keyboards for quick actions, audio input for taking voice memos that my system transcribes, and reaching out to me with reminders/requests on whatever device I'm on.
The result is thousands of messages that have translated into a nicely organized Obsidian vault. Couldn't be happier and think there's a chance I'll live with this thing for the foreseeable future–and I can always swap out the interface away from Telegram, build a proper frontend, or drop it altogether and be left with my Markdown files.
If anyone is interested I'd be happy to share what I've got. Just my private project that I'm reaping a lot of benefit from.
Here's a quick dump of some of my plugin commands to get a flavor of what I'm talking about: https://gist.github.com/zackham/3c2d061e6dd0127958c913329aa0...
More details here: https://ridewithgps.com/careers
We're a small but very strong team (28 of us) helping people have a better time on their bikes. Specializing in route planning & ride recording (with an established website and popular app), we work closely with individual riders, clubs, events, tour companies, and more. Currently looking for a strong dev for Frontend Web (mostly React).
We work reasonable hours, have great benefits, love solving problems for our customers, go on bike rides and encourage each other to live healthy happy lives. It's a really nice working environment with a cool product and customer.
Please inquire for more info: [email protected]
[1] https://tim.blog/2021/10/25/eric-schmidt-ai/
[2] https://hiddenforces.io/podcasts/eric-schmidt-ai-human-futur...
I'll throw my hat in with those on the sidelines excited for the language we're stuck writing more of than we may want to, getting another piece of syntax that improves the ergonomics in a lot of little cases. Much like destructuring, much like the optional chaining and null coalescing. It will be nice to avoid the occasional temp variable that isn't useful for readability, or to rearrange expressions that read better applied than composed... but mostly I'm looking forward to how much nicer a pipe operator makes iteratively doing something in the console.