Longhand AlmanacAbout the project
Longhand Almanac indexes creative writing published on websites people built themselves. Poems, stories, zines, essays. No platforms, no publications, no companies. Every result links to the writer’s own page, and nothing is copied or kept here.
Search rewards pages that are built to be found. Schema markup, meta descriptions, keyword-shaped titles, backlink campaigns, tracking pixels. Somebody writing poems into hand-made HTML does none of that, and has no reason to start.
So the work never surfaces. The ranking is measuring effort spent on ranking, and these writers spend theirs on the writing. That is the machine’s problem, not the writer’s.
This index scores it the other way around. Optimization counts against a site here. A link from another writer’s hand-kept blogroll is worth more than a thousand from anywhere else, because one person had to sit down and put it there.
Three parts, all written from scratch. No search library, no off-the-shelf ranker.
Search runs in your browser rather than on a server. The site is a few hundred finished pages, so there is no database on the internet and no query of yours goes into a log.
This site counts page views with Google Analytics — the same category of tool our index scores other sites down for. Saying so is the point: a project that penalises tracking and then tracks quietly has no argument left.
So it runs in the one configuration that keeps the promise. Every storage permission is denied by default and never granted, which means no cookies are set, and there is no consent banner because there is nothing to consent to. Readers are counted, never kept. We lose the ability to tell returning readers from new ones, and that is a fair price.
The hearts on writer cards store no more than the rest: a number per writer, and a note in your own browser of which ones you've hearted, which never leaves your machine. No account, no cookie, no IP address in any form. Counts under three aren't shown — a public tally of who is loved most is the popularity contest this index exists to invert.
One shelf here is ranked. Recent is ordered by when the crawl found a site. Random reshuffles every time you load it, and every writer has an equal chance of leading it. Longhand Featured is the one where an opinion is applied, and here is the opinion.
The weights in that scorer were never designed. They came out of fifteen questions.
Fifteen pairs of real writers from the index, each pair built to isolate a single trade-off. Somebody still publishing this year against somebody with a much longer record. A site nobody links to against a site everybody links to. Which one deserves the higher spot? The answers were given in one sitting, and the scorer was tuned until it agreed with them.
It agrees on fourteen of the fifteen. Ordering by our own confidence score, which is what the shelf used before, agrees on six. Ordering by who has the most inbound links agrees on three.
The answers overturned the plan. Going in, the assumption was that a link from a well-regarded writer would be the loudest signal in the system. It finished last. Being unfound finished first, weighted more than double anything else. In one pair, a site with thirteen years of archives and a mountain of links lost to a site that nobody had linked to at all.
So the order runs: unfound first, then still publishing, then years at it and pages that aren’t trying to rank, then who vouches for you.
Every card on that shelf says why it is there, in a sentence:
ranked here because: unfound by the big engines · still publishing · writing since 1996 · no optimization at all · vouched by 2 other writers
If a score can’t be read back as a sentence, it doesn’t ship. The scorer runs on Featured only for now, while it gets ironed out. The other shelves keep their plain ordering and say so on the page.
Browse the shelves, follow a card out to a writer’s site, and if you like what you find, support them there. Plenty of the writers in this index keep a tip jar or a newsletter. The visit is supposed to happen on their site, not this one.
Keep writing on your own site. Link to the writers you love, because a blogroll is the map this project travels by and it is how the next writer gets found. To make sure we’ve seen you, email your site.
Two lines in your robots.txt and the crawler never comes back:
User-agent: LonghandAlmanacBot Disallow: /
Already in the index and want to be removed? One email, no questions asked. More detail at /bot.
The full list will live on a public roadmap, rebuilt from the working notes every morning so it goes stale the day the work does and not a day later. Until that page is ready, the changelog is the record of what has actually shipped.
User-agent: LonghandAlmanacBot, Disallow: /. Already in and want out? Send the domain to hello@longhandalmanac.com and it goes, no questions asked. The crawler reads robots.txt before every request, names itself in the user-agent, and rate-limits itself to stay a polite guest.