Napper
A private assistant that reads my own mail and calendar, sorts what actually needs me, and has a draft waiting when a reply is owed. It has exactly one user: me.
What it does
I work across five email accounts and four separate concerns — a tutoring company, a sustainability non-profit, a board seat, and advisory clients. The mail all arrives in one undifferentiated stream. Napper reads it, works out which part of my life each message belongs to, and sorts it by what it costs me:
- Decide — needs my judgment, cannot be delegated.
- Reply — needs my words, so a draft is prepared and left in my drafts folder.
- Know — no action, summarised in a daily brief.
- Nothing — filed, shown as a count.
On top of that it produces a daily brief and a weekly summary, tracks my hours against the commitments I have made to each organisation, and watches a set of research topics I care about.
What it will never do
Napper does not send email. It writes drafts into my Gmail drafts folder and stops there. No send function exists anywhere in the codebase, and an automated check fails the build if one is ever added. Every outbound message is sent by me, by hand, after I have read it.
It also never deletes mail, never posts anywhere on my behalf, and never takes any action I have not explicitly approved. Anything it wants to do is proposed to me first and waits.
Google data it uses, and why
Napper reads my own Google accounts. Each permission below exists for a single stated purpose, and nothing broader.
| Permission | Why Napper needs it |
|---|---|
gmail.readonly |
Read my incoming mail so it can be classified and summarised. Read only — nothing is modified or deleted. |
gmail.compose |
Create draft replies for me to review. Used solely to write drafts; Napper implements no send path. |
gmail.modify |
Archive a message when I dismiss it, by taking it out of the inbox. It stays in All Mail; nothing is deleted. Gmail has no permission that allows this and forbids sending, so this scope — like gmail.compose — would technically permit it. Napper implements no send path, and a build check fails if one is ever added. |
calendar.readonly |
See my schedule, so the brief knows what my day looks like and time can be attributed to the right project. |
drive.readonly |
Read documents referenced by a project so a brief can cite the right source. |
drive.file |
Write only to files Napper itself created. It has no access to the rest of my Drive. |
spreadsheets |
Read the timesheet I already keep, and write its own estimates into two clearly-labelled columns. It never overwrites the hours I reported myself. |
Who can use it
Nobody but me. Napper is not a product, has no sign-up, no accounts, no invitations, and no billing. It is a single-user tool I built for my own work. There is no version of it that reads anyone else's mail.
Privacy and terms
The Napper privacy policy sets out exactly what data is accessed, where it is stored, how long it is kept, and who else can see it. The short version: it stays in my own infrastructure, it is never sold or shared for advertising, and I am the only person who reads it.
The terms and conditions cover the rest — that Napper is single-user by design, that no licence to use it is granted to anyone else, and that anything it writes is a first draft for me to check rather than something to rely on.
Who built it
I am Paul Bennett — a founder and advisor working in travel, learning, and sustainability. More about that on my site. Napper is a personal project, not a company.
Questions about it: paul@cicerolearning.com