folder icon Windows 95zach.dev
city icon Windows 95StartupCities
roman statue taking a selfie
Ionian columnfloating Orb1floating Orb2
Windows95 Program Icon
C:/zach.dev/home
Windows95 minimize window iconWindows95 maximize window iconWindows95 close window icon
Windows95 Directory IconWho?
I’m a software engineer and entrepreneur focused on modern web technologies and AI.

Here's an ongoing autobiography, which also shares the story of my by-the-bootstraps "unschooling" education: now the subject of a chapter on grit and resilience in the bestselling book Mindshift by Barbara Oakley.

An angel investor once described my core soft skill in the role of founder or early team member as: "The ability to perceive exactly what needs to be done. And then to do it."

My experience working in difficult environments around the world means that I can be trusted to get things done, even when things go wrong.

In the past, I coined the term "Startup Cities" as co-founder of StartupCities.org and a startup spinoff, both of which focused on why startups should build cities. I now write about Startup Cities at StartupCities.com

I've won several awards for economic research and have been published or interviewed in Virgin Entrepreneur, a16z's Future.com, The Atlantic's CityLab, Foreign Policy, and in academic volumes by Routledge and Palgrave MacMillan.

Wait... what is this site?
This is my personal portfolio, inspired by the question: "What would the opposite of the two-color template developer blog look like?"

Have fun exploring!

Click the Start Menu to learn more.

Contact:hello @ zach.dev
Windows95 Program Icon
C:/zach.dev/easy-agent
Windows95 minimize window iconWindows95 maximize window iconWindows95 close window icon

easy-agent

I've been hacking on a lightweight TypeScript framework that simplifies the creation and management of tool-wielding AI agents. There's so much boilerplate and plumbing involved in setting up agents, tools, defining input schemas etc. What I want it to just say "Here's an agent! And here's what it can do."

I ended up with a declarative-ish API like this:

import { EasyAgentCLI, Agent } from "easy-agent";

EasyAgentCLI.start([
  Agent.create({
    name: "MyAgent",
    prompt: "I am a helpful assistant that...",
    tools: [MyCustomTool],
  }),
]);

The mode (CLI) takes in an Agent which can take in prompts and Tools. Each primitive is a straightforward abstraction around that layer.

The above code creates an agent and launches it in CLI mode, ready for interaction with a tool.

I bundled a bunch of sample agents in with the library.

Check out the GitHub repository for full documentation and examples.

Sep 28 2024
<< Previous
Squarespace Export to Markdown Converter
Next >>
Easy MCP (Beta)
zach.dev
About Me
Music On
Home
Blog
Programming
Entrepreneurship
Speaking
Adventure
Unschooling
Windows 95 Flying Window logo
Start
Home
Easy Agent
volume button
10:24 PM
floating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloatingPng pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloudfloating pink cloud