Debugging a Tiny AI Agent on an Old Nokia Phone: 18 Attempts to Success

A developer attempted to run Picobot, a ~12 MB single-binary AI agent written in Go, on an old Nokia Android phone via Termux. The goal was a 24/7 pocket agent with Telegram integration, tool support (web fetch, shell), memory, and minimal recurring costs.
The 18 Failed Attempts
Attempts 1–4 used free OpenRouter models (Gemini flash-exp, Qwen 2.5 7B, Llama 3.3 70B, Llama 3.2 3B), all failing with 404 "No endpoints found that support tool use" or invalid model ID errors. Free tier routing didn't enable tools on most small models.
Attempts 5–8 used Groq direct (Llama 3.3 70B, Mixtral 8x7B, Llama 3.1 8B, Gemma 2 9B). Models were either decommissioned (400 errors) or hallucinated invalid tool formats (XML <function> tags), causing 400 tool_use_failed errors or endless reply spam loops.
Attempt 9 used GLM-4.5-Air :free, which initially succeeded with jokes and weather, but an AAPL stock query exploded context (~330k tokens) resulting in a 400 overflow error.
Attempts 10–11 tried more free OpenRouter models (Llama 3.1 70B, Qwen 3 8B) with the same 404 no-tool-endpoints problem.
Attempt 12 used Groq Llama 3.1 8B with temperature=0.3, but still had tag hallucinations and loops.
Attempt 13 tried Claude 3.5 Sonnet via OpenRouter proxy, resulting in 402 Payment Required due to $0 OpenRouter balance.
Attempt 14 added $5 to OpenRouter, which authenticated the proxy and allowed basic replies.
Attempt 15 used the same Claude 3.5 model but encountered context overflow on longer queries.
Attempt 16 switched to Sonnet 4.6 (latest), but model name mismatch caused a 404 error.
Attempt 17 involved a config typo/fresh onboard reset that disabled Telegram and wiped the token.
The Final Working Solution
Attempt 18 succeeded with gemini-2.5-flash via direct Google API. This setup is fast, reliable, with clean replies, no truncation issues, and good enough tool use for the developer's needs.
Provider: Direct Google Gemini API (using personal API key)
Model: gemini-2.5-flash
Cost: Currently free under Google's free tier (500 requests/day with billing-linked project)
Telegram: Bot token & channel enabled with clean message processing
Why OpenRouter Was the Original Default
Picobot's creator chose OpenRouter because it keeps the binary tiny and code simple: one OpenAI-compatible endpoint routes to dozens of models/providers, users switch models by changing one line in config.json, it supports free tier + BYOK, normalizes tool calling across providers, and has community momentum as the universal router for open-source agents.
However, the developer encountered too many limits with OpenRouter: tool support gaps, deprecations, rate limits, proxy fees, and validation glitches.
Trade-offs
- Free tier has limits (500 requests per day) - exceeding this incurs minimal costs (~$0.01–$0.05/message)
- Not fully local/private (cloud model) but fast and smart with no phone hardware limits
- For zero fees long-term, local Ollama on Mac is an option but slower and less capable for tools
📖 Read the full source: r/LocalLLaMA
👀 See Also

Running Tesla Model 3 Computer on Desk with Salvaged Parts
A researcher successfully booted a Tesla Model 3's computer on a desk using parts from crashed cars, requiring a 12V power supply, touchscreen, and custom cabling. The setup revealed an internal network with SSH and web servers accessible at specific IP addresses.

Developer details Claude setup for project management and task tracking
A developer shares their Claude implementation for managing a new WFH media job, including a master markdown project file, Notion integration, MCP connections to Slack, Gmail, and Google Calendar, and a custom skill for morning briefings.

Non-developer builds personalized AI news editor with Claude
A non-technical user created a personalized daily news briefing system using Claude AI, starting with a simple summarization prompt and evolving into a full toolkit with context-aware filtering and bias checking.

OpenClaw Telegram Organization: Topic-per-Agent Setup Solves Chat Chaos
A developer fixed OpenClaw Telegram management issues by implementing a topic-per-agent structure in a dedicated group, reducing context bleed and improving debugging. The setup includes specific topic mapping, mention-only defaults, and cleaner routing rules.