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

OpenClaw as a Process Replication Engine: Multi-Agent Workflows for Automated Development
A developer found OpenClaw more effective as a 'process replication engine' than a personal assistant, building multi-agent workflows that automate complex development pipelines from idea to deployment for around $80/month.

Developer Builds AI Baseball Simulation Engine with Claude Code in Two Weeks
A developer used Claude Code to build a complete baseball simulation system with 30 AI-managed MLB teams, game recaps, press conferences, and audio podcasts. The project cost $50 in API credits and includes a simulation engine, content pipeline, Discord bot, and website.

Using Claude to Build PainSignal: A Database of 1,000 Real Business Problems
A developer used Claude Code to build PainSignal, a platform that organizes 1,000 real business problems from industries like trucking and cleaning. Claude handled data classification, opportunity clustering, and app concept generation.

Controlling Claude Code via WhatsApp with Channels Feature
A developer connected WhatsApp to a running Claude Code session using the Channels feature (v2.1.80+), enabling text messages, voice notes with Whisper transcription, and voice replies with OpenAI TTS to interact with the same CLI session.