Reads, never marks as read
Mail is opened over IMAP in read-only mode. Nothing is marked as read, moved or deleted, so your inbox looks exactly as you left it.
Open source · Runs on your laptop · Gemma 4
Every morning, Gemma 4 reads your inbox, calendar and tasks on your own laptop, then hands you a one-page edition and a three-minute audio briefing. Your inbox never leaves your machine.
At 6:59 the press starts on its own. By the time the kettle boils, the paper is waiting.
Pulls the day's sources together. Mail is opened read-only.
Gemma 4, running through Ollama, writes the edition as strict JSON. It never invents facts.
A one-page edition to read, and a three-minute briefing to hear.
Wherever you'll see it first.
It reads everything and touches nothing. It writes only what your sources say.
Mail is opened over IMAP in read-only mode. Nothing is marked as read, moved or deleted, so your inbox looks exactly as you left it.
The model fills a strict schema. If it isn't in your sources, it isn't in your paper, and every link is real.
About three minutes, read aloud: what's on today, who's waiting on you, and whether you need an umbrella.
Ollama writes the words and the built-in macOS voice reads them. Neither needs the internet.
No API bill and no subscription. The model is a file on your disk.
Each one switches on with one environment variable.
Set WEATHER_CITY=Lisbon and the weather appears. Leave it out and it doesn't.
Most briefing apps read your mail on their servers. This one reads it on your laptop, writes there, and keeps it there.
| Emails, calendar, tasks | Read on your laptop by the local model. Never uploaded. |
|---|---|
| Briefing script | Stays local with the macOS voice. Goes to ElevenLabs only if you add a key. |
| The edition | Delivered through your own accounts: your mail server, your bot, your webhook. |
| News & weather | Fetched from public feeds by topic and city. |
| This demo | A made-up inbox for a made-up reader. |
Clone it, point it at your inbox, and print today's paper. Then let cron deliver one every morning.
ollamauvbrew install ollama && ollama pull gemma4:e4b
git clone https://github.com/mohamedaminehamdi/the-localhost-times
cd the-localhost-times && cp .env.example .env
uv run localhost-times --list # see what's switched on
uv run localhost-times # print today's edition
0 7 * * * cd ~/the-localhost-times && uv run localhost-times
.envSwitch on what you want in your paper. The file writes itself as you type.
Runs entirely in your browser. Nothing you type leaves this page.
Save it as .env in the project folder, then run uv run localhost-times --list to see what's switched on.