Project Info
What Inspired Us We imagine a future where you could just talk to an AI about what’s slowing you down — bugs, cluttered data, messy workflows — and instead of giving you another list of “steps to try,” it would actually build the tools to fix them for you. That’s where DAGr began. We wanted to merge the intuitiveness of conversation with the autonomy of agents so that a few spoken words could spark an entire AI workforce into action. We drew inspiration from: The human desire to delegate — to have something that truly helps, not just advises. The evolution of AI — from chat to reasoning, from reasoning to acting. And from our own frustrations — long hours debugging, cleaning data, or managing systems when we knew AI could do more. DAGr is that missing bridge — between voice and action, between thought and execution. What It Does DAGr is a voice-powered AI platform that turns conversation into automation. You talk to it like a human: “I’ve been struggling to organize my schedule lately.” It listens, transcribes, and sends your words to a reasoning layer, which interprets your goals. If the problem is actionable, Claude drafts a specialized agent definition. DAGr then deploys that agent using the Agentverse network — instantly creating a helper that works for you. With DAGr, a simple log into your journal transforms into conversation that creates capability. Two Modes: Journal Mode – A reflective, conversational mode where you share thoughts or ideas. DAGR listens and offers intelligent, memory-aware responses, drawing on past conversations and stepping in to create an assistive agent when necessary. Agent Mode – When DAGR identifies a concrete task, it automatically creates or activates a dedicated agent to solve it (e.g., scheduling, cleaning data, managing logs). Every dialogue has the potential to birth a new digital teammate. How We Built It DAGR is built on the intersection of voice interaction, reasoning LLMs, and autonomous agents: Speech-to-Text & Text-to-Speech (Fish.AI) Converts natural conversation into text and back to speech for a seamless two-way dialogue. In journal mode, this enables the AI assistant to have a conversation with you. Speech-to-Text & Text-to-Speech (Fish.AI) Converts natural conversation into text and back to speech for a seamless two-way dialogue. In journal mode, this enables the AI assistant to have a conversation with you. Reasoning Engine (Claude) Interprets user intent, determines whether to respond conversationally or generate an agent plan. Outputs structured JSON/YAML defining which agents to call or how to create a new one. Reasoning Engine (Claude) Interprets user intent, determines whether to respond conversationally or generate an agent plan. Outputs structured JSON/YAML defining which agents to call or how to create a new one. Agent Execution (Fetch.ai) Each agent is a uAgent with a specific purpose — like DataCleaner, Scheduler, or LogAnalyzer. The Orchestrator Agent manages creation, coordination, and communication between agents. Agents are deployed to AgentVerse.ai, where users can go in and make manual changes as necessary. Agent Execution (Fetch.ai) Each agent is a uAgent with a specific purpose — like DataCleaner, Scheduler, or LogAnalyzer. The Orchestrator Agent manages creation, coordination, and communication between agents. Agents are deployed to AgentVerse.ai, where users can go in and make manual changes as necessary. Dynamic Agent Generation (Python Backend) When Claude outputs a “create_agent” instruction, DAGr compiles it into code, deploys it as a new Fetch.ai uAgent, and registers it for future use. Dynamic Agent Generation (Python Backend) When Claude outputs a “create_agent” instruction, DAGr compiles it into code, deploys it as a new Fetch.ai uAgent, and registers it for future use. Frontend (Web App) Clean React + Tailwind interface that allows switching between Journal and Agent modes and deploying your active agents. Frontend (Web App) Clean React + Tailwind interface that allows switching between Journal and Agent modes and deploying your active agents. Challenges We Ran Into Bridging AI reasoning and real-world execution: Getting Claude to produce usable, secure agent definitions required tight prompt engineering and validation layers. We ultimately wrote a proprietary algorithm that loops over natural text, extracting as much information as possible into a more parsable YAML file. Bridging AI reasoning and real-world execution: Getting Claude to produce usable, secure agent definitions required tight prompt engineering and validation layers. We ultimately wrote a proprietary algorithm that loops over natural text, extracting as much information as possible into a more parsable YAML file. Managing live agent lifecycles: Creating, running, and communicating with dynamic Fetch.ai agents in real time while maintaining state coherence wasn’t trivial, especially automating the Fetch.ai agent generation from a single Claude prompt. We decided on YAML to pass in the most detailed information we could. Managing live agent lifecycles: Creating, running, and communicating with dynamic Fetch.ai agents in real time while maintaining state coherence wasn’t trivial, especially automating the Fetch.ai agent generation from a single Claude prompt. We decided on YAML to pass in the most detailed information we could. Seamless voice integration: Synchronizing speech recognition (STT), reasoning latency, and speech synthesis (TTS) so that the user experience felt natural took careful orchestration, especially in journal form. We wanted an experience where the AI felt helpful, not intrusive. Seamless voice integration: Synchronizing speech recognition (STT), reasoning latency, and speech synthesis (TTS) so that the user experience felt natural took careful orchestration, especially in journal form. We wanted an experience where the AI felt helpful, not intrusive. Accomplishments That We’re Proud Of We built a full-stack system that connects voice, reasoning, and autonomous agents — live. Our LLM can not only chat, but actually design and deploy new AI helpers on the fly. DAGr can create Fetch.ai Agentverse agents from natural conversation — a glimpse into a true agentic AI swarm. The system works across domains: DevOps, data organization, personal productivity, and more. What’s Next for DAGR We see DAGR as more than a hackathon project; it’s the beginning of a new AI paradigm. Coming soon: Enterprise Integrations – Connecting DAGR to APIs like Slack, Notion, Jira, GitHub, and Google Workspace. Mobile App – A portable voice-first AI workspace that travels with you. Desktop App – Overlays on your computer so you can watch the agents complete tasks in live time, not just through logs but with your own eyes. Our vision: To create an ecosystem where anyone can speak their needs and watch a custom AI team assemble itself to help. Team DAGR Built by Max Fan, Akshat Kannan, Josh Pham, and Parth Sheth at CalHacks 2025. “From conversation to creation, DAGr AI builds custom AI solutions for you.”
Analysis
View
Metric
- 42
- 21
- 14
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FlaskIn code
- HTMLIn code
- JavaScriptIn code
- OpenAIIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Node.jsClaimed
9 of 10 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
- GitHub CopilotConfig
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
344 KB
Source files
61
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
maxzfan/dag
88 files · 1.3 MB · @ 6a5bb3f
Structure
Interface
15 files · 17%Screens, components and styles rendered to the user.
Application logic
28 files · 32%Domain rules, services and shared utilities.
+1 more
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python42%
- TypeScript30%
- Markdown24%
- YAML2%
- CSS1%
- JavaScript1%
- Other (3)1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 22- @radix-ui/react-collapsible
- @radix-ui/react-dialog
- @radix-ui/react-scroll-area
- @radix-ui/react-separator
- @radix-ui/react-slot
- @radix-ui/react-tooltip
- @types/node
- class-variance-authority
- clsx
- lucide-react
- react
- react-dom
- tailwind-merge
- tailwindcss-animate
- +8 more
backend/requirements.txt
pypi · 7- fish-audio-sdk
- flask
- flask-cors
- openrouter
- python-dotenv
- PyYAML
- requests
backend/agents/agent_weather-app/requirements.txt
pypi · 4- openai
- python-dotenv
- requests
- uagents
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.