Yashmit Katekar
← All projects
Other·Shipped

Codinagent (Jarvis)

A personal task-automation agent with a safety policy, running 24/7

3 providers
5 gears · 3 autonomy modes
Repository coming soon
Role
Solo developer, end to end
Team
Solo
When
Oct 2026

Problem

Heavy projects were stacking up, and boilerplate plus copy-pasting code took a lot of my time. I first wanted to build my own LLM-based coding agent, but my hardware couldn't support it, so I shifted to features it could handle, like a parser and automations such as pasting code from the clipboard straight into files. That grew into a personal task-automation agent with a web UI, task queue, schedules and Telegram remote control, running 24/7 on my laptop as a background service. It made finishing my other projects easier and faster.

Approach

Flask backend with SSE streaming and a React/Vite UI. A tool-using agent loop rotates across Groq, Gemini and OpenRouter models, with 5 selectable gears (presets). A safety policy classifies every tool call as LOW, MEDIUM, HIGH or DENY under SAFE, ASSISTED or AUTONOMOUS modes, with approval cards. A SQLite queue and scheduler handle tasks.

Result

v1 complete (finished around 11 Oct 2026).

How it fits together

  1. Web UI or Telegram
    Telegram limited to my chat ID
  2. Flask backend
    SSE streaming, SQLite queue + scheduler
  3. Agent loop
    rotates Groq / Gemini / OpenRouter
  4. Safety policy
    LOW / MEDIUM / HIGH / DENY
  5. Tool call

Safety ladder

Tool-call riskSAFEASSISTEDAUTONOMOUS
LOW
reads, normal source edits, allow-listed commands, web search
Reads run, rest askRunsRuns
MEDIUM
deleting files, editing config, git add/commit, draft emails, schedules
Asks firstAsks firstRuns
HIGH
unlisted shell commands, shell operators, fetching a URL
Asks firstAsks firstAsks first
DENY
paths outside the project, secret files, destructive commands, malformed calls
BlockedBlockedBlocked

Every action is rated, and risky ones wait for approval. HIGH asks in every mode, even AUTONOMOUS, and DENY can't be approved from anywhere, including the phone. In SAFE mode only pure reads (reading files, listing folders, searching, read-only commands like git status) run on their own. If nobody answers an approval, it counts as no. The shell-command rating is heuristic, so this is a safety net, not a guarantee.

Features

  • Web UI with a task queue and schedules
  • Telegram remote control, restricted to my own chat ID
  • 5 selectable gears (presets) across 3 model providers
  • Approval cards for risky tool calls
  • Sub-agent delegation: coder, researcher, tester, reviewer
  • /paste applies code blocks to files with no model call
  • Secrets redacted from logs

Challenges

Free-tier rate limits, solved by auto-rotating to the next model. The agent also got stuck repeating failing tool calls, so I added a loop guard that nudges it first, then stops and asks.

What I learned

An agent needs guardrails: a safety policy that classifies every tool call, and a loop guard that nudges the agent and then stops to ask when it keeps repeating a failing call. Free-tier rate limits were solved by rotating to the next model automatically. And scoping down to what my hardware could run is what got the project finished.

Tech

PythonFlaskReactViteSQLiteSSEGroqGoogle GeminiOpenRouterTavilyTelegram Bot API

Screens

The home page of the agent UI
The task queue and the schedules
A preview of gear 4, one of the 5 selectable gears
The agent at work in the gear 4 preview
The live fleet overview, with a meter of the tokens being used
The agent being controlled from my phone over Telegram

The home page of the agent UI

1 / 6