Inspiration Most AI agents can answer questions. Very few can reliably execute tasks. The hackathon’s theme — closing the execution gap — resonated deeply. We wanted to build an agent that actually runs business operations: planning, using tools, learning from mistakes, and acting autonomously. Not a chatbot. An operating system.

What it does Kasra is an autonomous business operations agent. It:

Manages any database table — inventory, customers, orders, forecasts — with natural language

Highlights critical data — low stock gets red badges, healthy numbers green, warnings yellow

Executes multi‑step tasks — one sentence can produce a table, Excel file, PDF report, and calendar event

Runs Python code for custom analysis

Controls your desktop via a lightweight local agent

Reads and OCRs files from your PC with a single click

Schedules cron jobs and sends email reports autonomously

Connects to enterprise tools — GitLab, Elasticsearch, Fivetran, Dynatrace (MCP + REST)

Learns from every interaction — creates reusable skills and curates its own memory

Asks for confirmation before dangerous operations

Works on Telegram — web, mobile, messaging, all in sync

Traces every step with Arize AI for full observability

How we built it Frontend: Next.js 14, React, TypeScript, Tailwind CSS, Framer Motion, Three.js

Backend: Node.js, Express, TypeScript, SQLite

Agent Loop: 15‑turn orchestrator with state ledger, tool dependency graph, and circuit breaker

LLM Fallback: Gemini → Cloudflare → Groq → Cerebras → HuggingFace → OpenRouter

Real‑time: Server‑Sent Events for streaming tables, charts, code blocks, and task updates

Memory: Vector store with semantic search + SQLite tables for memoire, self‑improvement, session facts

Integrations: MCP client for Elastic, Fivetran, GitLab, Dynatrace; Gmail SMTP; Telegram Bot

Tracing: Arize AI via OTLP

Deployment: Render (backend), Vercel (frontend), Google Cloud Run ready

Challenges we ran into Render’s outbound firewall blocks Arize OTLP traces and Gmail SMTP — fully tested locally, works on any unrestricted cloud

Prompt engineering for small models — the default model often returned “✅ Done.” instead of actual responses; required precise conversational guards and anti‑hallucination nudges

SSE duplicate events — tables and charts appeared twice; solved with content‑based deduplication

Circuit breaker & timeouts — tools would permanently disable themselves after transient failures; required careful timeout tuning and breaker reset logic

Desktop control security — browsers block automatic file dialogs; solved with user‑initiated modal flow

Model rate limiting — multiple providers hitting 429 limits simultaneously; solved with progressive retry delays and provider reordering

Accomplishments that we're proud of True multi‑step autonomous execution — one request produces 4 different outputs sequentially

Self‑improving memory — the agent creates skills, curates notes, and prunes useless data automatically

30+ real‑world tools covering inventory, files, web, email, calendar, code, desktop, and enterprise APIs

Generic database interface — works with any SQL table, not hardcoded to inventory

Partner integrations — GitLab, Elasticsearch, Fivetran, Dynatrace via MCP and REST

Human‑in‑the‑loop safety — confirmation modals for all destructive operations

Arize observability — every agent step traced, ready for production evaluation

Telegram bot — same agent, same intelligence, anywhere

Production‑grade architecture — circuit breaker, tool timeouts, multi‑LLM fallback, Dockerfile for Cloud Run

What we learned Small models need explicit, example‑driven prompts — abstract rules don’t work

SSE streaming is powerful but requires careful deduplication logic

Free hosting tiers have hidden limitations — Render blocks outbound HTTPS; always test deployment early

Circuit breakers save agents from cascading failures, but the defaults must match the tool’s expected latency

Observability is not optional — Arize traces made debugging agent decisions 10x faster

Database abstraction pays off — the agent doesn’t care if it’s SQLite or PostgreSQL

What's next for Kasra Production deployment on Google Cloud Run with Cloud SQL, Cloud Storage, and Cloud Scheduler

Real database backend — plug into PostgreSQL/MySQL with connection string

OAuth integration for partner tools (no more manual API keys)

Improved model routing — cost‑based provider selection, streaming responses

Mobile‑native app with push notifications

Plugin marketplace — community‑built tools

Multi‑tenant support for agencies and teams

Built With

  • arize-ai
  • better-sqlite3
  • cerebras
  • cheerio
  • cloudflare-workers-ai
  • cron-parser
  • docker
  • dotenv
  • dynatrace
  • elasticsearch
  • exceljs
  • express.js
  • fivetran
  • framer-motion
  • fts5
  • gitlab-api
  • gmail-smtp
  • google-cloud-run
  • google-gemini
  • groq
  • huggingface-inference
  • jina-reader
  • mammoth
  • mcp
  • multer
  • next.js
  • node.js
  • nodemailer
  • openrouter
  • opentelemetry
  • otlp
  • pdf-parse
  • pdfkit
  • pdfreader
  • playwright
  • python
  • react
  • react-three-fiber
  • render
  • rest
  • screenshot-desktop
  • sqlite
  • sse
  • tailwind-css
  • telegram-bot-api
  • tesseract.js
  • tf-idf
  • three.js
  • typescript
  • vercel
  • vertex-ai
  • xlsx
Share this project:

Updates