-
-
Sign up your group!
-
Github MR for this very project done entirely by Ensemble (on it's own code)
-
Merge your production code with a text! (Real images taken during testing)
-
Push changes anytime for any project!
-
Fix problems and make plans on the spot!
-
Clone and work on repos together wherever you are!
-
Ensemble isn't just for prod code but can make games like snake as well!
Inspiration
AI coding agents have completely changed how we build software, but almost all of them are designed for individuals. Everyone needs their own setup, their own workspace, and their own context. When one teammate is unavailable, progress slows down. Ideas get buried in group chats, decisions get scattered, and someone eventually has to translate everything into a working product.
But what if you could start building the moment an idea came to mind, together, without ever leaving the conversation? What if your mom or grandma could merge your pr from across the world as well?
What if the group chat wasn't just where ideas started, but where they came to life?
That's why we built Ensemble.
We wanted to make software creation as natural as having a conversation. One shared development environment, accessible to everyone, anytime, anywhere, through the iMessage group chats people already use.
No individual development setups. No switching between platforms. No waiting for one person to bring an idea to life. Just build together.
What it does
Ensemble transforms your iMessage group chat into a shared AI-powered development environment where anyone can turn conversations into working software.
Instead of relying on one person to operate an AI coding agent, the entire group collaborates with the same agent, sharing project context, ideas, and development progress.
Someone mentions an idea. Another teammate adds a feature. Someone else shares a photo or suggests a design. Ensemble understands the conversation, turns those ideas into a structured build plan, and asks for approval.
Reply "ship it," and Ensemble builds the application inside an isolated Daytona sandbox, then sends a live, playable link directly back into the iMessage group chat.
Everyone can immediately open the app, test it, and request changes. Ensemble builds and deploys updated versions while keeping previous links accessible, making iteration as simple as sending another message.
And Ensemble doesn't stop at building new applications.
With built-in GitHub integration and version control, teams can paste a repository link into the conversation, clone an existing project, understand its codebase, implement features, create branches, commit changes, open pull requests, and safely revert previous work.
The biggest difference? Development no longer depends on one person's laptop, availability, or individual AI session. The project belongs to the conversation, not a single developer.
Whether you're brainstorming with friends, collaborating on a hackathon, or maintaining a team project, Ensemble makes building software something everyone can participate in, wherever they are.
From idea to deployed application, in the same conversation where the idea began.
How we built it
We built Ensemble around two core technologies: Photon 2.0, which turns iMessage into a collaborative development interface, and Daytona, which provides the infrastructure for our AI agent to actually build, execute, and deploy software.
Photon 2.0 — Turning group chats into development workspaces. Photon is the foundation of Ensemble's collaborative experience. It connects our agent directly to real iMessage group chats, allowing multiple participants to interact with the same AI agent through messages, photos, and shared conversations. Rather than requiring every teammate to install an IDE, configure an agent, or open another platform, Photon lets us bring the entire development workflow into an existing conversation. From brainstorming and build approvals to progress updates and live deployment links, Photon makes the experience accessible to everyone in the group.
Daytona — Powering real software development from a conversation. Daytona is the execution engine behind Ensemble. When a group approves an idea, our agent uses Daytona to provision an isolated development sandbox, generate and modify project files, install dependencies, execute terminal commands, run tests, and serve a live application. Daytona also enables our repository workflows: Ensemble can clone existing GitHub repositories into sandboxes, implement changes on feature branches, and prepare commits and pull requests. Because development runs in Daytona's cloud-based environments, no teammate needs to keep a laptop running or configure a local development environment to participate.
Anthropic Claude and Claude Code power Ensemble's reasoning and implementation capabilities. They interpret group discussions, turn shared ideas into structured project briefs and design specifications, and generate working code inside Daytona sandboxes. We use Zod to validate structured model responses.
Our TypeScript and Node.js backend orchestrates Photon messaging, Claude's coding workflows, Daytona sandbox operations, approvals, background builds, and version history. Supabase/PostgreSQL, pgvector, and local Hugging Face embeddings support persistent conversation memory and contextual retrieval, with PGlite available for local storage.
Our frontend uses React, Vite, Tailwind CSS, shadcn-style components, Radix UI, Base UI, Motion, and Three.js through React Three Fiber to create our signup experience and animated product demo.
Sharp and heic-convert process iPhone photos for Claude and generated applications, while Puppeteer checks generated pages for browser errors and feeds failures back into an automated repair attempt.

Challenges we ran into
Traditional AI coding agents operate within a single person's session. Ensemble needed to understand requests from multiple participants, maintain consistent project context, coordinate approvals, and prevent overlapping instructions from interfering with ongoing builds.
Incoming and outgoing group messages could use different space IDs, threaded replies weren't supported on our spaces, and iMessage link previews sometimes complicated GitHub repository URL detection. We had to build reliable message handling and conversation tracking to make the experience feel seamless.
We also needed to ensure generated applications worked before sharing them, using browser checks to detect failures and trigger repair attempts.
Another challenge was preserving images and other conversation context across multiple revisions, especially when teammates requested changes at different points in the development process!
Accomplishments that we're proud of
We're most proud that Ensemble makes collaborative software development possible directly from an ordinary iMessage group chat.
We built the complete workflow:
*Group conversation → Simple brainstorming → Group approval → Ensemble builds → Live deployment → Collaborative iteration → Final product *
Rather than simply suggesting code, Ensemble produces working applications that the entire group can immediately access, test, and improve.
Some of our biggest accomplishments include:
- A truly shared AI development environment, where multiple teammates collaborate with the same agent instead of maintaining separate coding sessions.
- Real iMessage integration through Photon, making the entire experience accessible from a conversation people already use.
- Sandboxed application building and live previews through Daytona, allowing ideas to become working applications without local development setups.
- Instant playable links and persistent versions, so everyone can test new iterations while previous builds remain accessible.
- GitHub repository integration and version control, including cloning, branches, commits, pull requests, and safe rollbacks.
- Conversation-aware personalization, allowing shared photos, ideas, and inside jokes to become part of the applications being built.
What makes Ensemble special isn't just one of these features. It's bringing planning, coding, deployment, and version control into one shared experience, without requiring the group to leave its conversation.
What we learned
-A useful shared agent needs persistent memory which is really hard to integrate with shared context in a group setting, and managing that was a big skill!
-How cloud-based development environments can remove the technical barriers between having an idea and building it. By giving our agent a real environment to execute code, test applications, and serve live previews in real-time was a big one!
What's next for Ensemble
Our vision is to make Ensemble the easiest way for any group to build software together.
We want to make Daytona-powered builds even faster, improve automated testing and repair, and introduce parallel development workflows so multiple features can be built simultaneously without interfering with one another.
Beyond iMessage, we envision bringing the same collaborative coding experience to other messaging platforms, making software development accessible wherever people already communicate. We can also integrate team-sharing features and split works where multiple agents can work in unison.
Ultimately, we want you to build from anywhere, together.
Built With
- anthropic
- claude
- claude-code
- daytona
- github
- hugging-face
- imessage
- node.js
- pglite
- pgvector
- photon
- postgresql
- react
- shadcn-ui
- sharp
- supabase
- tailwindcss
- transformers.js
- typescript
- vite
- zod



Log in or sign up for Devpost to join the conversation.