One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Avalanche prediction centers, high-altitude meteorological observatories, mountain rescue dispatch, ski area snow safety networks Avoid for: Casual fitness apps, consumer weather widgets, social networking, playful gamified apps
Apricot Press
Ingredients hang in the margin, steps run down the page.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Recipes and food publishing, instructional content, courses and how-tos, menus, craft documentation Avoid for: Dashboards, developer tools, anything with real-time data
Atoll Market
A shop that reads like a magazine.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Fashion and lifestyle commerce, lookbooks, brand storefronts, collections, editorial retail Avoid for: Operational software, dashboards, technical documentation
Aurora Console
Telemetry that looks like the aurora, not like a spreadsheet
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Observability, infrastructure consoles, developer tools, real-time monitoring, AI/agent dashboards Avoid for: Children's products, print-like editorial, anything read in direct sunlight
Blacktop
White is the brand. Orange means stop.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Transport and mobility, delivery and courier tracking, motorsport, night-shift operations Avoid for: Soft consumer brands, healthcare, long-form editorial
Bloom Lab
Serious instruments with the corners taken off
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Science and health consumer products, wellness apps, education, onboarding-heavy SaaS Avoid for: Enterprise procurement, legal, anything that must read as conservative
NEW
Boreal Observatory
High-precision operational telemetry and instrument control
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Observatories, telemetry stations, scientific dashboards, radar monitors Avoid for: B2C lifestyle blogs, consumer eCommerce, casual mobile social apps
Chancery Lane
A document, not an interface.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Contracts and e-signature, legal research, policy and compliance libraries, notarised records, long clause-numbered text Avoid for: Consumer marketing, dashboards, anything image-led, anything that needs to feel fast
Craft Zine
Independent magazine energy on warm paper stock
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Editorial products, curated feeds, indie SaaS, newsletters, community showcases Avoid for: Dense analytics, financial dashboards, enterprise admin consoles
Curated Catalog
Museum-shop catalogue — someone chose these, and it shows
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Marketplaces, collections, product discovery, galleries, shops, directories Avoid for: Data tables, admin tooling, anything without imagery
Curtain Call
The room before the lights go down.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Theatre and concert programmes, ticketing, festival schedules, arts venues, membership sites Avoid for: Developer tools, dense dashboards, anything that needs to look inexpensive
Depot Red
Which way, how far, how long.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Wayfinding and station displays, warehouse and depot systems, venue navigation, transit information Avoid for: Editorial, commerce, anything that needs a soft or premium voice
Depth Charge
Navy hull, one lime, and readings that never stop moving
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Fleet and vehicle telemetry, marine and aviation, energy monitoring, control rooms Avoid for: Editorial, marketing sites, anything printed
Drafting Room
Everything on this page is measured.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Engineering and construction tools, CAD and spec software, hardware documentation, technical estimating Avoid for: Consumer commerce, editorial, marketing sites, anything playful
Evidence Office
A civic records office that happens to render fast
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Data-dense home screens, comparison tables, admin consoles, research tools, internal platforms Avoid for: Consumer marketing pages, playful brands, image-led storytelling
Excavation
Ordered by depth, because that is the order it happened.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Archaeology and field archives, geology and core sampling, museum collections, provenance records, stratified data Avoid for: Real-time tools, consumer products, anything whose natural order is chronological or alphabetical
Expert Lens
The reviewer's desk at midnight — long reading, sharp verdicts
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Review workflows, editorial judgement, research briefs, expert panels, deep detail pages Avoid for: Bright consumer marketing, high-volume grids, print-like light UIs
Ferro Brut
Mid-tone concrete, 3px rules, and one colour you are not allowed to ignore
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Construction and logistics tools, industrial dashboards, bold agency sites, event and festival pages Avoid for: Healthcare, finance, anything that needs to feel gentle or premium
Field Survey
Every panel knows its grid square.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Field operations, logistics and dispatch, mapping and GIS, inspection tooling, incident command Avoid for: Consumer apps, editorial, anything warm or informal
Fitting Room
You have it until the fourteenth.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Clothing rental and subscription, library and equipment lending, try-before-you-buy, wardrobe management Avoid for: Outright-purchase retail, anything without a return or renewal cycle
Frost Index
Everything is one hue, because everything is one quantity
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Financial data, reference tables, comparison tools, market and index dashboards Avoid for: Consumer marketing, storytelling pages, anything that needs warmth
Frost Signal
In range, or out of range. There is no third state.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Cold-chain and logistics monitoring, food safety, lab freezers, sensor fleets, alert consoles Avoid for: Marketing sites, editorial, anything where red and green are decorative
Greengrocer
Per kilo, or it does not go on the shelf.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Grocery and produce, food markets, wholesale ordering, meal-kit and box schemes Avoid for: Luxury goods, professional services, anything priced per seat or per month
Grid Bureau
Everything sits on the line.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Port and terminal operations, freight and yard management, fleet dispatch, warehouse control rooms Avoid for: Editorial, marketing sites, anything with variable-length content that must not be truncated
Herbarium Plate
Mounted, labelled, and left alone.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Catalogues and collections, natural science, archives, plant and food brands, museum interfaces Avoid for: Fast commerce, developer tooling, anything with a live feed
Hotel Bell
Two nights, two guests — every price says so.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Hotels and lodging, holiday rentals, resorts, spa and treatment booking, travel packages Avoid for: Flat-rate products, subscriptions, anything not priced by occupancy and duration
Invitation
If it would not print, it is not a card.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Events and RSVPs, weddings and parties, save-the-dates, ticketed socials, membership cards Avoid for: Data-heavy tools, long-form content, anything with unbounded text
Kiln Clay
The page is clay, and the cards are pressed into it
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Craft marketplaces, food and drink, small-batch commerce, workshops and classes Avoid for: Dense dashboards, developer tools, anything with heavy tables
Kunsthalle
The wall is grey so the work is not.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Contemporary art institutions, galleries, biennials, artist archives, exhibition programmes Avoid for: SaaS products, e-commerce at volume, anything that needs a call to action above the fold
Late Edition
Set in columns, closed at midnight.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: News and newsletters, opinion and analysis, sports coverage, live blogs, long-form journalism Avoid for: Product marketing, dashboards, anything with a soft brand voice
Ledger Green
Debit left, credit right, everywhere.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Bookkeeping and accounting, invoicing, audit trails, treasury and reconciliation, financial statements Avoid for: Consumer fintech, anything playful, anything where money is a secondary concern
Lilac Quiet
There is no grey here — even the borders are lilac
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Journalling and reflection apps, calm productivity, mental health, personal finance Avoid for: Industrial tools, dense analytics, high-urgency operational software
Meter Room
The scale is fixed so two screens can be compared by eye.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Energy and utility monitoring, building management, sub-metering, tariff and consumption reporting, plant rooms Avoid for: Exploratory analytics, anything where the interesting range is unknown in advance
Midnight Reel
One warm metal on black. Everything else is the absence of light.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Film and music catalogues, ticketing, hospitality, luxury editorial, membership sites Avoid for: Data-heavy admin, developer tools, anything with a lot of forms
Moss Atlas
The green is the paper, not the button
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Field research, environment and climate products, outdoor and travel, mapping tools Avoid for: Bright consumer marketing, finance, high-density admin tables
Neon Arcade
Five colours, all of them shouting, on the blackest possible page
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Games, music, streaming, community and creator platforms, hackathon and event sites Avoid for: Finance, healthcare, enterprise admin, anything read for more than ten minutes
Pearl Atelier
The page is pink, and one green thread runs through it
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Fashion and beauty, couture and made-to-order, salons, boutique commerce, invitations Avoid for: Enterprise software, developer tools, dense reporting
Powder Room
Shade first. The photo can wait.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Beauty and cosmetics retail, paint and pigment, textile and yarn colour, anything sold by shade Avoid for: Products with no colour dimension, B2B tools, monochrome catalogues
Quiet Clinic
Calm, careful, accessible — built for people having a bad day
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Health, fintech, government services, onboarding, forms, account and settings flows Avoid for: Brand statements, entertainment, anything that needs to feel exciting
Radiograph
The image is the application.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Medical imaging review, PACS viewers, scientific microscopy, satellite and survey imagery, any image-first tool Avoid for: Content sites, marketing, anything where the image is an illustration rather than the subject
Reading Lamp
Size and warmth. That is the whole settings screen.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Long-form reading, e-books and serialised fiction, essays and archives, read-it-later, documentation prose Avoid for: Dashboards, media-rich magazines, anything with an interface to speak of
Reed Bed
A number without its band is not a reading.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Water quality and catchment monitoring, environmental reporting, conservation trusts, field science, regulatory returns Avoid for: Commerce, consumer apps, anything that needs a bright first impression
Rosewater School
One child at a time, named first.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Nurseries and primary schools, childcare apps, parent communication, after-school clubs, family services Avoid for: Enterprise software, finance, anything that must read as neutral or institutional
Rust Freight
Stone, iron and a slate blue that came from somewhere else
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Logistics and shipping, manufacturing, inventory, trades and field service Avoid for: Consumer wellness, luxury, anything that should feel new
Sable Court
There is no second colour anywhere in this system
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Law, archives, private banking, long-form reports, heritage brands Avoid for: Products that need status colours, dashboards, anything with alerts
Seed Index
Cool all the way through, and easy to order from.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Nursery and grocery catalogues, subscription boxes, wellness commerce, product indexes, order forms Avoid for: Finance and enterprise tooling, dark-mode-first products, high-urgency alerting
Shortwave Desk
Dark, but with the lamp on.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Monitoring and observability, radio and audio tools, log analysis, on-call consoles, night-shift software Avoid for: Marketing sites, print-like editorial, anything read in bright sunlight
Signal Pop
Loud, friendly, physical — buttons you can almost press with a thumb
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Research and analysis, policy and strategy, investor reporting, internal memos Avoid for: Consumer commerce, playful products, anything with heavy imagery
Sleeve Notes
Square, because the object is.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Record labels and music catalogues, streaming and radio, podcast networks, artist discographies Avoid for: Dashboards, forms-heavy admin, anything whose content is not a fixed-ratio object
Sprint Board
The number is the interface.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Live scoring and leaderboards, fitness and racing, sales boards, competitive analytics, wall displays Avoid for: Long-form reading, settings-heavy apps, anything with a subtle message
Studio Vellum
Fashion-house editorial — ivory, ink, and expensive emptiness
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Brand sites, agency and studio portfolios, luxury commerce, manifestos, long-form essays Avoid for: Dashboards, dense catalogues, anything with more than a handful of items per screen
Supper Club
A menu, printed for tonight.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Restaurants and wine bars, tasting menus, supper clubs, hospitality booking, chef residencies Avoid for: Delivery apps, anything with hundreds of items, anything needing price comparison
Terminal Ledger
Everything is mono, nothing is rounded, every value is greppable
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Developer tools, logs, CI dashboards, infra consoles, CLIs on the web, status pages Avoid for: Consumer products, marketing pages, anything read by non-technical users
Ticket Stub
Torn along the dotted line.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Ticketing and check-in, boarding and travel, order confirmations, coupons, event entry Avoid for: Editorial reading, analytics, anything with dense tabular data
Tide Table
The quiet page, and the one figure you came for.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Almanacs and reference data, weather and marine services, timetables, scientific reporting, long tables Avoid for: Consumer marketing, anything that needs urgency, image-led storefronts
Tonic Room
How much, how often, for how long.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Pharmacy and supplements, prescription refills, health commerce, dosing and adherence apps Avoid for: Fashion, luxury, anything that sells by aspiration rather than by specification
Ultra Civic
One colour and its tint. A second hue would be a bug.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Government and civic services, transit, universities, public information, forms at scale Avoid for: Luxury retail, entertainment, anything that needs more than two semantic colours
Violet Hour
Doors at eight. Everything in caps.
NorthfieldSearchSubmit
Featured this week
A headline that has to carry the whole typeface
One honest sentence about the thing, set at the reading size the system actually ships.
Read the briefSave for later
Verified ideas128
Evidence sources1,204
Median price anchor$14
Reviewed this week36
Worth a look
All 128
Butcher restock alerts
Turns repeat phone questions into an opt-in subscription.
Local commerce6 sources
Shuttle route drafts
Builds a term's schedule from addresses and class times.
Local B2B4 sources
Revision diff viewer
Lines reviewer comments up against the edited manuscript.
Research tools5 sources
Comparison
Sorted by evidence
01
Butcher restock alertsSMS subscription for a single shop
DifficultyLowAnchor$9/moSources6
Open
02
Shuttle route draftsDraft schedules from addresses
DifficultyMedAnchor$49/moSources4
Open
Work email[email protected]We only use this to send the weekly brief.
MarketLocal commercePick the closest match; you can change it later.
Subscribe
Good for: Nightlife and music listings, festivals, club and venue sites, launch pages, youth brands Avoid for: Finance, healthcare, enterprise tools, anything requiring a sober voice
Navigation · 8
Split rule mastheadnav-split-rule
Editorial masthead: wordmark left, links right, one hairline under the lot. The active link is marked by a rule that draws in from the left.
MotionEach link carries a 1px underline scaled to 0 on the x axis with a left origin; hover and the current page scale it to 1 over var(--dur) with var(--ease). Because it is a transform, it never reflows text. Under prefers-reduced-motion the underline is simply present or absent.
A11yNav is wrapped in <nav aria-label>. The current page uses aria-current="page" and is not a link target visually only — the underline is paired with a weight change so colour and motion are never the sole signal.
Floating pill barnav-floating-pill
A detached bar hovering above the page with a sliding indicator behind the active item. Reads as an object rather than a page edge.
MotionThe indicator is one absolutely-positioned element moved with translate3d + width, so only compositor properties animate. Clicking a tab measures the target with getBoundingClientRect and slides over var(--dur) at var(--ease); the first paint is set without transition so it does not fly in from 0.
A11yrole="tablist" with roving tabindex; Left/Right arrows move focus and selection, Home/End jump to the ends. The indicator is aria-hidden — selection is carried by aria-selected.
Prompt path barnav-command-bar
Navigation as a shell prompt: a caret, a slash-separated path, and keyboard hints on the right. Location is text you can select and copy.
>_/ searchgd deploys
MotionThe caret blinks on a 1.06s step animation — a step timing, not a fade, because a terminal cursor does not ease. Segments invert foreground and background on hover with no transition at all; instant response is the point. prefers-reduced-motion stops the blink and leaves the caret solid.
A11yThe path is a real <nav aria-label="Breadcrumb"> ordered list with aria-current="page" on the last crumb. The kbd hints are <kbd> elements and the shortcut they describe is bound, not decorative.
Mega drawernav-mega-drawer
A top-level item opens a full-width panel of grouped links with a lead image. For catalogues too broad for a dropdown.
MotionThe panel animates grid-template-rows 0fr to 1fr plus opacity, which gives a real height transition without measuring anything in JS. It opens on click, not hover, so it cannot flicker as the pointer crosses it, and closes on Escape or an outside click.
A11yThe trigger is a button with aria-expanded and aria-controls. Escape closes and returns focus to the trigger. Links inside are unreachable by Tab while closed because the panel is inert via hidden until expanded.
Icon rail with flyoutnav-icon-rail
A 64px vertical rail of icons with a label flyout on hover or focus. Buys back horizontal space on dense tools.
Workspace content
MotionThe flyout translates 6px in from the left and fades in over var(--dur-fast); it is opacity plus transform only, so the rail never reflows. The active bar slides between items rather than each item drawing its own, so the eye can follow where selection went.
A11yEach item is a link with an accessible name from a visually persistent label in the flyout, not a title attribute. The flyout appears on :focus-visible as well as :hover, so keyboard users get the same information.
Reading progress headernav-scroll-progress
A sticky header that condenses as you scroll and carries a reading-progress line along its bottom edge.
The Northfield ReviewIssue 14
Scroll this column. The masthead condenses over the first 120 pixels and the rule beneath it tracks how far through the piece you are.
A progress indicator earns its place only when the thing being measured is long enough that a reader might wonder. On a short page it is decoration, and decoration that moves is worse than decoration that does not.
The bar is a scaleX transform on a one-pixel element. There is no layout work per frame, which is why it stays smooth while the text above it is also resizing.
When the reader has reached the end, the bar is full and then it stops being interesting — so it does not animate, pulse, or celebrate.
MotionProgress uses a scaleX transform driven by scroll position, so it composites instead of laying out. The header height and the wordmark size interpolate between two states across the first 120px of scroll. Under prefers-reduced-motion the condense step is instant and the bar still tracks position.
A11yThe progress line is decorative and aria-hidden; the same information is announced by a visually hidden live region that reports percentage at 25% steps rather than on every frame.
Morphing segmented controlnav-segment-morph
A segmented switch whose indicator stretches toward the target before settling, so the movement reads as one object rather than a jump.
MotionOn selection the indicator first grows to span both the old and new segment, then contracts onto the new one — two rAF-sequenced steps of var(--dur-fast) and var(--dur). The stretch is what makes it feel elastic without any spring library. Reduced motion skips the stretch and moves directly.
A11yImplemented as a radiogroup: each segment is an <input type=radio> with a visible <label>, so it works with no JavaScript at all and the indicator is purely visual enhancement.
Breadcrumbs with sibling jumpnav-crumb-siblings
Every crumb is also a menu of its siblings, so you can move across the tree instead of only up it.
MotionThe sibling menu uses the native popover API where available and falls back to a hidden attribute, so it sits in the top layer with no z-index arithmetic. It fades and lifts 4px over var(--dur-fast); the chevron rotates 180deg on the same timing so the two read as one gesture.
A11yThe crumb text stays a plain link; the disclosure is a separate button with its own accessible name ("Sibling pages of eu-west-2"), so a screen-reader user never loses the ability to just follow the crumb.
Heroes · 10
Overlapping platehero-overlap-plate
A photograph on the right that the headline block deliberately overlaps, so the two planes interlock instead of sitting in tidy columns.
Field notes, issue 14
The shop that answered the same question ninety times
How one butcher turned a phone call nobody wanted to make into a subscription people pay for.
MotionOn hover the plate scales its inner image to 1.04 over var(--dur-slow) while the frame stays put, so the crop moves rather than the layout. The copy card lifts 3px on the same timing. Both are transform-only; prefers-reduced-motion removes them entirely.
A11yThe photograph is content, not decoration, so it carries real alt text. The copy card sits above it in DOM order too, which means the reading order matches the visual order without any positional trickery.
Offset editorialhero-editorial-offset
Twelve columns, deliberately unbalanced: the headline takes columns one to seven, the standfirst drops to nine through twelve and sits much lower.
Small markets, priced and proven
One hundred and twenty-eight ideas that somebody already pays for, each with the evidence attached and the price someone actually charges.
Autumn edition · 128 entries
MotionNothing moves on load beyond a staggered fade-and-rise: headline at 0ms, standfirst at 90ms, rule at 180ms, each over var(--dur-slow). The stagger is what makes it read as a composition being laid down rather than a page appearing. Reduced motion shows all three immediately.
A11yThe visual offset is grid placement only — DOM order is headline, standfirst, meta, so screen readers and tab order follow the intended reading sequence rather than the column positions.
Marquee bandhero-marquee-band
A headline with a continuously scrolling band of proof points beneath it — a ticker that reads as a texture rather than a list.
Evidence first, opinions later
Every entry carries its sources, its price anchor and the reason somebody thought it was worth writing down.
1,204sources cited·128verified ideas·$14median anchor·36reviewed this week·11solo-buildable·
1,204sources cited·128verified ideas·$14median anchor·36reviewed this week·11solo-buildable·
MotionThe band is one strip duplicated and translated across its own width on a linear loop, which is the only way to get a seam-free marquee without JavaScript. Hovering pauses it via animation-play-state so anything on it stays readable. prefers-reduced-motion stops it and lets the strip scroll horizontally by hand instead.
A11yThe duplicate strip is aria-hidden so nothing is announced twice. The band is scrollable by keyboard because it keeps overflow-x auto, and pausing on hover means the content is reachable by pointer users too.
Ledger herohero-stat-ledger
No image, no promise — the hero is the numbers themselves, ruled like an accounts page, with the headline as a single line above.
The ledger, as of this morning
Recomputed nightly. Every figure links to the query that produced it.
Verified ideas
0
+6
Evidence sources
0
+41
Priced ideas
0
+3
Expert reviews complete
0
—
MotionEach figure counts from zero to its value over 900ms with an ease-out curve, staggered 70ms apart down the column, and the count runs only once when the block first scrolls into view. Under prefers-reduced-motion the final values render immediately with no counting at all.
A11yEach row is a definition-list pair, so the label and value stay associated. During counting the value carries aria-live="off" and the final number is written to the DOM once, so assistive tech is never read a stream of intermediate numbers.
Collage parallaxhero-collage-parallax
Three photographs stacked at different depths that drift against each other as the pointer moves, with the headline pinned between the layers.
Look at the work
Every entry starts as a photograph of somebody's actual problem.
MotionPointer position maps to a translate of at most 14px, with each layer scaled by its own depth factor so the parallax reads as three distinct planes. Movement is damped by lerping toward the target each frame rather than jumping, and the whole listener is never attached at all when prefers-reduced-motion is set or the device is coarse-pointer.
A11yParallax is enhancement only — the layout is complete and legible with no pointer at all. Images carry alt text; the decorative frame behind them is aria-hidden.
Typed terminalhero-typed-terminal
The value proposition arrives as a command being typed, with real output printed underneath. For products whose users live in a shell.
MotionCharacters are appended on a 34ms interval with a 420ms pause at punctuation, then the output block prints line by line at 90ms intervals. The cursor blinks on step timing. With prefers-reduced-motion the full command and output are present on first paint and nothing types.
A11yThe typing target is aria-hidden and a complete, static copy of the same text sits in a visually hidden element, so assistive technology reads the finished sentence once instead of following every keystroke.
Fanning card deckhero-card-deck
A stack of cards that fans out when you hover or focus it, showing what is inside the product without needing a screenshot.
Three a week, each one already paid for
Hover the deck. Every entry is a problem somebody is currently solving badly, with the price they pay to solve it badly attached.
MotionThe three cards sit stacked with small rotations. On hover or keyboard focus within the deck they translate and rotate apart over var(--dur) with a 40ms stagger, so the fan opens in sequence rather than all at once. Purely transform, and disabled by prefers-reduced-motion, where the cards render pre-fanned instead.
A11yEach card is a link, so the deck is reachable and openable by keyboard; :focus-within triggers the same fan as hover, which means a keyboard user is never looking at an overlapped, unreadable stack.
Full-bleed duotonehero-duotone-bleed
An edge-to-edge photograph pushed through the theme primary as a duotone, with type sitting directly on it in a blend mode.
The review desk
Read the argument before you read the verdict
Every brief opens with the thesis and the evidence behind it. The judgements come last, and they are signed.
MotionThe image scales from 1.06 to 1 over 1.2s on first paint — a slow settle rather than a pan — and the duotone overlay fades from full to its resting opacity over the same window. Both are compositor properties. Reduced motion renders the settled state on the first frame.
A11yBecause text sits on an image, a solid scrim is applied under the copy column rather than relying on the duotone alone, so the contrast ratio is guaranteed by the scrim and not by whatever the photograph happens to contain.
Question and revealhero-question-reveal
A single blunt question at display size; the answer is hidden until you ask for it, which makes reading it a decision rather than a scroll.
Why does every good small business idea look boring?
Show meHide
Because the interesting part is not the idea, it is the repetition. Somebody answers the same question ninety times a month and has quietly decided that is just the job. The boring surface is what keeps the competition away.
MotionThe answer expands with a grid-template-rows 0fr to 1fr transition plus a small rise, so the height animates without any JavaScript measurement. The trigger label crossfades between "Show me" and "Hide". Duration is var(--dur-slow) because a reveal that is too quick feels like a glitch rather than an unfolding.
A11yA native <details> element does the work, so it opens without JavaScript, is announced correctly as a disclosure, and responds to Enter and Space with no key handling of our own. The marker is replaced visually but never removed from the accessibility tree.
Scroll-masked headlinehero-scroll-mask
The headline is revealed word by word as the block scrolls through the viewport, so the first sentence is paced by the reader rather than the page.
Scroll inside the frame
Nobodyneedsanotheridea.Theyneedthereceipt.
So every entry ships with its sources, the price somebody already charges, and an honest note about who it would be a bad fit for.
MotionEach word starts at 22% opacity and rises to full as its own scroll trigger passes, driven by one IntersectionObserver per word with a tight rootMargin band rather than a scroll listener, so there is no per-frame work. Reduced motion renders every word at full opacity immediately and removes the observers.
A11yThe words are plain inline spans inside a single heading, so the accessible name of the h2 is the complete sentence at all times regardless of how much has been revealed visually.
Cards · 12
Numbered zine cardcard-zine-numbered
Rank first and enormous, set in mono, with the metadata as a labelled grid at the foot. Reads like a printed countdown.
Reviewer comments lined up beside the manuscript they changed.
Market
Research
Difficulty
High
Anchor
$12/mo
Sources
5
MotionHover moves nothing. The numeral shifts from muted to the accent colour and the top rule thickens from 1px to 3px via border-width, both over var(--dur). Themes built on paper and rules should not float, and this card is the demonstration of that rule.
A11yThe rank numeral is inside the heading link as visually-hidden-prefixed text ("Number 01,"), so the accessible name reads as a ranked item rather than a stray digit floating before a title.
Catalogue portrait cardcard-catalog-portrait
Image first at a fixed 4:3 crop, then a title, one sentence, and a provenance line. The whole card is one click target.
MotionThe card rises 4px and its shadow spreads over var(--dur); inside it, the image scales to 1.05 on a longer var(--dur-slow) so the picture keeps moving fractionally after the card has settled. That small desynchronisation is what stops it feeling mechanical.
A11yOne anchor wraps the whole card so there is a single tab stop, not four. The focus ring is drawn on the card, not the image, and the badge text is part of the link name rather than a decorative overlay.
Comparison record rowcard-record-row
Fixed-height rows with an unchanging column order, so the eye can travel straight down any one attribute instead of re-reading each card.
MotionHover fills the row with the secondary tone and reveals the trailing action by opacity — nothing translates, because a list you are scanning vertically must not twitch horizontally. The status bar on the left is static; it is information, not feedback.
A11yRows are list items with a heading each, and the trailing action is a real link that is opacity-hidden but never display:none, so it stays in the tab order and appears on :focus-within.
Bento gridcard-bento-mixed
Tiles of deliberately unequal size and content type — a stat, a photograph, a quote, a list — packed into one asymmetric block.
This week
"They were answering the same question ninety times a month and had stopped noticing."
Field note 14 — local commerce
Verified
128
Sources
1,204
Top markets
Local commerce 24
Research tools 19
Median
$14
MotionEach tile lifts 2px on hover with a 0ms delay but a per-tile transition duration derived from its area, so the large tiles feel heavier than the small ones. Small detail, but it is why a bento grid can feel physical instead of like a spreadsheet.
A11yThe grid is a list. Tiles that are purely presentational (the photo, the texture block) are marked aria-hidden so a screen-reader user gets four meaningful items rather than seven, two of which say nothing.
Peeking stackcard-stack-peek
Items collapsed into a stack with only their headers peeking out; opening one pushes the rest down instead of covering them.
The shop already keeps a list of who wants what. The list lives in a notebook and in one person’s head, and it stops working the week they are on holiday.
DifficultyLowAnchor£9/mo
Every term somebody rebuilds the same schedule from a spreadsheet of addresses. The constraints barely change; the labour repeats in full.
DifficultyMediumAnchor£49/mo
Reviewers write against line numbers that move. Authors reply against a document that has changed twice since. Nobody is reading the same thing.
DifficultyHighAnchor$12/mo
MotionOpening animates grid-template-rows from 0fr to 1fr, so the push-down is a real height transition with no measured pixel values and no jump when the content changes. Only one item is open at a time; closing the previous one starts on the same frame so the two heights cross rather than queue.
A11yBuilt as a set of buttons with aria-expanded and aria-controls over region-labelled panels. It is not a native accordion widget, so arrow keys are deliberately not hijacked — Tab moves between headers exactly as a user expects from a list of disclosures.
Flip-to-detail cardcard-flip-detail
A summary on the front and the numbers on the back. The flip is a deliberate request for detail rather than a hover accident.
MotionA 3D rotateY over var(--dur-slow) on a preserve-3d container, triggered by click and by Enter or Space — never by hover, because a card that flips as your pointer crosses it is unreadable. Under prefers-reduced-motion the two faces crossfade in place instead of rotating.
A11yThe flipper is a button with aria-pressed. The hidden face has visibility:hidden rather than only backface-visibility, so its links are genuinely removed from the tab order rather than being invisible but focusable.
Masonry note wallcard-masonry-notes
Uneven-height notes flowing down CSS columns, like a pinboard. Good for quotes, findings and anything that resists a uniform size.
Interview
"We just tell them to ring on Thursday"
Three shops in the same street had independently invented the same workaround, and none of them thought of it as a workaround.
— shop 2 of 3
Pricing
The £9 ceiling
Above it the shop wants a meeting. Below it they will try it the same afternoon.
Objection
"Who updates it?"
Every single conversation reached this question inside four minutes. It is the product, not an FAQ entry.
Signal
Ninety calls a month
Counted from one shop's call log over six weeks, not estimated.
— logged, not guessed
Scope
No till integration
The first version has the owner flipping a switch. Every integration conversation added a month and removed a customer.
MotionNotes rotate a fraction of a degree at rest — each a different amount, derived from its index — and straighten to 0deg on hover over var(--dur). The wall looks pinned rather than typeset, and the straightening is what tells you which one you are pointing at.
A11yCSS columns keep DOM order, so reading order is preserved. Rotation is applied by CSS only and is removed under prefers-reduced-motion, since even a one-degree tilt is a problem for some readers with vestibular sensitivity.
Perforated ticketcard-ticket-perf
A card shaped like a torn stub — notches punched into both edges and a dashed perforation between the body and the counterfoil.
Field visit
Northfield Butchers
Six weeks of call logs, one afternoon on the counter.
14 Nov09:30
NF-0412
Review slot
Revision diff viewer
Two experts, ninety minutes, verdicts published.
19 Nov15:00
NF-0417
MotionOn hover the stub separates: the counterfoil translates 4px to the right and the perforation dashes shift by one dash-length, so the tear reads as beginning to come apart. It settles back over var(--dur) and does nothing under reduced motion.
A11yThe notches and perforation are drawn with a radial-gradient background and a border, never as extra DOM nodes, so nothing decorative reaches the accessibility tree. The barcode is an <img> with alt text carrying the reference number as real text as well.
Split comparison cardcard-compare-split
One card holding two options side by side with a shared spine of attribute labels down the middle, so differences line up horizontally.
Option A
Butcher restock alerts
versus
Option B
Shuttle route drafts
£9/mo
Anchor
£49/mo
Low
Difficulty
Medium
6
Sources
4
Weekly
Use frequency
Termly
Yes
Solo-buildable
Yes
MotionHovering either column raises its background to the card tone and dims the other to 55% opacity over var(--dur), so comparison becomes a deliberate act of attention. Nothing moves; only emphasis shifts.
A11yThe spine labels are real table headers in a two-column table with scope="row", which means a screen reader announces "Anchor, nine pounds a month" rather than reading two disconnected columns of numbers.
Timeline railcard-timeline-rail
Entries hung off a vertical rail with dated nodes, so a sequence reads as a sequence rather than as a list that happens to be sorted.
Six weeks of call logs collected
Counted, not estimated — one shop, every inbound call, categorised by hand.
Evidence
Three shops interviewed
All three had independently invented the same notebook workaround.
Interview
Price anchor confirmed at £9
Above it they want a meeting; below it they will try it the same afternoon.
Pricing
Expert review scheduled
Two reviewers, ninety minutes, verdicts published with the brief.
Upcoming
MotionThe rail draws itself from top to bottom with a scaleY transform over 700ms on first view, and each node pops from 0.6 to 1 scale staggered 90ms behind the line reaching it. Drawing the line before the nodes is what makes it read as a timeline being traced rather than items fading in.
A11yAn ordered list with <time datetime> on each date, so dates are machine-readable and the sequence is conveyed structurally rather than only by the drawn rail, which is aria-hidden.
Reveal-on-hover tilecard-hover-reveal-meta
A photographic tile that shows only its title until you approach it, then slides its metadata up from beneath the caption.
MotionThe caption block translates up by exactly the height of the hidden metadata using a translate of its own measured height in ch-free terms — a max-height-free approach using a wrapper with transform. Runs on hover and on focus-within so keyboard users get it too.
A11yThe metadata is always present in the DOM and never display:none, so it is always announced; only its visual position changes. The whole tile is a single link, giving one tab stop and one accessible name.
Status board columncard-status-board
Kanban-style columns of small cards, each column headed with a live count. The board is the layout, not a decoration on top of a list.
Drag a card, or focus one and press Enter, then Left and Right to move it.
MotionCards are draggable between columns with the HTML5 drag-and-drop API. The drop target column raises its background and dashes its border while a card is over it; the dragged card drops to 45% opacity. Counts update on drop. Keyboard users move cards with the arrow keys after pressing Enter on a card.
A11yEach column is a labelled region with an aria-live count. Cards are focusable, and Enter picks up a card while Left and Right move it between columns, so the board is fully operable without a pointer — drag and drop alone is never sufficient.
Data · 12
Sortable ledger tabledata-ledger-table
Ruled rows, mono tabular figures, right-aligned numerics, sortable headers. The plainest possible table, done properly.
0417
Shuttle route drafts
Local B2B
49.00
4
0412
Butcher restock alerts
Local commerce
9.00
6
0409
Revision diff viewer
Research
12.00
5
0431
Kit price watcher
Resale
4.00
3
0433
Rooms nobody books
Hospitality
29.00
5
MotionSorting reorders the DOM with no animation at all, because rows that fly between positions make a sorted table harder to read, not easier. The only motion is the sort caret rotating 180deg over var(--dur-fast). The sorted column header takes the foreground colour so the sort key is obvious after the rows have moved.
A11yHeaders are <th scope="col"> wrapped in buttons carrying aria-sort of ascending, descending or none. A visually hidden live region announces "Sorted by anchor, descending" after each sort, since the visual reorder is invisible to a screen reader.
Small-multiples sparklinesdata-sparkline-grid
The same chart repeated at small size across many series, sharing one y-scale so the shapes are honestly comparable.
Sources / week41
Ideas verified128
Median anchor$14
Reviews done39
MotionEach line draws itself left to right using stroke-dasharray and dashoffset over 800ms, staggered 80ms per tile. Hovering a tile lifts its line to the primary colour and shows the last value; nothing resizes. Reduced motion renders the lines complete.
A11yEach sparkline SVG has role="img" and an aria-label stating the series name, its range and its direction ("Sources per week, 3 to 9, rising"), which is what a sighted reader takes from the shape anyway.
Grouped bar chartdata-bar-grouped
Two series per category as flat CSS bars on a shared baseline, with the gridlines behind rather than on top.
Sources gathered per market
This quarterLast quarter
92 / 61
74 / 78
41 / 22
33 / 30
58 / 35
LocalResearchResaleCreatorHospitality
Sources gathered per market
Market
This quarter
Last quarter
Local
92
61
Research
74
78
Resale
41
22
Creator
33
30
Hospitality
58
35
MotionBars grow from the baseline using a scaleY transform with a transform-origin at the bottom, staggered 60ms per group, so the groups arrive left to right. Hovering a group dims the others to 40% and reveals the exact values above the bars. No tooltips that follow the cursor — the readout is anchored to the bar.
A11yThe chart is accompanied by a visually hidden data table carrying every value, which is the only reliable way to make a chart readable by screen reader. Bars themselves are aria-hidden so the numbers are not read twice.
Conic donut with legenddata-donut-legend
A single conic-gradient ring with an interactive legend — no SVG arcs, no library, and the centre carries the figure that matters.
128Verified ideas
Local commerce5644%
Research tools3326%
Resale2116%
Creator economy1814%
MotionThe ring sweeps in by animating a mask from 0 to 360 degrees over 900ms. Hovering a legend row lifts that segment out by 3px using a scaled pseudo-element ring, and the centre readout swaps to that segment's value and label with a 120ms crossfade.
A11yThe ring is aria-hidden; the legend is a real list where each row states the label, the value and the percentage as text. That means the legend alone is a complete account of the chart.
Calendar heatmapdata-heatmap-calendar
A year of activity as a grid of week-columns, using opacity steps of a single theme colour rather than a rainbow.
Sources logged, last 26 weeks
LessMore
MotionCells scale to 1.35 on hover with the readout appearing above the grid rather than as a floating tooltip, so it never covers neighbouring cells. Fill uses four opacity steps of one colour; a multi-hue scale would imply categories where there is only magnitude.
A11yEvery cell is a <td> with an accessible title of the form "3 sources on 14 November", and the whole grid is a table with row and column headers, so it can be navigated cell by cell with a screen reader in table mode.
KPI tiles with deltadata-kpi-delta
Four headline figures, each with its change since last period expressed as both an arrow and a signed number.
Verified ideas
0
↑ +6
Sources cited
0
↑ +41
Median anchor
$0
→ 0
Open reviews
0
↓ −3
MotionValues count up over 800ms with an ease-out curve when the block first enters the viewport, and the delta chip fades and rises 6px 200ms behind its number, so the change lands after the value it describes. Counting is skipped entirely under prefers-reduced-motion.
A11yDirection is never carried by colour alone: every delta has an arrow glyph and a signed number. The final value is written once to the DOM, and the tiles are a definition list so label and figure stay paired.
Leaderboard barsdata-leaderboard-bars
A ranked list where the bar is the row background rather than a separate graphic, so the label sits inside its own measurement.
Local commerce56
Research tools33
Resale21
Creator economy18
Hospitality12
MotionEach bar grows horizontally from the left using scaleX with a left transform-origin, staggered 70ms down the list. Because the fill is a background layer behind the text, the label never stretches with the bar — a common failure when the bar and the label share a transform.
A11yEach row is a meter with role="meter", aria-valuenow, aria-valuemin and aria-valuemax, so the proportion is available without relying on the visual bar length.
Step progress ledgerdata-progress-steps
A numbered pipeline where each step states its own status in words, not just a colour, and the connector fills as steps complete.
✓
Sources gathered
Complete
✓
Interviews done
Complete
3
Price anchored
In progress
4
Expert review
Not started
MotionThe connector between completed steps fills left to right with a scaleX transform, 400ms per segment, chained so the line advances one step at a time rather than all segments filling together. The current step's ring pulses once and then stops — a permanent pulse becomes wallpaper.
A11yAn ordered list with each step's status written out ("Complete", "In progress", "Not started") and aria-current="step" on the active one. Colour is redundant with the words and the icon in every state.
Arc gaugedata-gauge-arc
A 240-degree SVG arc for a single bounded measure, with the threshold marked on the track rather than implied by colour.
62Evidence coverage
78Price confidence
41Solo feasibility
MotionThe arc fills by animating stroke-dashoffset over 900ms, and the numeric readout counts in step with it so the two never disagree mid-animation. The threshold tick is drawn on the track and does not move, which is the point of a gauge as opposed to a bar.
A11yrole="meter" with aria-valuenow, aria-valuemin, aria-valuemax and aria-valuetext of "62 of 100, above the 50 threshold", so the threshold relationship — the actual question being asked — is spoken, not inferred.
Live log streamdata-log-stream
Appending log lines with a status bar per row, an autoscroll that yields the moment you scroll up yourself, and a pause control.
ingest / deploy-48120 lines
MotionNew lines append every 1.4s with no entrance animation — a log that fades each line in is unreadable at speed. Autoscroll only follows when the view is already within 40px of the bottom, so scrolling up to read never fights the stream. Pause stops appends entirely rather than just stopping the scroll.
A11yThe stream is aria-live="off" by design: announcing every line would flood a screen reader. The pause button reports state with aria-pressed, and the line count is exposed through a polite live region that updates at most every few seconds.
Conversion funneldata-funnel-steps
Stacked bands narrowing down the page, each labelled with both its absolute count and its drop from the step above.
Saw the brief4,120—
Opened evidence1,880−54%
Read a verdict742−61%
Started building196−74%
Saw the brief
4,120
100%
Opened evidence
1,880
46%
Read a verdict
742
18%
Started building
196
5%
MotionBands widen from their centre with a scaleX transform staggered 90ms apart, top to bottom, so the funnel is drawn in the direction users actually move through it. The drop percentages fade in last, after the shape has settled.
A11yA definition list underneath carries every stage, count and drop as text. The bands are aria-hidden, since a narrowing shape communicates nothing to a screen reader that the numbers do not already say better.
Histogram with readoutdata-histogram-brush
A distribution of price anchors in fixed buckets, with a hover readout pinned above the axis instead of a floating tooltip.
Price anchors across 128 ideas
Hover or tab a column
0–910–1920–2930–4950–99100+250+500+
MotionColumns rise from the axis on first view, staggered 30ms each so the distribution is drawn left to right. Hovering a column raises it to the primary colour and writes its bucket and count into a fixed readout slot, which never moves and therefore never chases the pointer.
A11yColumns are focusable with tabindex so the distribution can be walked with the keyboard, each carrying an aria-label of "£20 to £29, 14 ideas". The readout is a polite live region that updates on both hover and focus.
Forms · 13
Stacked field with helperform-stacked-field
The boring, correct field: label above, helper below, error below that, 48px target. Placeholders are never used as labels.
MotionFocus draws a 2px ring at 2px offset in one step — no growing borders, which shift text by a pixel and look like a rendering bug. The error message reveals with a grid-rows transition and a 4px rise over var(--dur), so it pushes the layout rather than overlapping the next field.
A11yLabel is a real <label for>. Helper and error are wired through aria-describedby, the control carries aria-invalid, and the wrapper carries data-invalid for styling. The error text is a live region so it is announced when validation fails after submit.
One-time code boxesform-otp-boxes
Six single-character boxes that behave like one field: paste fills all of them, backspace walks backwards, arrows move.
MotionFocus advances automatically on entry and retreats on backspace from an empty box. A paste anywhere in the group distributes the whole code across the boxes. On completion the group flashes its border to the primary colour for 400ms — one confirmation, not a loop.
A11yThe group is a labelled fieldset with the instruction in a legend. Each box has inputmode="numeric", autocomplete="one-time-code" and an aria-label of its position ("digit 3 of 6"), so a screen reader user always knows where they are.
Tag inputform-tag-input
Chips that grow inside the field as you type, with Enter or comma to commit and Backspace to remove the last one.
Enter or comma adds a market. Backspace on an empty field removes the last one.
MotionA new chip scales from 0.9 with a fade over var(--dur-fast); removal is instant, because a chip that animates out leaves a hole the eye follows to nowhere. The field itself never changes height abruptly — it wraps, and the wrap is what grows it.
A11yChips are a live list with an aria-live="polite" count so additions are announced. Each chip has a remove button with an explicit name ("Remove local commerce"), and the input carries an aria-describedby explaining the Enter and Backspace behaviour.
Dual range sliderform-range-dual
Two native range inputs stacked to make a min–max filter, with a filled track between the handles and a live readout.
Monthly price anchor
£9 – £49
£0£50£100
MotionHandles cannot cross: each input clamps against the other on input, so dragging past produces a stop rather than an inversion. The filled segment is a single element whose left and width are set from the two values, updated on the input event so it tracks the drag frame by frame.
A11yTwo real <input type="range"> controls, each with its own label and aria-valuetext of "minimum £9" / "maximum £49", so both handles are keyboard-operable with arrows, Home and End — which a div-based dual slider almost never gets right.
Settings switch rowsform-switch-rows
A settings list where the whole row is the label, the switch sits right, and each option explains its consequence underneath.
Weekly brief
One email on Thursdays with the three ideas that gained the most evidence.
Include expert verdicts
Adds the signed judgements to the email. Makes it noticeably longer.
Price-drop alerts
Notifies you when an anchor you follow moves by more than 20 per cent.
MotionThe knob translates with a spring-ish overshoot over var(--dur) while the track colour crosses at the halfway point, so colour and position change together rather than the track flipping instantly. A dependent row below fades and collapses when its parent switch is off.
A11yNative checkboxes with role left alone and a visually styled track, so Space toggles them and they submit with the form. The description is wired by aria-describedby, and the dependent row is genuinely disabled — not just dimmed — when its parent is off.
File drop zoneform-file-drop
A dashed target that accepts a drop or a click, lists what it received, and can remove individual files before upload.
Drop evidence here, or click to choosePDF, CSV or images. Up to 10 MB each.
MotionThe zone brightens and its border switches from dashed to solid while a drag is over it, using a counter for enter and leave events so nested children do not cause it to flicker — the single most common bug in drop zones. Added rows fade in over var(--dur-fast).
A11yA real <input type="file"> sits behind the zone, so keyboard users reach it with Tab and open the picker with Enter. Drag-and-drop is an enhancement on top. The file list is an aria-live region so additions are announced with their names and sizes.
Inline edit fieldform-inline-edit
Text that turns into an input when you click it, commits on Enter or blur, and reverts on Escape. No modal, no edit mode.
Idea title
Click to edit. Enter saves, Escape reverts.
MotionThe swap keeps identical metrics — the input is sized and styled to match the display text exactly — so nothing shifts on entering edit mode. That is the whole trick; if the line jumps by two pixels, the illusion breaks. A brief background flash confirms the save.
A11yThe display is a button with an accessible name of "Edit title, current value Butcher restock alerts". After committing, focus returns to the button and a live region confirms the new value, so a keyboard user is never left focused on a removed element.
Password with strengthform-password-strength
A reveal toggle and a strength meter that names what is missing instead of scoring you out of four bars and leaving you guessing.
Enter a password
○At least 12 characters
○Upper and lower case
○A number
○A symbol
MotionSegments fill left to right as criteria are met, each with its own 160ms transition so meeting two criteria at once still reads as two events. The reveal toggle swaps its icon with no animation — a delayed reveal on a password field is actively annoying.
A11yThe meter is a real progress element with aria-valuetext of "Fair — add a number", and the criteria list marks each item met or unmet with both an icon and text. The reveal button reports state with aria-pressed and never removes focus from the field.
Filtering comboboxform-combobox-filter
Type to narrow a list, arrow to move through it, Enter to choose. The match is highlighted inside each option.
MotionThe list opens on focus and filters on every keystroke with no debounce, because the dataset is local and a delay would only add lag. The active option scrolls into view with block:"nearest", so arrowing down never yanks the list around when the option was already visible.
A11yFollows the ARIA combobox pattern: role="combobox" with aria-expanded, aria-controls and aria-activedescendant on the input, role="listbox" and role="option" beneath. Focus never leaves the input, which is what makes arrow-key navigation announce correctly.
Labelled rating scaleform-rating-scale
A five-point scale with both ends named, so a 3 means something. Radio buttons underneath, not a star widget.
MotionThe selected point scales to 1.12 and takes the primary fill over var(--dur); the points to its left fill at a lower opacity so the scale reads as cumulative rather than as five unrelated buttons. Hover previews the same state without committing it.
A11yA radiogroup of five real radios with per-option labels ("3 of 5, neutral"), which gives native arrow-key navigation and form submission. Anchor labels at both ends are associated with the group by aria-describedby.
Multi-step wizardform-multistep-wizard
One decision per screen, with a step counter in words and a back button that never loses what you typed.
Step 1 of 3
What is the idea?
One sentence. If it needs two, it is probably two ideas.
What is the evidence?
Something counted, not something felt.
What would they pay?
The number somebody already said out loud, not your estimate.
MotionSteps crossfade and slide 12px in the direction of travel — forward slides left, back slides right — so the motion tells you which way you moved. Height animates to the new panel to avoid the page jumping. Reduced motion swaps instantly with no slide.
A11yEach step is a region labelled by its heading, and focus moves to that heading on step change so a screen reader announces the new step. Progress is stated in text ("Step 2 of 3") rather than only as a bar, and the bar itself is aria-hidden.
Multi-select chipsform-toggle-chips
A set of two to eight options as togglable chips, which beats a multi-select for anything a person can see all of at once.
MotionA chip flips its fill and border in one step with no transform, so a row of chips never reflows as selections change — the checked and unchecked states are deliberately the same size. A count updates beneath, and Clear all is only present once something is selected.
A11yReal checkboxes with visible labels, so the group submits with the form and each chip is toggled with Space. The group is a fieldset with a legend rather than a bare div with a heading.
Scoped search barform-search-scoped
A search field with a scope selector fused into its left edge and a live result count on the right, so scope is never a hidden setting.
MotionTyping updates the count on every keystroke against a local dataset — no spinner, because a spinner for a synchronous filter is a lie. The clear button appears only when there is something to clear, sliding 4px in from the right over var(--dur-fast).
A11yThe scope select and the text field are separate labelled controls inside one form landmark with role="search". The result count is a polite live region, so it is announced after typing settles rather than on every character.
Feedback · 11
Toast stackfeedback-toast-stack
Stacked notifications in one corner, newest on top, each with its own dismiss and a progress line showing its remaining life.
MotionA toast enters by translating 12px in from the right with a fade over var(--dur) and leaves by collapsing its own height, so the ones below rise smoothly instead of snapping. Hovering the stack pauses every timer at once — dismissing one while reading another is the classic toast failure.
A11yThe region is aria-live="polite" and role="status" for ordinary toasts; anything destructive uses role="alert" instead. Each toast has a named dismiss button, and the auto-dismiss timer is paused on focus as well as hover, so keyboard users are not raced.
Semantic alert barfeedback-alert-bar
A four-level alert with a coloured spine, an icon, a bold one-line summary and a plain-language explanation of what to do.
NoticeEvidence review runs on Thursdays
Anything submitted after 18:00 on Wednesday goes into the following week. See the schedule.
ConfirmedPrice anchor verified against three sources
The £9 figure appears on two pricing pages and in one interview transcript.
WarningThis idea has no named alternative
Without knowing what people do today, the demand case is a guess. Add an alternative.
ErrorUpload failed — file too large
call-log.csv is 14.2 MB and the limit is 10 MB. Split it by month, or compress it and try again.
MotionStatic by design — an alert that animates in draws the eye away from whatever caused it. The only movement is the dismiss action collapsing the alert, and only alerts that are safely dismissible get a dismiss button at all.
A11ySeverity is carried by an icon and a word, never by colour alone. Informational alerts use role="status", errors use role="alert" so they interrupt. The action inside is a real link or button, not the whole bar being clickable.
Empty statefeedback-empty-dashed
A dashed frame at the shape of the missing content, a sentence explaining why it is empty, and exactly one thing to do about it.
No evidence attached yet
Ideas without sources do not appear in comparisons, because there is nothing to compare. Add a call log, a pricing page or an interview note to publish this one.
MotionNothing animates. An empty state is already a small disappointment and a spinning illustration does not help. The only motion is the primary action responding to hover in whatever way the theme normally does.
A11yThe illustration is aria-hidden and the message carries the meaning. The heading is a real heading so it appears in the document outline, and the primary action is the first focusable element after it.
Skeleton screenfeedback-skeleton-shimmer
Placeholder blocks matching the exact shape of the content that is coming, so nothing jumps when it arrives.
Butcher restock alerts
Local commerce · 6 sources
Ready
Shuttle route drafts
Local B2B · 4 sources
Ready
Revision diff viewer
Research · 5 sources
Ready
MotionA single 1.6s sweep travels left to right across all blocks in unison, driven by an animated background-position rather than a moving overlay element, so there is nothing to reflow. Reduced motion swaps the sweep for a still, slightly lighter fill.
A11yThe skeleton container is aria-busy="true" with an aria-label of "Loading ideas", and the blocks themselves are aria-hidden. When content arrives, aria-busy flips to false, which is what actually tells assistive tech the wait is over.
Determinate work progressfeedback-progress-work
A job progress panel that names the current step, counts what is done, and estimates what is left — rather than a bar with no numbers.
Re-indexing evidence
0%
Waiting to start
0 / 128 records—
MotionThe bar transitions its width over 400ms so each step increment glides rather than snapping, and the step label crossfades over var(--dur-fast). When the job finishes the bar turns primary and the panel stops updating — a completed job should look finished, not idle.
A11yA native <progress> element carries the real value, so assistive tech reads the percentage without extra ARIA. The current step name is in a polite live region that changes at most once per step, not per frame.
A delete confirmation that names exactly what will be lost and requires typing the name — friction proportional to consequence.
Delete “Butcher restock alerts”?
This cannot be undone. Deleting the idea also removes everything attached to it.
6 evidence sources, including the six-week call log
2 expert verdicts, both already published
The public brief at /ideas/nf-0412
MotionThe confirm button stays disabled until the typed name matches exactly, then switches to the destructive fill in one step. A shake would be tempting on mismatch and is deliberately absent — punishing a typo is not the job here.
A11yThe confirm button carries aria-disabled plus the real disabled attribute so it is both unreachable and announced as unavailable. The consequences list is referenced by aria-describedby from the input, so it is read when the field takes focus.
Undo with countdownfeedback-undo-timer
Act first, apologise never: the action happens immediately and a timed undo appears, instead of a modal asking permission.
Butcher restock alerts
Shuttle route drafts
Kit price watcher
MotionA ring counts down using stroke-dashoffset over exactly the undo window, so the remaining time is legible at a glance rather than being a mystery. Hovering the bar pauses the countdown; the ring pauses with it, because a paused timer with a moving ring is a lie.
A11yThe bar is role="status" with a polite live region, so the removal is announced once. The undo button states the object ("Undo removing Kit price watcher") rather than saying just "Undo", which is meaningless out of context.
Connection bannerfeedback-offline-banner
A persistent strip that reports connection state and what happens to your unsaved work, with a manual retry.
No connection.Your last two edits are saved locally and will sync when you are back.
MotionThe banner slides down from the top edge over var(--dur) when the connection drops and slides away on recovery, holding a "back online" state for 2.5 seconds first so the recovery is actually seen. The retry button shows a spinner only while a retry is genuinely in flight.
A11yLoss of connection uses role="alert" because it changes what the user can do; recovery uses role="status" so it does not interrupt. The retry button is disabled while retrying and its label changes to "Retrying…" rather than only spinning.
Live availability checkfeedback-inline-live-check
A field that checks as you type, with three honest states — checking, taken, available — and never a green tick while still thinking.
northfield.app/
MotionThe check is debounced at 400ms so it fires on pauses rather than keystrokes, and the spinner only appears after 150ms of waiting so fast responses never flash it. The status icon crossfades between states over var(--dur-fast) instead of swapping abruptly.
A11yThe status lives in an aria-live="polite" region tied to the input by aria-describedby, and it is written in words ("northfield is taken — try northfield-labs"), so the meaning never depends on the icon or its colour.
Completion markfeedback-success-mark
A drawn check with a single expanding ring and one line of what happens next. Confirmation, not celebration.
Brief published
It is live at /ideas/nf-0412 and both reviewers have been notified. The weekly email goes out on Thursday.
MotionThe check strokes itself over 380ms after a 120ms beat, and one ring expands from the mark and fades — once, never looping. Under prefers-reduced-motion the check is simply drawn and the ring never appears.
A11yThe whole block is role="status" so it is announced once when it replaces the form. Focus is moved to the heading, which means a keyboard user is not left focused on a submit button that no longer exists.
Change review stripfeedback-diff-review
A before-and-after of what an action will change, shown before you commit rather than described in a sentence.
Review 4 changes before applying4 changes
~anchor£12.00→£9.00
+sourcescall-log-oct.csv
−tagsexperimental
~difficultymedium→low
MotionRows are static — a diff that animates is a diff you have to re-read. The only interaction is a per-row revert that removes the row with no transition, and a running count of remaining changes that updates in place.
A11yEach row states its change in words ("Anchor: was 12 pounds, will be 9 pounds"), with the added and removed markers as text characters rather than colour swatches. The count is a polite live region.
Overlays · 11
Centred dialogoverlay-dialog-centered
A native modal dialog with a titled header, a scrolling body and a pinned footer. Focus trap and top-layer stacking come free.
MotionThe panel scales from 0.97 and rises 8px over var(--dur) while the backdrop fades; closing reverses at var(--dur-fast), because dismissal should feel quicker than arrival. Escape and a backdrop click both close it, and the trigger regains focus either way.
A11yshowModal() gives a real focus trap, inert background and top-layer placement without any z-index arithmetic. The dialog is labelled by its heading, and the close button has an explicit name rather than relying on the times glyph.
Draggable bottom sheetoverlay-sheet-bottom
A sheet that rises from the bottom edge and can be flung back down by dragging its handle. The mobile answer to a modal.
MotionWhile dragging, the sheet follows the pointer one-to-one with the transition removed, so there is no lag between finger and panel. On release it either settles back or dismisses, decided by distance past 90px or velocity over 0.5px per millisecond — velocity is what makes a short, fast flick work.
A11yThe sheet is a <dialog> opened with showModal(), so the background is inert and Escape closes it. The drag handle is decorative and aria-hidden; a real close button is always present, because dragging must never be the only way out.
Side draweroverlay-drawer-side
A panel that slides in from the right for filters and detail views, keeping the page behind visible for context.
MotionThe drawer translates 100% to 0 over var(--dur) while the scrim fades; the two are deliberately the same duration so the panel never appears to arrive before the page dims. Closing runs at var(--dur-fast).
A11yOpened with showModal() for a genuine focus trap, and given aria-labelledby pointing at its heading. The first focusable control is the close button, so Escape and Tab both start from somewhere predictable.
Anchored popoveroverlay-popover-anchored
A small panel tethered to the control that opened it, flipping above the trigger when there is no room below.
Six sources, three kinds
Everything attached to NF-0412, counted rather than estimated.
Call logs
1
Interviews
3
Pricing pages
2
Weeks observed
6
Anchor moved twice
The £9 figure has held since the second interview round.
First seen
£12
Revised
£10
Current
£9
MotionUses the native popover API so the panel lands in the top layer and light-dismiss works with no outside-click handler. Position is measured on open and flipped if the panel would overflow the viewport, which is the one thing the native API does not do for you here.
A11yThe trigger is a button with popovertarget, so the browser wires aria-expanded and Escape handling itself. Focus moves into the panel on open and returns to the trigger on close.
Delayed tooltipoverlay-tooltip-delayed
Tooltips with a shared timer: the first costs 500ms, but moving to a neighbour within a second is instant.
Hover one, wait. Then move along the row — the rest are instant for a second.
MotionOne module-level timer serves every trigger. The first hover waits 500ms; once a tooltip has shown, a one-second grace window means moving along a toolbar shows each one immediately. Leaving hides after 120ms so crossing a gap does not flicker.
A11yThe tooltip element is role="tooltip" and is referenced by aria-describedby from the trigger, so the text is announced as a description rather than as a second name. It shows on focus as well as hover, and Escape dismisses it while keeping focus.
Command paletteoverlay-command-palette
Everything the app can do behind one shortcut, grouped by kind, filtered as you type, with the shortcut printed beside each entry.
MotionOpens on Cmd or Ctrl plus K anywhere in the block. Arrow keys move a highlight that scrolls with block:"nearest", Enter runs, Escape closes. Filtering is a plain substring match with no fuzzy scoring, because unpredictable ranking in a palette is worse than no ranking.
A11yThe input is role="combobox" with aria-activedescendant pointing at the highlighted row, so focus stays in the field and every move is announced. Groups are role="group" with aria-label, and the result count is a polite live region.
Context menuoverlay-context-menu
A right-click menu with grouped actions, keyboard shortcuts and a destructive item held apart at the bottom.
Right-click a rowOr focus it and press Shift + F10.
Butcher restock alerts · NF-0412
Shuttle route drafts · NF-0417
MotionOpens at the pointer, flipping left or up when it would overflow the viewport edge. Arrow keys move a roving focus through the items, Home and End jump, and typing a letter jumps to the next item starting with it — the behaviour people expect from a real menu.
A11yrole="menu" with role="menuitem" children and a genuine roving tabindex, so exactly one item is tabbable. It is also reachable without a mouse: the Menu key and Shift+F10 open it on the focused row.
Image lightboxoverlay-lightbox
A gallery that opens full-screen with arrow-key paging, a counter, and the caption held below the image rather than over it.
MotionPaging swaps the image with a 120ms crossfade rather than sliding, so a fast run through ten photographs does not become a blur of motion. The backdrop fades once on open and stays; only the picture changes after that.
A11yOpened with showModal() so focus is trapped. Left and Right page, Escape closes, and focus returns to the thumbnail that was opened. The counter is a live region so "3 of 6" is announced on each change.
Hover cardoverlay-hover-card
A richer preview than a tooltip — avatar, role and a couple of facts — for links whose destination needs explaining.
The evidence for NF-0412 was collected over six weeks and reviewed by
the venture scout and
the build scout, who disagreed about the size of the market but not about the price.
Venture scoutMarket and pricing
Looks for who is already paying, what they pay today, and how quickly the second customer arrives.
Reviews 39Median verdict proceed
Build scoutFeasibility and scope
Judges whether one person could ship a first version, and what has to be cut for that to be true.
Reviews 41Solo-suitable 62%
MotionA 320ms open delay and a 200ms close delay, with the card itself hoverable so the pointer can travel into it without the card vanishing. That grace period is the entire difference between a hover card that works and one that is infuriating.
A11yThe card opens on focus as well as hover and is referenced by aria-describedby, so keyboard users get the same preview. Everything inside it is also reachable from the link destination itself — the card never holds the only copy of anything.
Inline confirmoverlay-inline-confirm
A confirmation that appears attached to the button that triggered it, for actions too small to deserve a full modal.
call-log-oct.csv
interview-shop-2.md
pricing-page.png
Remove this source?
The idea drops to 5 sources and leaves the verified list.
MotionThe bubble scales from 0.96 with its transform-origin set to the corner nearest the trigger, so it appears to grow out of the button rather than materialising beside it. That origin is the whole reason it reads as attached.
A11yThe bubble is a real popover with role="alertdialog" and aria-labelledby, focus moves to the cancel button (the safe option) on open, and Escape cancels. Cancel is first in the tab order for the same reason.
Onboarding spotlightoverlay-focus-spotlight
A guided tour step: everything dims except one element, with a caption card tethered beside it and step counters.
Evidence
Everything counted, with its source attached.
Anchors
The price somebody already charges.
Verdicts
Signed judgements from two reviewers.
MotionThe hole is one element with a very large spread box-shadow, so a single transition on its position and size moves the cut-out smoothly between targets — far cheaper than animating four separate mask panels. The caption follows on the same timing.
A11yThe caption is role="dialog" with aria-modal="false" so the underlying page stays readable; focus moves to the caption heading on each step. Escape ends the tour, and the highlight itself is aria-hidden because the caption already names the target.
Editorial · 10
Reading columneditorial-reading-column
A measured long-form column with a drop cap, a standfirst and a byline block. Everything is subordinate to line length.
Field notes · Issue 14
The shop that answered the same question ninety times
Six weeks of call logs from one butcher, and what they say about every small business that has quietly decided a problem is just the job.
The evidence desk6 min
Nobody at the shop thought of it as a problem. When we asked how often people rang to ask whether the short rib was in, the answer was a shrug and the phrase “all the time”. All the time turned out to be ninety calls in six weeks, which is roughly one every working hour they were open.
The interesting part is not the number. It is that the number had never been counted, and that counting it changed the conversation in about four minutes. Before: a nuisance. After: a line item. The full call log is attached to the brief, categorised by hand.
What they already do about it
Three shops on the same street had independently invented the same workaround — a notebook behind the counter with names and cuts, checked on delivery days. None of them described it as a system. All three lost it when the person who kept it took a week off.
MotionNo motion at all. The only concession to interaction is a link underline that thickens on hover, because anything else in a reading column is an interruption. This pattern exists partly to make that point.
A11yThe drop cap is a styled first letter using ::first-letter rather than a wrapped span, so the word is never split for a screen reader. Measure is capped in ch, and line height is set for reading rather than density.
Ruled pull quoteeditorial-pullquote-rule
A quotation lifted out of the column with a rule rather than quotation marks, attributed underneath in mono.
We asked all three shops the same question in the same words, and got three versions of the same shrug. The workaround was so normal that nobody could see it.
They were answering the same question ninety times a month and had stopped noticing it was a question.
Field note 14 · six weeks of call logs, one shop
That is the pattern worth looking for. Not an unmet need people complain about, but a cost people have stopped counting because they decided long ago it was simply part of the work.
MotionThe rule draws in from the top over 500ms when the quote first enters the viewport, then stops. The text does not fade — a quotation that arrives after its own decoration reads as an advertisement.
A11yA real <figure> with <blockquote> and <figcaption>, so the attribution is programmatically tied to the quote. The decorative rule is a pseudo-element and never enters the accessibility tree.
Margin sidenoteseditorial-sidenote-margin
Footnotes hoisted into the margin beside the paragraph they belong to, collapsing inline on narrow screens.
Ninety inbound calls over six weeks1 is not a rounding error. It is roughly one an hour across the shop's open days, each one interrupting whatever was happening at the counter.
The price the shop volunteered was nine pounds a month2, which sits neatly under the threshold at which they would want to involve anyone else in the decision.
All three shops we spoke to had a notebook3 and none of them described it as a system.
MotionHovering or focusing a reference highlights the matching note and vice versa, using a shared data attribute rather than JavaScript-managed classes. Below 900px the notes become native <details> disclosures inline, so nothing is lost when the margin disappears.
A11yEach reference is a link to its note with aria-describedby wiring them together, so the note text is announced with the reference rather than stranded at the end of the document.
Scrollspy contentseditorial-toc-scrollspy
A sticky table of contents that marks the section currently in view, with a progress rail down its left edge.
What was counted
Ninety inbound calls over six weeks, categorised by hand into restock questions, opening hours and everything else. Roughly one an hour across open days.
What they do today
A notebook behind the counter with names and cuts, checked on delivery days. Two of three shops kept it on paper; the third kept it in a personal phone.
The price anchor
Nine pounds a month, volunteered before we named a figure, and repeated independently by two other shops. Above about fifteen the conversation changes shape.
Where it breaks
Every version fails the same way: the person who keeps the list takes a week off. That is the failure the product has to be better than, not the notebook itself.
MotionSection tracking uses IntersectionObserver with a narrow band across the middle of the scroller rather than a scroll listener, so it costs nothing per frame. The active marker slides between entries over var(--dur) instead of each item lighting independently.
A11yA <nav aria-label="On this page"> containing a list of links, with aria-current="location" on the active entry. Clicking scrolls and moves focus to the target heading, so keyboard and pointer end up in the same place.
Changelogeditorial-changelog-versions
Versions down a rail with typed change badges, so the shape of a release is visible before any of it is read.
v2.4.03 added1 fixed
AddedPrice anchors can now carry a currency other than GBP. Existing anchors are unchanged.
AddedGET /ideas?anchor_lt= filters by anchor ceiling.
AddedEvidence uploads accept CSV over 10 MB when chunked.
FixedVerdicts occasionally rendered before their brief on slow connections.
v2.3.12 fixed
FixedSorting by sources put null counts first instead of last.
FixedThe weekly digest dropped ideas published after 17:59 on Wednesday.
v2.3.01 breaking1 added
Breakingdifficulty is now an enum of low, medium and high. Free text is rejected.
AddedTwo reviewer verdicts per idea, published together or not at all.
MotionNothing animates. Each version can be collapsed with a native details element, and the summary line keeps its counts visible when collapsed so the list stays scannable in either state.
A11yNative <details> per version, with the version number and date in the summary so the disclosure has a meaningful name. Change type is carried by a word ("Added", "Fixed"), not only by badge colour.
FAQ accordioneditorial-faq-accordion
Questions written the way people actually ask them, answered in two sentences, with several open at once if you like.
Who decides what counts as evidence?
Anything counted rather than felt: call logs, receipts, pricing pages, support tickets, interview transcripts. A strong opinion held by a clever person is not evidence, however good the opinion is.
Why do you publish two verdicts instead of one?
Because the market question and the build question have different answers surprisingly often. Keeping them separate means you can disagree with one reviewer without discarding the other.
What if the price anchor is wrong?
Then the brief is wrong, and we would like to know. Every anchor names its sources, so disputing it is a matter of pointing at the source rather than arguing about the number.
Can I submit an idea?
Yes, with at least one source. Ideas without evidence sit in a separate queue and never appear in comparisons, because there is nothing to compare them on.
MotionBuilt on native <details>, with the height animated by a grid-rows transition on an inner wrapper — the one technique that gives a real height animation on details without measuring anything. Multiple items may be open; forcing exclusivity in an FAQ hides the answer you were comparing against.
A11yNative disclosure semantics with no ARIA added, so Enter and Space work and the state is announced correctly. Each question is a real heading inside the summary, keeping the document outline usable.
Testimonial raileditorial-testimonial-marquee
Quotes drifting horizontally in two rows moving opposite ways, pausing under the pointer so any one can be read.
“I stopped guessing what to build and started reading call logs. That is the whole change.”
Solo founderReader since 2025
“The "avoid for" line has saved me twice. Nobody else writes that part down.”
Product leadReader since 2025
“Two reviewers who disagree in public is worth more than ten who agree.”
Angel investorReader since 2025
“I stopped guessing what to build and started reading call logs. That is the whole change.”
Solo founderReader since 2025
“The "avoid for" line has saved me twice. Nobody else writes that part down.”
Product leadReader since 2025
“Two reviewers who disagree in public is worth more than ten who agree.”
Angel investorReader since 2025
“We shipped the boring version and it paid for itself in seven weeks.”
Shop ownerReader since 2025
“The price anchor is the only number I trust in any of these newsletters.”
Indie developerReader since 2025
“I read it on Thursday and had three customer calls booked by Friday.”
Agency partnerReader since 2025
“We shipped the boring version and it paid for itself in seven weeks.”
Shop ownerReader since 2025
“The price anchor is the only number I trust in any of these newsletters.”
Indie developerReader since 2025
“I read it on Thursday and had three customer calls booked by Friday.”
Agency partnerReader since 2025
MotionTwo tracks with the same 34s linear loop, one reversed, so the rows never lock into a pattern the eye can follow. Hover or focus anywhere in the rail pauses both. Reduced motion stops them entirely and leaves the rows scrollable by hand.
A11yThe duplicated half of each track is aria-hidden so no quote is announced twice, and each card is a figure with a blockquote and a figcaption so attribution is properly associated.
Pricing tierseditorial-pricing-tiers
Three plans with one marked as recommended, a monthly-annual switch that shows the saving, and features stated as sentences.
Reader
One person keeping an eye out
Freealways per month
The Thursday digest, every week
Full briefs and their evidence
Search across every published idea
Most chosen
Builder
Someone acting on what they read
£12per month per month
Everything in Reader
Both expert verdicts on every brief
Price-anchor alerts for ideas you follow
Export the ledger as CSV
Desk
A team comparing options together
£39per month per month
Everything in Builder
Shared collections and notes
Request a review on your own idea
Priority evidence checks
MotionToggling the billing period counts each price to its new value over 320ms rather than swapping it, so the change is legible as a change. The recommended card is raised from the start and does not animate on hover — it is already the loud one.
A11yThe billing switch is a radiogroup, not a styled checkbox, so the two options are both named ("Monthly", "Annual, save 20 per cent"). Each plan is an article labelled by its heading, and the price has a visually hidden "per month" for context.
Comparison matrixeditorial-feature-matrix
A feature table with a sticky header, row highlighting and three states per cell — included, extra, or absent — each named.
Feature
Reader
Builder
Desk
Reading
Thursday digest
✓ Included
✓ Included
✓ Included
Full briefs and evidence
✓ Included
✓ Included
✓ Included
Both expert verdicts
— Not available
✓ Included
✓ Included
Working
Price-anchor alerts
— Not available
✓ Included
✓ Included
Export the ledger
— Not available
✓ Included
✓ Included
Shared collections
— Not available
— Not available
✓ Included
Support
Request a review
— Not available
+£9 Costs extra
✓ Included
Priority evidence checks
— Not available
— Not available
✓ Included
MotionHovering a row raises it and dims nothing else, because dimming a comparison table defeats its purpose. The header sticks inside its own scroll container so plan names remain visible while reading down the list.
A11yCell state is a text glyph with a visually hidden word ("Included", "Costs extra", "Not available") rather than colour or icon alone. Row headers use scope="row", so a screen reader announces the feature name with every cell.
Closing bandeditorial-cta-band
A full-width closing section with one action, one reassurance, and no second thoughts competing for the click.
One email, Thursdays
Stop guessing what to build
Three ideas a week that somebody is already paying for, with the evidence attached and an honest note about who they would be wrong for.
MotionThe band is static; only the primary button responds, in whatever way the theme prescribes. A closing call to action that animates on scroll is asking for attention it has already been given by being last.
A11yOne primary action and one text link, in that order in the DOM. The reassurance line is plain text next to the button rather than a tooltip, because the thing that removes hesitation should never require a hover to find.
Media · 8
Mosaic gallerymedia-gallery-mosaic
A grid where a few tiles span two columns or two rows, so a set of photographs reads as an arrangement rather than a contact sheet.
MotionHover scales the image inside its fixed frame to 1.06 over var(--dur-slow) and lifts a caption from under the bottom edge. The frame never moves, so the mosaic geometry stays completely still while the pictures inside it breathe.
A11yEach tile is a link with the photograph as its accessible name, so the gallery is a list of six destinations rather than six unlabelled images. Captions are real text, not background layers.
Snap carouselmedia-carousel-snap
A horizontally scrolling strip built on CSS scroll-snap, with real dots, arrow buttons and native touch scrolling.
On the counterShop 1 · 07:40, delivery day
Delivery dayShop 2 · the notebook lives here
Sorted by handSix weeks of calls, categorised
The review deskTwo reviewers, ninety minutes
Writing it upBrief NF-0412, second draft
MotionScrolling is native — scroll-snap-type does the settling, so momentum, trackpads and touch all behave exactly as the platform intends. The arrows call scrollBy by one slide width, and the dots reflect position via IntersectionObserver rather than a scroll listener.
A11yThe strip is a labelled region with tabindex="0", so it can be scrolled with the arrow keys directly. Dots are buttons with names ("Go to slide 3 of 5") and aria-current on the active one; slides are list items.
Before and after slidermedia-before-after
Two images stacked with a draggable divider, for showing a redesign, a repair or a data cleanup.
BeforeAfter
MotionThe top image is revealed by a clip-path inset driven by the handle position, so both photographs stay perfectly registered — a width-based crop would rescale one of them and ruin the comparison. Pointer capture keeps the drag alive outside the frame.
A11yThe handle is an <input type="range"> visually styled as a divider, so it is keyboard-operable with arrows, has an aria-valuetext of "62 per cent showing the after image", and works with no pointer at all.
Video postermedia-video-poster
A still frame with duration, chapter count and a play control, so nothing loads until somebody decides to watch.
How the call log was counted4:123 chaptersSubtitles
Player would load here — nothing is fetched until you press play.
English subtitles and a full transcript are available.
MotionThe play button scales to 1.08 and its ring expands on hover, both transform-only. Pressing play swaps the poster for the player and moves focus into it, which is what stops a keyboard user pressing play and then having no idea where they are.
A11yThe play control is a button with a full name ("Play: how the call log was counted, 4 minutes 12 seconds"). Duration and chapter count are text, not icon badges, and a caption note states that subtitles are available before anyone commits to watching.
Avatar stackmedia-avatar-stack
Overlapping faces with an overflow count, fanning apart on hover so every individual is reachable.
14 reviewers have read this brief
Ada Okafor, Ben Trelawny, Cai Zhou, Dara Nolan, Esen Yilmaz, Fen Aliyev, Gita Rao, Hal Brennan, Ines Petrov, Jo Adeyemi, Kit Marsh, Lena Vogt, Mo Haddad, Nils Berg.
MotionHovering the group increases the gap by removing the negative margin, so the stack spreads over var(--dur) and each face becomes its own target. It is one property changing on the container rather than a transform per avatar, which keeps the spread perfectly even.
A11yThe stack is a list with each avatar labelled by name. The overflow chip is a button ("Show all 14 reviewers"), not a decorative circle, because the remaining names have to be reachable somehow.
Logo railmedia-logo-marquee
A single-row logo cloud that scrolls slowly and fades at both edges, so the row has no visible start or end.
Read at
Northfield ReviewCORNERSHOPLedger WeeklyTHE SMALL PRESSFieldnoteAnchor&Co
Northfield ReviewCORNERSHOPLedger WeeklyTHE SMALL PRESSFieldnoteAnchor&Co
MotionA 30s linear loop over a duplicated strip. The edge fade is a mask-image gradient, not two overlay elements, so it works on any background including the dark palette. Hover pauses; reduced motion stops the loop and leaves the row scrollable.
A11yLogos are text set in the display face rather than images, so they scale, respond to the theme and need no alt text. The duplicated half is aria-hidden, and the whole rail is labelled as a list of publications.
Moodboard collagemedia-moodboard-collage
Photographs pinned at slight angles with handwritten-style captions — a reference wall rather than a gallery.
counter, 07:40shop 2 · the notebooksix weeks, sortedreceiptswriting it upthe delivery routereview deskshop 3 of 3
MotionEach pin sits at a fixed small rotation derived from its position, and straightens with a 2px lift on hover over var(--dur). Only one at a time is straight, which is what makes the wall feel like something you are picking through.
A11yRotation is CSS-only and removed under prefers-reduced-motion, since even small tilts can be uncomfortable. Every photograph carries real alt text and its caption is a figcaption, not a floating label.
Zoom lensmedia-zoom-lens
A magnifier that follows the pointer over a product photograph, showing detail without opening anything.
Counter, 07:40
Shot on the third delivery day, before the shop opened. The notebook is under the till on the left.
MotionThe lens is a circular element whose background-image is the same photograph at 260 per cent, with background-position mapped from pointer position. Nothing is loaded twice and no canvas is involved. On coarse pointers and under reduced motion the lens is disabled and a plain caption invites a tap to open the full image.
A11yMagnification is enhancement only: the same photograph is a normal image with alt text, and a link to the full-size version is always present. The lens is aria-hidden and never focusable.
Motion · 10
Magnetic buttonmotion-magnetic-button
A button that leans toward the pointer inside a generous hit area, so it feels like it wants to be pressed.
Move the pointer near a button. The label lags behind the face by half, which is what gives it depth.
MotionPointer offset within the button is mapped to a translate capped at 6px, and the label moves at half that rate so the two layers separate slightly — parallax at a very small scale. On leave it springs back with a 340ms overshoot curve. The listener is never attached on coarse pointers or under prefers-reduced-motion.
A11yThe magnetism is decoration on top of an ordinary button. Keyboard focus does not trigger it, the focus ring is drawn on the untransformed element, and everything works identically with a pointer that never moves.
Cursor spotlight gridmotion-cursor-spotlight
A grid of cards where a soft light follows the pointer across all of them at once, revealing borders as it passes.
MotionPointer position is written once per frame to two CSS custom properties on the container; each card reads them in a radial-gradient. One rAF for the whole grid regardless of card count, and no per-card listeners — which is why this stays smooth at fifty cards.
A11yThe spotlight is purely decorative and lives in a pseudo-element. Every card is a real link with a visible border in its resting state, so nothing depends on the light to be findable — including for anyone using a keyboard.
Sticky scroll stepsmotion-sticky-steps
A pinned visual on one side that changes as text steps scroll past on the other — the standard explainer layout, done without a library.
Count something
Not a survey, not a hunch. Six weeks of a shop's call log, categorised by hand into restock, hours and everything else.
Find the workaround
Whatever people already do instead is the real competitor. Here it was a notebook behind the till, in three shops independently.
Get a number said aloud
An anchor is a price somebody volunteers before you name one. Nine pounds, three times, unprompted.
Then ask two people
One judges the market, one judges the build. They are allowed to disagree, and the disagreement is published.
MotionSteps are tracked with a single IntersectionObserver using a narrow band across the middle of the scroller. The pinned panel crossfades its content over var(--dur) and the step index counts up, so the pin never redraws more than once per step.
A11yEach step is a section with a real heading, and the pinned panel is aria-live="polite" so its change is announced once per step. The layout collapses to a single column below 900px with the visual inline above each step.
Drag to reordermotion-drag-reorder
A list you can reorder by dragging, where the other rows slide out of the way instead of jumping to their new positions.
Butcher restock alerts6 sources
Shuttle route drafts4 sources
Revision diff viewer5 sources
Kit price watcher3 sources
Rooms nobody books5 sources
Drag a row, or focus one and press Space to pick it up, then Up and Down.
MotionUses the FLIP technique: record every row position, move the DOM node, then invert the difference as a transform and release it. That is why the neighbours glide rather than teleport. Keyboard reordering runs the same FLIP, so both routes look identical.
A11yEvery row is a button-like listitem with aria-grabbed semantics replaced by plain instructions: press Space to pick up, Up and Down to move, Space to drop. Each move is announced with the item name and its new position.
Swipe to dismissmotion-swipe-dismiss
Cards that can be flung left to archive or right to keep, with the action revealed underneath as you drag.
← ArchiveKeep →
Kit price watcherNF-0431 · 3 sources
← ArchiveKeep →
Rooms nobody booksNF-0433 · 5 sources
← ArchiveKeep →
Shuttle route draftsNF-0417 · 4 sources
Drag a card sideways, or use the buttons.
MotionThe card follows the pointer one-to-one with a slight rotation proportional to distance, and the action panel behind fades in with it. Release commits past 110px or at a velocity over 0.6px per millisecond, otherwise it springs back with a 320ms overshoot. Buttons provide the same two actions for anyone not dragging.
A11yEvery card carries visible Archive and Keep buttons, so the swipe is never the only route. Each action announces its result in a polite live region, and dismissed cards are removed from the DOM rather than hidden.
3D tilt cardmotion-tilt-3d
A card that tips toward the pointer in perspective, with a highlight sweeping across its face as it turns.
MotionPointer position maps to rotateX and rotateY capped at 8 degrees, applied on a child of a perspective container so the perspective origin stays fixed. A gloss layer moves twice as far as the tilt to read as a reflection. Not attached on coarse pointers or under reduced motion.
A11yThe card content is a plain link and stays fully legible at rest. Tilt is never triggered by focus, so a keyboard user never has to read rotated text.
Scrambling headlinemotion-text-scramble
A headline that resolves out of random characters, used once at the top of a page rather than on every element.
Field notes
Evidence first, opinions later
Runs once on arrival. Used on a second element on the same page, it stops being an effect and becomes a fault.
MotionEach character has a randomised reveal frame; before it, a random glyph is drawn from a fixed set. The animation runs on requestAnimationFrame at about 24 frames per second, deliberately not 60, because a scramble at full frame rate reads as noise rather than as characters settling.
A11yThe scrambling element is aria-hidden and a static copy of the finished text sits in a visually hidden sibling, so the heading is announced once, correctly, and never as a stream of nonsense. Reduced motion skips the effect entirely.
Shared element expandmotion-shared-element
A card that grows into a full panel in place, so the thing you clicked is visibly the thing that opened.
MotionFLIP again: measure the card, swap in the expanded panel, then invert the position and scale difference and release it over var(--dur-slow). The image inside is counter-scaled so it does not stretch during the transition — the detail that separates this from a cheap zoom.
A11yThe expanded panel is a region labelled by its heading, focus moves into it on open, and Escape closes it and returns focus to the originating card. The card is a button, so it is reachable and operable without a pointer.
Pull to refreshmotion-pull-refresh
Drag a list down past its top to reload it, with rubber-band resistance and an arrow that flips when the threshold is passed.
Evidence feed
Pull to refresh
call-log-oct.csv attached2m
Anchor revised to £914m
Interview shop 3 transcribed1h
Verdict published by build scout3h
NF-0433 flagged: no anchor5h
MotionPull distance is damped by a square-root curve, so the further you drag the harder it gets — the resistance that makes it feel physical rather than linear. Past 70px the arrow rotates and the label changes; release then locks the indicator open while it loads and springs shut afterwards.
A11yA visible Refresh button does the same job for anyone not dragging, and the state ("Pull to refresh", "Release to refresh", "Refreshing") is a polite live region rather than only an arrow direction.
Staggered revealmotion-stagger-reveal
Items rising into place one after another as their section enters view — the workhorse entrance, done so it does not annoy.
Scroll the frame
Keep scrolling
01
Count something
Six weeks of a call log, categorised by hand.
02
Find the workaround
Whatever people do instead is the real competitor.
03
Get a number said aloud
An anchor is volunteered, not proposed.
04
Name the alternative
Without it, demand is a guess.
05
Ask two people
Market and build are different questions.
06
Publish the disagreement
Especially when the two reviewers differ.
End
MotionEach item translates 14px and fades over var(--dur-slow), staggered 55ms, capped at eight items — past that a stagger stops reading as choreography and starts reading as lag. It fires once per element and the observer disconnects, so scrolling back up does not replay it.
A11yContent is fully present in the DOM and the visible state is the default; the hidden state is only applied by script when the effect is going to run. That means anyone with JavaScript off, or with prefers-reduced-motion set, sees the finished layout immediately rather than a blank block.