Inspiration

I built Vumbi AI because I've lived the problem. Running a small business means wearing every hat—product, sales, support, and marketing. I was spending 10–15 hours a week on repetitive marketing tasks: checking SEO, fixing broken links, following up with leads, and generating content. These tasks don't grow a business; they just drain time and energy.

As a self-taught developer without a degree, I wanted to build something that would free founders like me from busywork. When I discovered the Strands Agents SDK, I finally had the right tool. The vision was simple: an autonomous agent that handles the background work so founders can focus on building their product.

What it does

Vumbi AI is an autonomous marketing agent for solo founders and small businesses. It runs a continuous 15‑minute cycle:

  • Monitors your business data through a Laravel API (SEO issues, pending leads, content gaps, campaign performance)
  • Reasons about opportunities using Google Gemini (with Ollama as a free, self‑hosted fallback)
  • Applies a deterministic safety policy – low‑risk actions auto‑execute; high‑risk actions queue for human approval
  • Executes actions via the Laravel API (fix SEO, generate content, notify leads, pause campaigns)
  • Verifies outcomes by comparing before/after metrics
  • Learns from every experience, storing outcomes in agent_experiences to improve future decisions

The agent only surfaces when real human judgment is needed. It saves founders 10+ hours a week by handling the busywork so they can focus on building.

How we built it

Vumbi AI is a two‑part system:

  1. Laravel Backend – The system of record. Manages brands, analytics, SEO issues, leads, campaigns, content drafts, and agent memory. Exposes a REST API authenticated with API keys. Hosted on Hostinger shared hosting. (Github Source Code: https://github.com/Dante-VIQ/marketting-app.git)

  2. Python Autonomous Agent – Built with the Strands Agents SDK and powered by Google Gemini (with Ollama as a self‑hosted fallback). The agent is fully asynchronous (httpx.AsyncClient, asyncio). (Github Source Code: https://github.com/Dante-VIQ/Autonomous-Agent.git)

Challenges we ran into

  1. Async Architecture – The agent needed full asynchronicity for concurrent HTTP and AI calls. Switching from requests to httpx.AsyncClient required a significant rewrite but unlocked true concurrency.

  2. 401 Unauthorized on Live Hostinger – The API key was correct, but Laravel's config cache wasn't recognizing the .env variable. Fix: php artisan config:clear.

  3. Gemini Rate Limits (429) – The free tier has a 20‑request‑per‑day quota. I cached reasoning for similar opportunities and limited demo cycles to 3–5 opportunities. Added Ollama as a fallback for self‑hosted deployments.

  4. 500 Errors on Live Server – The /experiences/similar endpoint crashed because the agent_experiences table was missing. Fix: run migrations on Hostinger and make the agent resilient by returning empty arrays on failure.

  5. Duplicate Evidence Gathering – The orchestrator was fetching analytics, SEO, leads, and campaigns for every opportunity (96 API calls/cycle). The EvidenceSnapshot pattern reduced this to 4 calls/cycle.

  6. The name is Not Defined Error – In the _build_reasoning_prompt f‑string, {name, target, payload} was interpreted as a tuple. Escaping the braces ({{name, target, payload}}) fixed it.

Accomplishments that we're proud of

  • Production‑ready deployment – The agent runs autonomously on Hostinger, connecting to a live Laravel backend with real data.
  • Hierarchical multi‑agent architecture – Supervisor delegates to SEO, Lead, and Content specialists, each with domain‑specific tools.
  • Human‑in‑the‑loop safety – The SafetyPolicy ensures the LLM never has final authority over high‑risk actions.
  • Real learning memory – analyze_patterns() retrieves similar experiences, calculates success rates, and adjusts confidence for future decisions.
  • Self‑hostable design – Supports Ollama (free/local) and Gemini (cloud), giving users zero‑cost AI with production‑grade backup.
  • Open‑source – MIT‑licensed code with comprehensive README, architecture diagrams, and setup instructions.

What we learned

  1. Agent architecture is different from traditional AI – It's not just calling an LLM; it's orchestrating tools, maintaining state, enforcing safety, and enabling feedback loops.

  2. The human gate is non‑negotiable – Safety policies are the difference between a helpful agent and a destructive one. Every action must pass through a deterministic gate before execution.

  3. Asynchronous design is essential – Agents make multiple I/O calls (HTTP, AI, database) in parallel. asyncio and httpx were game‑changers.

  4. Real learning requires real feedback – Storing outcomes is just logging. True learning requires retrieving similar experiences, analyzing patterns, and adjusting confidence. analyze_patterns() is the first step toward episodic memory.

  5. Self‑hosted AI is viable – Ollama makes local AI practical. For founders on a budget, running a 7B–13B parameter model locally costs $0 per token and keeps data private.

What's next for Vumbi AI Autonomous Marketting Agent

  • Conversational Interface – "How is the business doing?" → Agent synthesizes answers from all data sources.
  • Human‑in‑the‑Loop UI – A dashboard for reviewing and approving queued actions.
  • Multi‑Brand Support – One agent instance managing multiple clients with full tenant isolation.
  • Vertical Expansion – Apply the same agent architecture to other domains (healthcare, education, operations).
  • Marketplace – Allow users to add custom tools and specialists.

Built With

Share this project:

Updates

Submission history