Read-only access· nothing that can post as you
Your X bookmarks, sorted and sent to your inbox.
Sift files everything you save on X by topic, then emails it back to you — grouped, with a link to the original post. The searchable library is there when you want it. The email means you do not have to remember it exists.
Your first digest arrives within the hour of connecting. Billed monthly, cancel in one click — the most you can ever be out is one month. We ask for bookmark.read and four other read scopes, and there is no write scope in the request.
Your bookmarks are a library. Sift files it and mails it to you.
Before you add an index, run EXPLAIN (ANALYZE, BUFFERS). Half the time the plan is fine and the buffer numbers are telling you the working set no longer fits in cache — an index will not fix that.
Read the buffer counts in EXPLAIN ANALYZE before reaching for another index.
Most of the work in an eval suite is deciding what correct means. Writing the grader is the hard part; running it against a thousand samples is the easy part everyone talks about.
Argues the grading rubric, not the harness, is the real cost of an eval suite.
Dense product UI, in four rules: one type scale, one line-height per role, never more than two weights on a screen, and tabular numerals anywhere a number can change.
A four-rule checklist for setting type in information-dense interfaces.
Showing 3 of 428 · one paid check a day, not a re-scan of your library
Illustration of the library view. The posts are written sample content, not quotes from real accounts.
The problem
You save it for later.
Later never comes.
01
Nothing comes back
X has no folders, no tags, no search inside the text of what you saved. One list, newest first, forever.
02
So nothing gets reopened
The bookmark button is a way of closing a tab with a clear conscience. The post is gone the moment you tap it.
03
And another app will not fix it
The Notion export, the spreadsheet, the read-later app — every one of them needed you to remember to open it. The only saved-post tool that works is the one that comes to you.
What is verifiable today
No testimonials or customer logos here — the product is new and we have nothing honest to quote.
These five are properties of the code instead.
- Read-only
- Five read scopes —
tweet.read,users.read,bookmark.read,offline.access,users.email. No scope that can post, follow or message. - No password
- You approve the request on x.com through X's own authorization flow.
- One-click delete
- The account and everything in it, from Settings, with no support ticket.
- Email, not another app
- And never sent on a day you saved nothing — there is no streak to keep.
- Cancel in one click
- No notice period and no retention call. The next charge does not happen.
The demo
See exactly what you are buying, before you buy it.
The digest below is laid out the way it lands in an inbox — the grouping, the counts, the canonical links and the labelled generated line are all the real structure. The signed-in demo library is switched off on this deployment.
01
Search it
Full-text across the body of every post in it, narrowed by category or tag. The filters live in the URL, so any view you build is a link.
02
See what is generated
Categories, tags and the one-line summary, in their own labelled row on their own colour — never folded into the post text.
Read the digest now
Nothing to sign into, nothing to install. The only thing you cannot see without paying is your own bookmarks in it.
Why it is worth paying for
7 dollars to make something of what you already saved.
X gives away the best writing on the internet about how things actually work. You already did the hard part: you picked them. What is missing is a way to find one again in ten seconds, and something that puts them back in front of you before you forget they exist. That is what $7 a month buys. Not content — retrieval.
01
You already did the curating
A paid newsletter costs more than this and somebody else decides what is in it. Your bookmarks are a newsletter you edited yourself, one post at a time, over years. Sift just prints it and sends it.
02
Twenty-three cents a day
One thread you find again instead of re-searching for it, once a month, has already covered it. Everything after that is the archive working for you rather than sitting in a list you never open.
How it works
Connect once. Then it runs.
The whole product is a loop: connect once, import once, then one cheap check a day forever.
01
Connect
Sign in through X and approve read-only access. No password reaches us, and nothing we are granted can post as you. Revoking it from Settings also deletes every bookmark, category and token we hold.
02
Import
We pull your latest 300 saved posts straight away to categorize, then the first digest follows within the hour.
03
Sort
Each bookmark gets one of thirteen fixed categories, free-form tags and a one-line summary, shown in their own labelled row — never mixed into the post itself.
04
Delivered
An email lands at your preferred time — 07:00 until you change it, daily or weekly, your choice — grouped by topic, one line on each post, a link straight to the original. Saved nothing since the last one? No email.
Features
Six things, each doing one job properly.
Bookmarks in, sorted, out again whenever you want them.
01
It arrives without being asked for
One email at your preferred time, grouped by topic, with a link to every original post — and never sent on a day you saved nothing. Change the hour, switch to weekly, or pause it from Settings.
02
Find the post you half-remember
Full-text search across the body of everything you saved, narrowed by category or tag. Filters live in the URL, so any view you build is a link you can keep.
03
AIFiled before you open the app
Thirteen fixed categories, free-form tags and a one-line summary on every bookmark — generated, labelled as generated, and kept out of the post text.
04
Export that is not a bargaining chip
A plain CSV — categories and tags included — straight into a spreadsheet, Notion, Obsidian or Readwise. 300 posts a day, a daily allowance rather than a plan gate. No lock-in, no "contact us to export".
05
Deleted there, gone here
A nightly check clears anything removed from X within 24 hours, leaving a marker where it was so nothing you remember vanishes silently.
06
Nothing that can post as you
Five read scopes and no write scope. It is not a promise not to misuse the access — the access does not exist.
The digest
The part that comes to you, daily or weekly.
A bookmark you never open again is a delete with extra steps. So the digest is the part of the product that does the work: one email grouping what you saved by category, with a canonical link to every original post — and nothing at all on a day you saved nothing.
Your bookmarks, 6 new
Sift · to you · 07:00 in your timezone
Engineering
2- x.com ↗
@pg_notes_demo
EXPLAIN (ANALYZE, BUFFERS) before you add an index
- x.com ↗
@queue_theory_demo
Backpressure is a product decision, not a config flag
AI/ML
1- x.com ↗
@evals_daily_demo
Writing the grader is the hard part of an eval
Design
1- x.com ↗
@type_and_grid_demo
Four rules for type in dense product UI
2 image/link-only posts, one line each · Open full library
Every item links to the original post. Nothing saved since the last one means no email at all. One click at the foot of any digest turns it off for good.
The digest laid out as it lands: the grouping, the counts, the canonical links and the labelled generated titles are the real structure. The posts in it are written sample content, not quotes from real accounts.
What lands in your inbox
- One email, grouped by topic
- Engineering, AI/ML, Design and the rest, each with a count, so you can read one section and close the tab.
- One line per post
- A short neutral title stating what the post says, so you can decide without opening it. The title is generated and labelled as generated. Image- and link-only posts fold into one line each at the end.
- A link to every original
- Straight to the post on x.com. Nothing is rehosted, nothing is rewritten, nothing tries to keep you reading inside an app.
- Your preferred time of delivery
- Every morning at 07:00 in your own timezone, or whichever hour you pick — daily or weekly. Switch cadence or pause delivery from Settings at any time.
- Never sent empty
- No new saves since the last one means no email. There is no streak to keep and nothing that emails you about having nothing.
- One-click unsubscribe
- Turning the email off leaves the library intact — the app keeps working, it just stops writing to you.
The categories and the one-line titles are generated, and labelled as such. The counts, the links and the attribution are not — those follow the same rules as the library.
Pricing
One plan. One price.
Cancel whenever you like.
There is no free tier and no trial, because reading your bookmarks costs us money on the first morning whether you stay or not. What there is instead is a demo of the whole product, open to everyone, before you pay anything.
Monthly or annual
| Item | Monthly | Annual |
|---|---|---|
| Price | $7 a month | $70 billed once |
| Over a year | $84 | $70 — $14 less |
| Commitment | One month at a time | One year, paid up front |
| Everything else | Identical | Identical |
Same product either way. Pick one at signup, or switch from Settings later — the caps, the digest and the export allowance are identical.
Annual works out to two months free.
$7/ month · or $70 a year
Billed monthly — $84 over a year.
$70/ year · or $7 a month
Billed once — $14 less than paying monthly.
The whole product. Your library imported and sorted, searchable, exportable, and mailed back to you at an hour you choose.
Self-serve checkout is not switched on for this deployment yet, so connecting is as far as this button goes today. Read-only access either way.
- Initial import
- 300 latest bookmarks
- First digest
- Within the hour
- Digest email
- Your preferred time
- New-bookmark check
- Daily
- New bookmarks
- 300 a month
- CSV export
- 300 posts a day
- Commitment
- None
Imported the moment you connect.
Your existing library, grouped, before you have paid anything.
07:00 in your timezone, daily or weekly — switch either from Settings. Nothing new saved? No email.
One request, not a re-scan of your library.
Everything you save after connecting. The first import does not count toward it.
Our own daily allowance, inside X's 500-a-day policy ceiling.
Billed monthly. Cancel in one click and the next charge does not happen.
01
Not sure? Start monthly
Monthly is $7 and you can stop after one. Annual saves $14 but is paid up front, so it is the choice to make once you already know the digest is part of your morning — not the one to make on day one.
02
Export is 300 posts a day
A daily allowance rather than a plan gate, and it sits inside X's own policy ceiling of 500 post objects per person per day. Run it on consecutive days and you can take everything out.
03
Read-only, always
We ask X for permission to read your posts, your profile and your bookmarks — and nothing that can post, follow, message or unfollow. Paying changes nothing about the permissions.
04
Prices in US dollars
$7 a month or $70 a year, excluding any tax that applies where you are. No setup fee, no per-seat pricing, no usage surcharge.
How Sift compares
The one that mails it back to you.
These are the three tools people actually weigh against each other. Every cell below is something we checked on their own site; two rows we could not settle are left out rather than guessed, and what they do better than us is underneath the table rather than missing from the page.
| Feature | Sift | Bulkmark | Dewey | Doing nothing |
|---|---|---|---|---|
| Sorted automatically | Yes | Yes | Yes — AI auto-tagging | — |
| Full-text search | Yes | Yes | Yes | — |
| Delivery hour you choose | Yes | Not stated | — | — |
| Never sent on an empty day | Yes | Not stated | — | — |
| CSV export | Yes | No | Yes | — |
| Price published | Yes, $7 flat | Yes, but rises as spots fill | Yes | — |
| Try before paying | Live demo, plus the digest on this page | 7-day trial | Permanent free tier | — |
| Read-only, no write scope | Yes | Yes — stated | Not stated | — |
| Deleted posts cleared in 24h | Yes | Not stated | Not stated | — |
| Live demo, no signup | Yes | Video only | — | — |
Scroll the table sideways to compare.
Two rows are missing on purpose. Bulkmark's own site says weekly in five places and "daily or weekly" in one, and its terms and its blog disagree about whether the plan is annual or monthly — so the digest-frequency and commitment rows are left out rather than settled in our favour. "Not stated" means their site does not say, not that the answer is no.
01
What Dewey does that we do not
A permanent free tier with export included, support for Bluesky, LinkedIn and Reddit as well as X, a one-time lifetime plan, Notion and Sheets sync, and public folder sharing. Sift does none of those: it does X bookmarks, and it mails them to you.
02
Where Bulkmark differs
Mostly commercially rather than functionally: a 7-day trial instead of a demo, and a price that rises as early places fill rather than a flat one. Both it and Sift can answer a question put to your own archive rather than only search it.
Questions
The things worth asking first.
Permissions, the email, what $7 a month buys and getting your data back out — answered properly, because these are the questions that decide whether connecting an account is a good idea.
01
Getting started
What connecting actually does, and what it cannot do.
Do you need my X password?
No, and we could not accept it if you offered. Connecting runs X's own authorization flow, so you approve the request on x.com and X hands us a token afterwards.
The token is limited to five read scopes — tweet.read, users.read, bookmark.read, offline.access, users.email. It is encrypted before it is stored, and deleting your account revokes it at X rather than merely forgetting it here.
Can you post, follow or send messages as me?
No. We never request a write scope, so the token we hold is incapable of posting, replying, liking, following, unfollowing or messaging. It can read your posts, your public profile, your bookmarks and the email address on your X account, so the digest has somewhere to go. That is the whole surface.
Can I try it before paying?
Yes, without an account. The demo is a real Sift library you can search and filter, and the digest is laid out on this page exactly as it is grouped in an inbox — the same categories, counts and canonical links. The only thing you cannot see without paying is your own bookmarks in it.
02
The email
When it lands, what is in it, and how to stop it.
What does the digest actually look like?
One email, grouped by category, with a count beside each group and a single line describing each post. Every item links straight to the original on x.com. There is a rendering of it on this page you can read without connecting anything.
When does it arrive, and can I change that?
Every morning at 07:00 in your own timezone, until you move it. The hour, the timezone, daily-or-weekly and the on/off switch all live in Settings, and the library keeps working whatever you do with them. Either way it is simply not sent on a day (or week) you saved nothing.
Will you email me on days I saved nothing?
No. If there is nothing new since the last digest, no email is sent. There is no streak, no reminder to save more, and no monthly summary of your inactivity.
When does my first digest arrive?
Within the hour. We import your newest 300 bookmarks, group them by topic and send the lot as one catch-up digest — your existing library, sorted, before you have paid anything. After that it settles into one email at your chosen hour, and none at all on a day you saved nothing.
Can I turn the email off and just use the app?
Yes. One click unsubscribes, and nothing else changes — the library, the search and the export all keep working.
03
What it costs
Why there is no trial, and what happens when you stop.
Why is there no free trial?
Because reading bookmarks is metered — X bills us per post returned, so importing your library costs real money on the first morning whether you stay or not. A free trial means charging the people who stay for the people who were never going to. We would rather hold the price at $7, show you the entire product in the demo before you pay, and let you leave after one month if it is not for you.
What if it is not for me?
Cancel, and the next charge does not happen. Sift is billed a month at a time, so the most anyone is ever out is $7 — which is the reason the demo and the digest on this page are open to everyone with no account. Look at those first and you will know before you pay.
What if I cancel?
One click, any time. The subscription runs to the end of the period you have paid for and then stops — no renewal, no retention offer, no call to book. Your library stays searchable until then, and the CSV export is there so you can take it with you.
Will I ever be charged for API usage on top?
No. The price is flat, and what we spend at X is our problem to manage, not a line item we pass to you. The bound is the published ceiling rather than a surcharge: 300 newly saved bookmarks a month, counting the initial import, enforced in the sync engine before any billable call.
04
Your data and X's rules
What is stored, who else touches it, and what X's policy requires of us.
What happens when I delete a post on X?
It goes from here within 24 hours. Every night we ask X which of the posts we store have been deleted, withheld or suspended, and act on the answer before the next digest goes out. What you see is a marker rather than a hole: the row stays in your library noting that the post is no longer available on X, with the content removed.
Who else sees my bookmarks?
Three services, all named. Anthropic receives batches of post text to produce the thirteen categories, the tags and the summaries. OpenAI receives post text to produce the embeddings behind semantic search. Our email relay receives the rendered digest, which is what sending it to you requires.
None of those batches carries your handle, your email or your user id — classification does not need to know whose library it is. They do carry the post's own author handle, because a known researcher's terse post is real signal for what category it belongs in, and we would rather say so than let you find it in a diagram.
That is the list. Your bookmarks are not sold, not used to train anything of ours, not enriched with third-party data and not shown to other users. The privacy policy sets out what each processor receives.
What happens if I delete my account?
One button in Settings: we revoke our access token at X, then purge your bookmark list, the categories, tags and summaries generated for you, your sync state, your digest history and your stored tokens. No support ticket, no cooling-off period, no deactivated state that quietly keeps everything.
05
Exporting
You can take everything with you, a file at a time.
Can I export everything?
Yes — 300 posts a day. That is our daily allowance, and it sits inside X's own rule, which permits handing up to 500 post objects to each person per day by non-automated means. So export is a button you press, and a large library comes out over consecutive days. The file is CSV, one row per bookmark, with the category, tags and summary in their own labelled columns.
Still deciding
The two documents that answer the rest are the privacy policy — what is stored, for how long, and which processors see post text — and the terms, which set out the caps above as commitments rather than marketing. Annual is $70 and changes none of them.
Free tools
5 small tools, no account, no upload
Each one runs entirely in your browser and never touches the X API — which is both the honest privacy claim and the reason they are free.
X post character counter
Counts a post the way X does — links are 23 characters, emoji and CJK count double.
Runs in your browser
Thread splitter
Paste long text and get a numbered thread split on sentence boundaries, never mid-word.
Runs in your browser
Bookmark sync cost calculator
What reading N bookmarks actually costs on X's pay-per-use API, at the current published rates.
Runs in your browser
Bookmark export converter
Convert a CSV or JSON bookmark export to Markdown, CSV or JSON. In-browser, no upload.
Runs in your browser
X archive explorer
Open your official X data archive and search your posts and likes locally. Nothing leaves the tab.
Runs in your browser