Inspiration

Existing AI workflow tools — ChatGPT, n8n, Zapier — lock your data in the cloud, force you into their ecosystem, and can't touch your actual desktop. We wanted a visual workflow builder that runs locally, talks to your Mac, and isn't beholden to any single AI provider.

What it does

Swirl is a local-first visual workflow builder that turns natural language into executable AI agents on your Mac.

  • Natural language → workflow: Describe what you want, Swirl generates a visual graph
  • Desktop control: Automate Apple Notes, Finder, Calendar, Mail via macOS APIs
  • Custom Python: Drop in your own scripts as workflow steps
  • iMessage triggers: Text yourself to kick off any workflow
  • MCP integration: Connect to any Model Context Protocol server for extensible tools

How we built it

  • Jac (Jaclang) — Workflows are native graph-walker agents, not serialized configs
  • React + TypeScript — Visual canvas with drag-and-drop blocks
  • FastAPI — Backend for LLM orchestration and execution
  • AppleScript — macOS desktop automation bridge
  • MCP SDK — Dynamic tool discovery and execution

Challenges we ran into

  • Mapping visual blocks to Jac's unfamiliar graph-walker primitives
  • macOS permission grants per app for AppleScript automation
  • Managing MCP server lifecycle (spawn, health, cleanup)
  • iMessage has no public API — had to reverse-engineer Messages.app

Accomplishments that we're proud of

  • Jac-native execution — Real walkers traversing real graphs, not a wrapper
  • iMessage triggers — "Text yourself to trigger anything" is a demo crowd-pleaser
  • True local-first — Zero cloud dependency, your data stays on your machine
  • Round-trip codegen — Visual → .jac source → edit in IDE → re-import

What we learned

  • Jac's graph-walker model maps naturally to workflow execution
  • Privacy is an instant selling point — judges immediately got it
  • The "text yourself" pattern sparks use cases we never imagined
  • Desktop automation is powerful but fragile

What's next for Swirl

  • Cross-platform support (Linux, Windows)
  • Workflow marketplace for sharing .jac files
  • Scheduled triggers alongside iMessage
  • Pre-built MCP integrations (GitHub, Slack, Notion)

Built With

Share this project:

Updates