Big-Banana-Studios/writers-flow-web

A helpful writers App

0

stars

9

commits

JavaScript

primary language

Aug 13, 2026

updated

README

🍂 Writer's Flow — phone version

The same nine tabs as the computer version, running on your phone. Install it to your home screen once and it works with no signal — on a plane, in the woods, anywhere.

The model runs inside the browser using WebGPU. Nothing you type is sent anywhere, because there's nowhere for it to go: your phone does the thinking.


Publishing it

1. Make the repository

Go to https://github.com/new and set:

FieldValue
Repository namewriters-flow
Public / PrivatePublic (Pages is free only for public repos)
Add a READMEleave unticked

2. Push this folder up

In PowerShell, in this folder, replacing YOUR-USERNAME:

git remote add origin https://github.com/YOUR-USERNAME/writers-flow.git
git push -u origin main

The first push opens a browser window to sign in to GitHub. That's expected.

(Already pushed once? Just git push — the remote is set.)

3. Turn Pages on

In the repository on github.com: SettingsPages → Source: Deploy from a branch → Branch main, folder / (root)Save.

After a minute it's live at https://YOUR-USERNAME.github.io/writers-flow/.


Using it on your phone

  1. Open that address in Chrome on your phone.
  2. It'll offer to download the model — about 811 MB, once. Do this on wifi. Keep the screen open while it downloads.
  3. When it finishes, the app opens and you can write.
  4. Tap ⬇️ Add to home screen in the sidebar. Now it opens like a normal app and works offline.

After the first time, opening the app loads the model straight from the phone. No download, no signal needed.

If it says your phone can't run it

Open https://YOUR-USERNAME.github.io/writers-flow/check.html — the compatibility check. It reports exactly what's missing and how much memory your phone was willing to give. Send me those numbers.


What this needs to run

Tested, on the actual devices:

DeviceResult
Desktop PC, ChromeWorks
ASUS ROG Phone (12–16 GB RAM)Works
Samsung Galaxy S24 (8 GB RAM)Loads, then fails when writing

The S24 downloads the model and loads it, then loses the GPU on the first attention layer:

Failed to create a WebGPU compute pipeline:
A valid external Instance reference no longer exists

That is Chrome reporting a lost graphics device — the phone couldn't hold the model while generating. The app now says so plainly instead of showing a generic error.

So: this wants a phone with memory to spare. Around 12 GB has been proven to work; 8 GB has been proven not to. Somewhere in between is untested.

A lighter float16 build of the same model was tried and then removed deliberately — see the note at the bottom.

Other things worth knowing:

  • Speed varies by device. The computer version manages about 14 tokens a second; a phone GPU may be faster or slower.
  • The first download is 811 MB. Wifi only. Cached afterwards, but clearing browser data downloads it again.
  • Storage. The model lives in the browser's storage. Installing to the home screen makes the browser far less likely to clear it.

What's in here

FileWhat it does
index.htmlThe app
app.jsScreen logic — tabs, output, download progress
worker.jsRuns the model. The phone's replacement for the Python server
prompts.jsThe nine tab instructions — edit these
style.cssAutumn theme, phone-first
sw.jsMakes the app itself work offline
manifest.webmanifestLets it install to the home screen
check.htmlCompatibility check
icons/Home screen icons

Two copies of the prompts

prompts.js here and prompts.py in the computer version hold the same nine prompts. If you change one, change the other, or the two versions will start behaving differently. The tab names are checked to match; the wording isn't.

Why the model isn't in this repository

GitHub rejects any file over 100 MB and refuses to serve Git LFS files through Pages. Our weights are 811 MB, so they can't live here. Instead the app fetches them from Hugging Face's CDN on first run and the browser caches them. This is why the repo is tiny and the first run is slow.


On the lighter model that isn't here

There is a q4f16 build of the same Liquid model — identical 4-bit weights, but float16 rather than float32 for everything else, so about half the memory while writing (725 MB instead of 811 MB). It was built as an automatic fallback for devices that ran out of graphics memory, then removed on request.

The reasoning: swapping the model out underneath the writer to work around a hardware limit trades a clear failure for a vague one. Better that the app runs one model well and says honestly when a device can't handle it. If a lower-memory option is ever wanted again, it's dtype: 'q4f16' in worker.js — one line.


The computer version lives in ../writers-flow/ and is completely independent. It has no hardware constraints of this kind and is the one to use day to day until the phone hardware is there. Neither version affects the other.

Contributors

Lilrobodue

9 commits

Big-Banana-Studios/writers-flow-web

A helpful writers App

0

stars

9

commits

JavaScript

primary language

Aug 13, 2026

updated

README

🍂 Writer's Flow — phone version

The same nine tabs as the computer version, running on your phone. Install it to your home screen once and it works with no signal — on a plane, in the woods, anywhere.

The model runs inside the browser using WebGPU. Nothing you type is sent anywhere, because there's nowhere for it to go: your phone does the thinking.


Publishing it

1. Make the repository

Go to https://github.com/new and set:

FieldValue
Repository namewriters-flow
Public / PrivatePublic (Pages is free only for public repos)
Add a READMEleave unticked

2. Push this folder up

In PowerShell, in this folder, replacing YOUR-USERNAME:

git remote add origin https://github.com/YOUR-USERNAME/writers-flow.git
git push -u origin main

The first push opens a browser window to sign in to GitHub. That's expected.

(Already pushed once? Just git push — the remote is set.)

3. Turn Pages on

In the repository on github.com: SettingsPages → Source: Deploy from a branch → Branch main, folder / (root)Save.

After a minute it's live at https://YOUR-USERNAME.github.io/writers-flow/.


Using it on your phone

  1. Open that address in Chrome on your phone.
  2. It'll offer to download the model — about 811 MB, once. Do this on wifi. Keep the screen open while it downloads.
  3. When it finishes, the app opens and you can write.
  4. Tap ⬇️ Add to home screen in the sidebar. Now it opens like a normal app and works offline.

After the first time, opening the app loads the model straight from the phone. No download, no signal needed.

If it says your phone can't run it

Open https://YOUR-USERNAME.github.io/writers-flow/check.html — the compatibility check. It reports exactly what's missing and how much memory your phone was willing to give. Send me those numbers.


What this needs to run

Tested, on the actual devices:

DeviceResult
Desktop PC, ChromeWorks
ASUS ROG Phone (12–16 GB RAM)Works
Samsung Galaxy S24 (8 GB RAM)Loads, then fails when writing

The S24 downloads the model and loads it, then loses the GPU on the first attention layer:

Failed to create a WebGPU compute pipeline:
A valid external Instance reference no longer exists

That is Chrome reporting a lost graphics device — the phone couldn't hold the model while generating. The app now says so plainly instead of showing a generic error.

So: this wants a phone with memory to spare. Around 12 GB has been proven to work; 8 GB has been proven not to. Somewhere in between is untested.

A lighter float16 build of the same model was tried and then removed deliberately — see the note at the bottom.

Other things worth knowing:

  • Speed varies by device. The computer version manages about 14 tokens a second; a phone GPU may be faster or slower.
  • The first download is 811 MB. Wifi only. Cached afterwards, but clearing browser data downloads it again.
  • Storage. The model lives in the browser's storage. Installing to the home screen makes the browser far less likely to clear it.

What's in here

FileWhat it does
index.htmlThe app
app.jsScreen logic — tabs, output, download progress
worker.jsRuns the model. The phone's replacement for the Python server
prompts.jsThe nine tab instructions — edit these
style.cssAutumn theme, phone-first
sw.jsMakes the app itself work offline
manifest.webmanifestLets it install to the home screen
check.htmlCompatibility check
icons/Home screen icons

Two copies of the prompts

prompts.js here and prompts.py in the computer version hold the same nine prompts. If you change one, change the other, or the two versions will start behaving differently. The tab names are checked to match; the wording isn't.

Why the model isn't in this repository

GitHub rejects any file over 100 MB and refuses to serve Git LFS files through Pages. Our weights are 811 MB, so they can't live here. Instead the app fetches them from Hugging Face's CDN on first run and the browser caches them. This is why the repo is tiny and the first run is slow.


On the lighter model that isn't here

There is a q4f16 build of the same Liquid model — identical 4-bit weights, but float16 rather than float32 for everything else, so about half the memory while writing (725 MB instead of 811 MB). It was built as an automatic fallback for devices that ran out of graphics memory, then removed on request.

The reasoning: swapping the model out underneath the writer to work around a hardware limit trades a clear failure for a vague one. Better that the app runs one model well and says honestly when a device can't handle it. If a lower-memory option is ever wanted again, it's dtype: 'q4f16' in worker.js — one line.


The computer version lives in ../writers-flow/ and is completely independent. It has no hardware constraints of this kind and is the one to use day to day until the phone hardware is there. Neither version affects the other.

Contributors

Lilrobodue

9 commits

Languages

JavaScript

60.2%

CSS

20.2%

HTML

19.6%