Flow is a free YouTube client (watch videos, Shorts and music without the official YouTube app). This is a personal copy of it (a "fork"), changed to work well on the screen of a Polestar 3, which runs Android Automotive OS (AAOS): Android built into the car itself. It is not an Android Auto app (Android Auto mirrors a phone onto the car screen).
Changes from the original Flow project (the "parent") are brought into this copy from time to time, and the car changes are redone on top each time, so the app stays up to date without losing them.
| Change | Details | |
|---|---|---|
| 🧭 | Navigation stays at the bottom, even on the car's wide screen. | More |
| 👀 | Bigger text, icons, buttons and player controls, easy to read and tap at a glance. | More |
| 👆 | Nothing you tap hides under the screen's rounded edges. | More |
| 🚗 | Works as a car app: it appears in the car's app list and the car lets its screens run. | More |
| 🎵 | The car's home screen media card shows what Flow is playing. | More |
| 📷 | Installs without a camera (the car has none for apps). | More |
| Red YouTube-style play icon in the car's app list. | More | |
| 📦 | Updates come through your own Play Store listing, so they reach the car. | More |
Known limit: after a full restart of the car, the home screen media card stays blank. That is the price of the app icon opening the app properly; see the car notes.
There are no public downloads. The app reaches the car only through Google Play Internal testing (a private test track on your own Play listing):
- Accept the internal test invitation for Flow with the Google account used in the car.
- Open the Play Store in the car and install or update Flow.
The car's Play Store may show a temporary name ending in "(unreviewed)" and a placeholder icon. That is normal for an internal test, and installs and updates still work.
There are only two jobs, and both end with the new version on your car. Each is done by an AI assistant (Claude Code, GitHub Copilot, Codex or Gemini). Open it in the Flow folder (this app's folder), paste the prompt, and follow what it tells you. It explains everything in plain English, runs the commands itself, and only asks you to do what only you can do: approve, sign in Android Studio, upload to Play, and test in the car. Each prompt only affects this app; do the other app separately in its own folder.
In Claude Code or GitHub Copilot you can type the short command shown instead of pasting the prompt.
Follow the instructions in .github/skills/aaos-sync/SKILL.md exactly.
The assistant brings in the parent's changes on a temporary copy, redoes every car change in the new code, builds a test version, and sends you a report with four parts: what's new for you, how each of your car changes was kept or adapted (or if any is at risk), risks with a recommendation, and what to test. Nothing reaches the real app until you reply with one of these:
approve sync: it goes ahead and releases it to the car (below).cancel sync: everything is thrown away and nothing changes.problem:followed by what you saw: it fixes that and reports again.
Follow the instructions in .github/skills/aaos-tweak/SKILL.md exactly. The tweak: [describe what you want changed, or what is wrong on the car, in plain English].
The assistant makes the change, checks the app still builds, records what it did, and releases it to the car (below). If you mention something you noticed about the car itself, it adds it to the car notes in both apps.
- The assistant raises the version number (Play needs a higher one for every upload) and checks the build.
- It gives you click-by-click steps to sign the file in Android Studio. When that's done, reply
Bundle built. - It puts the file in the For upload to Play Console folder, opens that folder, and gives you the clicks for Google Play Console. When Play accepts it, reply
Uploadedand it records the upload. - Install or update the app from the Play Store in the car.
- A chat ended halfway through a job: open a new chat in the same folder and paste:
Read AGENTS.md, then check the session log if you have it, git status and any sync/ branch, and tell me in plain English where the last job got to and what's next. Do not change anything yet. - Play says the version code was already used: tell the assistant
Play says the version code was already used.It raises the number and you sign and upload again. - The assistant stops with an error: it gives you one message to paste back to it, or to another AI assistant. You never need to fix code yourself.
You don't need to read these files. They are the instructions that keep any AI assistant on track between chats.
| File | What it holds |
|---|---|
README.md |
This page |
AAOS_FORK.md |
Rules for AI assistants, and the full list of car customisations with technical detail |
AAOS_UPSTREAM_SYNC.md |
How parent updates are done, and the report you get before approving |
AAOS_RELEASE.md |
Release steps, the version number rule, and the last version uploaded |
AAOS_CAR_NOTES.md |
Things learned on the real Polestar 3 (the same in both apps) |
handover/ (on your Mac only, not on GitHub) |
A diary of every chat and what was checked, and the current to-do list |
AGENTS.md, CLAUDE.md, GEMINI.md |
Where AI assistants start reading |
.github/skills/ |
The step-by-step recipes that the prompts above run |
Flow is distributed under the GNU General Public License v3.0. The license applies to this fork and to the original project.
