Inspiration
The AI revolution will hit everyone. What we don't know is how. Today, only about 1 in 5,000 people can use AI to build something that actually works. The other 4,999 (teachers, doctors, lawyers, carpenters, moms and dads) are watching the revolution from the outside.
We also asked ourselves a second question: if AI agents can do real work, can they run an entire company? Not one automated feature, but the whole organization. Ganesha is our answer to both questions.
What it does
Ganesha is an agentic AI school. Students learn AI on the same screen where they build something meaningful to them, and they finish with a real, useful product live on the internet. A teacher ships a grading assistant. A carpenter ships a quoting tool. No slides, no theory first.
Impact is built into the business model: every paid subscription unlocks 10 free seats for Brazilian youth in need, through our partner NGO Developers of Tomorrow, which has already helped thousands of young people get out of poverty through technology.
And Ganesha runs itself. It is an autonomous organization where AI agents build the product, market it, support students, reconcile revenue and deliver the social impact.
How we built it
The product is built by five specialized agents working in parallel with shared specifications and review cycles:
- Diretor (Director) coordinates priorities, assigns responsibilities, integrates deliverables and verifies quality before release.
- Devorador (Researcher) finds and studies tutorials, documentation and videos, turns them into traceable evidence, and spots updates the courses need.
- Educador (Educator) turns that research into beginner-friendly learning paths, practical examples, exercises, assessments and content in 11 languages.
- Artista (Designer) shapes the visual identity and learning experience, checking usability, accessibility, mobile layouts and language compatibility.
- Construtor (Builder) implements the application (lessons, navigation, assessments, saved progress) and tests the complete experience.
Research informs teaching, teaching guides design and implementation, and the Director brings everything together into a tested release.
Growth is run by a team of 7 agents in Slack. They share one Slack app (@Growth Agents), and each one signs its messages with its own name and icon. They take requests from humans and from agents in other departments the same way, and they delegate to each other in threads:
- 🎯 Growth Lead: the entry point. It breaks requests into tasks, delegates them to the right teammate and replies with a summary of what was done and what is waiting for human approval.
- ✍️ Creative: reads the landing page and writes Meta Ads copy across different angles (pain, benefit, social proof, curiosity, urgency), within Meta's character limits and ad policies.
- 💰 Paid Media: runs Meta Ads (Facebook and Instagram). It creates campaigns, pauses ads whose CTR is less than half the average (after 1,000+ impressions), asks Creative for new variations of the winners, and raises budgets by at most 30% at a time.
- 📊 Analytics: reads impressions, clicks, CTR, CPC and spend, names the best and worst ads, and hands concrete recommendations to Paid Media. An hourly routine triggers it automatically.
- 🔍 SEO: runs a deterministic technical audit of the landing page (title, description, JSON-LD, Open Graph, robots, sitemap) and delivers ready-to-paste fixes in priority order.
- 🤖 GEO: measures whether ChatGPT-style assistants recommend Ganesha. It asks 5–8 questions a real learner would ask, without naming the brand, with web search on. It records whether we were cited and which sources were cited instead, repeats the same questions every week and tracks the trend.
- 📝 Content: every day it picks a topic, researches it and writes a blog article aimed at the gaps GEO found. After approval it publishes the whole blog to GitHub Pages in a single commit, including sitemap.xml, robots.txt, llms.txt and BlogPosting/FAQPage structured data.
The agents form a loop. GEO finds the questions where AI assistants don't mention us. Content writes articles that answer them. SEO fixes what stops the pages from being found. Analytics and Paid Media keep optimizing paid traffic.
The rest of the company is run by agent teams in Slack:
- Product & DevOps: ship features to production, then brief the growth team on what to market next.
- CS & Finance: onboard students, answer questions and reconcile revenue.
- Donation agent: listens to Stripe webhooks. Every new subscription automatically provisions 10 licenses for the NGO. Money in means impact out, with zero humans involved.
- CEO agent: sets priorities, routes work between teams and enforces safety.
Stack: Python, Claude (Anthropic API with tool use and web search), Slack Bolt, the Meta Marketing API and GitHub Pages.
Safety by design. Every rule here is enforced in code, not in the prompt:
- New campaigns are created paused and only go live after a human clicks ✅ in #growth-aprovacoes.
- Hard spend caps: R$ 300/day per ad set and R$ 1,000/day in total.
- Every budget change is announced in #growth-alertas.
- Blog articles need human approval, and there is a daily publishing cap.
- Anti-loop limits: at most 3 chained delegations and 15 agent runs per thread.
- Every action is logged with its reason, and
/growth-stoppauses everything instantly.
Challenges we ran into
- Autonomy vs. control: deciding which actions agents can take alone and which must pause for a human. We solved it with approval gates in Slack and limits enforced outside the model.
- Agents talking to agents: agents that delegate to each other can loop forever or ping-pong a task. We added delegation depth limits, per-thread run caps and a rule that an agent never delegates back to whoever asked.
- Measuring GEO honestly: asking an AI "do you know Ganesha?" proves nothing. The questions must come from a real learner's point of view and never mention the brand, and they have to be repeated over time to show a trend.
- Reproducible SEO: LLM-only audits gave different answers on each run, so the technical audit is plain Python and always returns the same diagnosis for the same page.
- Quality across 11 languages: keeping content accurate, beginner-friendly and well laid out in every language required dedicated review cycles between the Educator and Designer agents.
Accomplishments that we're proud of
- A 7-agent growth team working in Slack that takes requests from humans and from other agents alike.
- The first GEO baseline: across 7 real learner questions, AI assistants cited Coursera, Microsoft Learn and Elements of AI, and Ganesha 0 times. Now we have a number to beat.
- An autonomous blog that is already live, with its first article published by the Content agent: "How to Use AI Responsibly at Work: A 6-Step Checklist."
- Full Meta Ads campaigns created end to end (copy, ad sets, ads), each one waiting for human approval before spending a cent.
- Agentic payments with real impact: a Stripe subscription automatically becomes 10 free seats for Brazilian youth in need.
- Covering all three hackathon tracks in one project: Agentic Payments, Agents That Deploy Infrastructure and Autonomous Organizations.
What we learned
- Autonomous doesn't mean unsupervised. The most important design work is deciding where humans stay in the loop.
- Specialized agents with narrow roles, clear handoffs and their own tools outperform one general agent trying to do everything.
- Guardrails belong in code, not in prompts. Limits the model can't override are what make autonomy trustworthy.
- Deterministic tools plus LLM judgment beat either one alone: code measures, agents interpret and act.
- Being invisible to AI assistants is the new "not ranking on Google", and it can be measured.
- Impact is most credible when it's automated: if the donation is a line of code, it can't be forgotten.
What's next for Ganesha
- Connect the real Meta ad account and launch the first approved campaigns.
- Close the GEO loop: publish content for every question where we weren't cited and track the citation rate week by week.
- Connect Search Console and CRM data so Growth optimizes for students, not just clicks.
- Launch with our first paying cohorts and the first NGO-funded students in Brazil.
- Give the agents more autonomy as trust is earned, measured by the action logs.
Built With
- claude
- css3
- html5
- javascript
- next.js
- node.js
- openai-codex
- python
- react
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.