cleanyourtv-app
A community-built phone app for Clean Your TV: clean up an Android TV from your phone. No laptop, no coding agent, nothing uninstalled.
Build With Free Agents and Tools
OtherJavaScript · HTMLGitHub @Simzy420OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A single page for handing work from one AI tool to the next when a free quota runs out. It keeps a living context packet, a chain of tools, and a searchable history of hops and decisions.
It does not read other sites’ chats, switch tools by itself, or let agents message each other.
Shared-session search and the human checklist are ideas borrowed from the open-source Agent Relay project by Agent Workforce, licensed Apache-2.0. This site does not include that project’s code.
Decisions: section, those lines are added to Decisions.The daily counter is what you tap (+1 used, I hit the limit). It resets at midnight on this device. RunPod and OpenRouter can also show a live balance when the server keys below are set. Every other tool, including Boundless and DeepSeek, is marked Manual.
Your work is saved in this browser immediately. Save to cloud copies it to Supabase. Export backup downloads a JSON file. Old relay-v1 browser data is kept and upgraded in place.
Project → Settings → Environment Variables. Then redeploy.
| Name | Required? | What it does |
|---|---|---|
OWNER_EMAIL | Yes, for live balances | Only this signed-in email can see RunPod and OpenRouter balances. |
RUNPOD_API_KEY | Only if you want RunPod’s balance | Server-side GraphQL myself { clientBalance, currentSpendPerHr }. If it is missing, the card says Not connected. |
OPENROUTER_API_KEY | Only if you want OpenRouter’s balance | Server-side GET /api/v1/key and, when the key is allowed, GET /api/v1/credits. If it is missing, the card says Not connected. |
SUPABASE_URL | No | Defaults to the project already used by the page (https://inlqueorerrsmfnaryzj.supabase.co). Set it only if the Supabase project changes. |
SUPABASE_ANON_KEY | No | Defaults to the publishable key already in the page. Set it only if that key changes. |
Provider keys stay on the server. The browser only receives balances, and only after Supabase confirms the signed-in email matches OWNER_EMAIL.
Share links need one new table. Cloud save of the whole relay still uses the existing relay_workspaces table. This SQL does not change that table.
supabase/migrations/20261026120000_relay_handoffs.sql and run it.The link looks like https://ai-agent-relay.vercel.app/h/<id>. Anyone with that link can read that one handoff. They cannot list your other handoffs. If the SQL has not been run, the button says so instead of pretending the link exists.
Preset marks are real logos: Simple Icons (CC0) for the monochrome marks, and the public app icons for Base44, Link by Stripe, Gemini, RunPod, and Boundless. A tool you add by URL loads an icon from icon.horse. If that request fails, the card shows a colored initial.