DuskRead

Android & iOS · a weekend project

It reads your inbox,
so you don’t have to.

An AI agent goes through the newsletters and blogs you never get back to, keeps the ones worth your time, and hands you one screen: this week’s posts up front, your blogs and saved links a tap away.

  • Notion-curated
  • Offline-first
  • Fully on-device

Free · open source · MIT · Android build ready now, iOS later

6:17

Hello, Reader

Focus

15 min 25 min 30 min

Latest6 this week

bughunters.example.com 2d ago

Breaking into a bug bounty program

A first submission is rarely a clever exploit. It is reading the scope page properly, then picking the asset nobody else is.

7 minsecuritysummary
MORE
mobilepro.example.com 3d ago

What I got wrong about background work

Every scheduler promises the job will run. Few say when, and the phone has opinions about battery that outrank yours.

6 minandroid
MORE

Everything on one screen

The idea

Scattered across too many places

Newsletters bury themselves in an inbox you open for work. Blogs you meant to follow post without you. The links you saved are spread across four apps and a browser tab you're afraid to close. Reading was never the hard part — finding it again was.

What you get

Six things worth the install

01[curation]

It files itself

An agent sorts your inbox and pulls in every blog you follow — no forwarding, no sorting.

02[the week]

This week, at a glance

New posts from blogs you follow, each with a line on what it says. Your blogs and saved links sit one tab over.

03[offline]

Already on the phone

Pulled down hours before you open it. Tunnels and dead zones change nothing.

04[on-device]

It reads out loud

One tap for the gist, one to hear it — both on-device, nothing uploaded.

05[focus]

Twenty-five quiet minutes

A real alarm, not a widget — phone face-down, then a clear end.

06[restraint]

Nothing shouting at you

No feed, no badges, no ads, no account to create. One colour, spent on purpose.

How it's built

For the ones who'll ask what's underneath

One Kotlin core, two native UIs, under 4 MB installed, and no backend of mine anywhere in it: summaries and speech run on the phone, feeds are fetched by the app itself, and Notion is yours and optional.

Architecture

Curation happens before the app ever opens

Claude Cowork checks Gmail on a schedule and files what’s worth keeping into a Notion database you own. A blog with a working feed is fetched by the app directly and never touches Notion at all.

Sources

Gmailnewsletters, no public feed
RSS / Atomblogs with a working feed
Youa paste, or the share sheet

Notion · curation

Claudereads the mail, files the row
Sources & Reading Listwhat to follow, and what to read — Saved is the gate to the phone

Your phone

DuskRead Home · Following · Saved · Focus ranked to your habit, cached whole, read aloud — offline by default

Following a blog writes its row back into Sources, so it’s there to edit next time — nothing else the phone holds is ever uploaded.

Get it

On your phone in about a minute

Two ways in, and Notion is optional either way — the app is whole without it, and wiring it up later is one pasted token in Settings.

01[download]

You just want to read something

Take the latest signed build straight from Releases and install it — Android 12 and up, nothing else to set up.

Download the latest build

02[build]

You want to look inside it

Two commands, and about five seconds once Gradle is warm.

git clone https://github.com/MKS-01/duskread.git
./gradlew :androidApp:installDebug
Source, docs and issues on GitHub

A weekend project by mksbrew.dev · built with Claude Code · also: readback · 2026