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 user builds 10-automation operations stack with sports picks, lead generation, and digital fulfillment
A developer spent two months building an AI operations stack on OpenClaw that includes a daily sports picks pipeline with ESPN data and Twilio delivery, a nightly pick grader, business lead scraping from Google Maps, Stripe pollers for digital products, session briefing emails, and daily ops reports.

Professor Builds AI Detection Bias Game with Claude Code
A UK professor built Flagged, a browser game that simulates AI detection decisions in academia using Claude Code. The game reveals how detection tools produce false positive rates up to 61.3% for non-native English speakers.

Building a Linux Distro with Claude AI: A Developer's Practical Breakdown
A developer with 23 years in tech built NubiferOS, a security-hardened Linux distro, using Claude AI as the entire development team. The project involved 10-15 simultaneous Claude sessions, generated ~39,300 lines of code and ~57,500 lines of documentation, with zero human-written code.

Using Claude as a Ruthless UI/UX Reviewer with Specific Persona Prompt
A Reddit user shares a prompt that transforms Claude into a brutal UI/UX consultant who reviews live apps in two passes: first as a ruthless designer, then as a first-time user, outputting findings in a prioritized markdown file.