Hi HN! I'm Nick from Inkeep. We built an agent builder with true 2-way sync between code and a drag-and-drop visual editor, so devs and non-devs can collaborate on the same agents. Here’s a demo video: https://go.inkeep.com/video.As a developer, the flow is:- Build AI Chat Assistants or AI Workflows with the TypeScript SDK- Run `inkeep push` from your CLI to publish your agent- Edit agents in the visual builder (or hand off to non-technical teams)- Run `inkeep pull` whenever you want to edit in code again.We built this because we wanted the accessibility of no-code workflow builders (n8n, Zapier), but the flexibility and devex of code-based agent frameworks (LangGraph, Mastra). We also wanted first-class support for chat assistants with interactive UIs, not just workflows. OpenAI got close, but you can only do a one-time export from visual builder to code and there’s vendor lock-in.How we use it: I bootstrapped a few agents for our marketing and sales teams, then was able to hand off so they can maintain and create their own agents. This has enabled us to adopt agents across technical and non-technical roles in our company on a single platform.To try it, here’s the quickstart: https://go.inkeep.com/quickstart.We leaned on open protocols to make it easy to use agents anywhere:An MCP endpoint, so agents can be used from Cursor/Claude/ChatGPTA Chat UI library with interactive elements you can customize in ReactAn API endpoint compatible with the Vercel AI SDK `useChat` hookSupport for Agent2Agent (A2A) so they work with other agent ecosystemsWe made some practical templates like a customer_support, deep_research, and docs_assistant. Deployment is easy with Vercel/Docker with a fair-code license. There’s a traces UI and OTEL logs for observability.Under the hood, we went all-in on a multi-agent architecture. Agents are made up of LLMs, MCPs, and agent-to-agent relationships. We’ve found this approach to be easier to maintain and more flexible than traditional “if/else” approaches for complex workflows.The interoperability works because the SDK and visual builder share a common underlying representation, and the Inkeep CLI bridges it with a mix of LLMs and TypeScript syntactic sugar. Details in our docs: https://docs.inkeep.com.We’re open to ideas and contributions, and would love to hear about your experience building agents - what works, hasn’t worked, what’s promising?Comments URL: https://news.ycombinator.com/item?id=45604700Points: 4# Comments: 0