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 →
.jacsource → 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
.jacfiles - Scheduled triggers alongside iMessage
- Pre-built MCP integrations (GitHub, Slack, Notion)
Log in or sign up for Devpost to join the conversation.