Open source · MIT-style license

Voice-driven lists, synced across your devices.

Speak or type — "Add onions and garlic to groceries" — and items land in your list instantly, kept in sync on every device you're signed in on. Share a list with a link; keep the rest to yourself.

Sign in with Google · Available in English and Português (Brasil).

How it works

Three pieces, plainly described.

  1. 1

    You speak or type

    Wake word, microphone, or keyboard — same chat input either way. Voice uses your browser's built-in speech recognition; nothing is uploaded to Notex.

  2. 2

    The LLM parses the intent

    Your text goes to the provider you chose in Settings (Gemini, OpenAI, or Anthropic) using your API key. Notex never reads the conversation — it only sees enough to route the tool call.

  3. 3

    The item lands in your list

    The change is saved to your isolated per-user store on the Notex server and pushed live to your other devices in real time. Edit by hand in the app any time.

What Notex does

A small set of things, done deliberately.

Isolated per user

Each account gets its own store on the server, keyed by your Google email — no shared tables, no cross-user access. Delete your data on request, or self-host the whole thing for full control.

No audio, no transcripts kept

Speech recognition runs in your browser. Audio is never sent to a Notex server. Transcribed text is forwarded to the LLM you chose, then discarded.

Bring your own LLM

Pick Gemini, OpenAI, or Anthropic from Settings and paste your key. Calls go from your session to your chosen provider, billed to your account.

Tap-to-talk dictation

Toggle the microphone, dictate one or more items, and the chunks are stitched into a single request. If you go quiet for a few seconds the mic shuts itself off — never hot in the background.

Printable to a real thermal printer

Pair with the Thermy companion to print any list to a small Bluetooth receipt printer. Useful when the phone is not the most convenient surface to read from.

Open source, end to end

Frontend, backend, print agent — the whole stack is published. Read the code, run it on your own machine, change what you don't like.

Privacy, stated plainly

No marketing language. Here is what is collected, what is not, and where things go. The full Privacy Policy and Terms of Service are also available.

  • Not stored: audio recordings. Speech recognition runs in your browser and is never sent to Notex.
  • Not stored: conversation history on a Notex-owned database. The chat history you see lives in your browser's memory for the current session.
  • Not stored: personal information beyond the email address used to identify your Google account and key your per-user store.
  • Not sold, not shared: nothing about your usage is sent to advertising networks or analytics resellers.
  • You control the LLM key: Gemini, OpenAI, or Anthropic keys are saved in your per-user database and used only to forward your own requests.
  • Stored on the server, honestly: your lists live in an isolated per-user store on the Notex server — not in a third-party account. Delete them on request, or self-host for full control.

Open source

Notex is published at github.com/mazoqui/notex. The repository covers the React frontend, the Express + LevelDB backend, and the optional print agent. Issues and pull requests are welcome.

Running it yourself takes Node 20+, a Google OAuth client ID, and one terminal — instructions live in the README.

mazoqui/notex
$ git clone https://github.com/mazoqui/notex.git
$ cd notex/be && npm install
$ npm run dev      # http://localhost:3000

Companion project

Thermy — print any list on a Bluetooth thermal printer

Sometimes a paper list is more useful than a phone screen. Thermy is a small Python tool that drives a cheap Bluetooth receipt printer over BLE. Notex publishes a print request over MQTT; the print agent passes it to Thermy; you get a paper list in a few seconds.

Thermy is a separate repository so its BLE dependencies don't leak into Notex, and so it can be used on its own from the command line for non-Notex jobs.

Ready to try it?

Sign in with Google, paste an API key in Settings, say something. Two minutes.

Enter the app