{"experiments":[{"id":"exp-0033","slug":"web-time-lapse","name":"Web Time Lapse","tagline":"Watch real websites change through the years.","question":"Can reviewed archived pages make the history of a website legible?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":1,"launchedAt":"2026-09-27T19:52:06.253Z","createdAt":"2026-09-27T19:52:05.949Z","liveUrl":"/experiments/web-time-lapse","bet":{"budget":{"amount":0,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-09-27T19:52:05.949Z","body":"created"},{"at":"2026-09-27T19:52:06.092Z","body":"status → VALIDATING"},{"at":"2026-09-27T19:52:06.171Z","body":"status → BUILDING"},{"at":"2026-09-27T19:52:06.253Z","body":"status → LIVE"},{"at":"2026-09-27T19:52:06.333Z","body":"The first collection contains 93 reviewed captures: Google 27, Apple 25, Amazon 32 and Yahoo 9. We targeted January and July from 2000 to 2025. Of 208 targets, 115 were unavailable or rejected after review."},{"at":"2026-09-27T19:52:06.386Z","body":"Dates and stills come from real archived pages. Morphs estimate movement between matched page elements; other transitions crossfade. Missing images and changes of language are recorded in the gallery notes. The intermediate frames are visual estimates, not pages that existed."},{"at":"2026-09-27T19:52:06.439Z","body":"A viewer for arbitrary sites is feasible with review, but complete histories are not established by this experiment. Missing assets, empty feeds, consent pages and redesigns limit what can be recovered. The live viewer includes the full feasibility notes."},{"at":"2026-09-27T19:52:06.489Z","body":"Published a free static viewer with dated galleries, 0.25×–4× playback, source links and experiment notes. The site runs from its own repository. No archive requests run when a visitor opens it."},{"at":"2026-09-28T10:36:10.520Z","body":"Added Feeder: 49 reviewed captures from 2012–2026 and a 3:34 timelapse, sampled more densely than the original half-year examples. Five broken renders and two failed requests remain documented. The collection now contains 142 reviewed captures across five sites."}],"tags":["web-history","archives","visualisation"],"kind":"tool","does":"Explore 142 reviewed captures of Google, Feeder, Apple, Amazon and Yahoo. Watch adjustable timelapses, compare dated stills and read the notes about what the archives preserved.","who":"Anyone curious about how the web has changed.","cta":"Explore the timelapses","image":"https://puj.github.io/web-time-lapse/preview.png"},{"id":"exp-0032","slug":"wordflight","name":"Wordflight","tagline":"Words become curved trails of light.","question":"Can the shape of a word become something we learn to read?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":1,"launchedAt":"2026-09-27T17:44:22.165Z","createdAt":"2026-09-27T17:44:21.808Z","liveUrl":"/experiments/wordflight","bet":{"budget":{"amount":0,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-09-27T17:44:21.808Z","body":"created"},{"at":"2026-09-27T17:44:21.963Z","body":"status → VALIDATING"},{"at":"2026-09-27T17:44:22.051Z","body":"status → BUILDING"},{"at":"2026-09-27T17:44:22.166Z","body":"status → LIVE"},{"at":"2026-09-27T17:44:22.226Z","body":"Published with curved strokes, a translated glyph wall and fading timelapse. The opening passage is from Possibility Vertigo. Entered text stays in the browser."}],"tags":["language","art","free","canvas"],"kind":"tool","does":"Write a thought, watch it rise, or read its shapes beside their translations.","who":"For anyone curious about the shapes hidden in words.","cta":"Let words fly","image":"https://puj.github.io/wordflight/preview.png"},{"id":"exp-0030","slug":"assay","name":"Assay","tagline":"Tap the passages of an AI answer that matter, annotate them in a few words, and send them back as one deep-dive prompt. Nothing leaves the device.","question":"Will a stranger install a browser extension in order to select passages of an AI answer — and then send a selection back as a prompt at least once?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":22,"launchedAt":"2026-09-07T00:00:00.000Z","createdAt":"2026-09-04T10:30:00.000Z","liveUrl":"https://assay.projectnothing.ai","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-09-02T21:00:00.000Z","body":"built in one evening as a phone-first userscript: select text in a ChatGPT reply, collect fragments, send them back as one prompt. Copied into the phone by hand from a hosted page"},{"at":"2026-09-03T12:00:00.000Z","body":"tap replaced text selection — a word, widened to sentence and paragraph, grown across paragraphs by tapping toward other words. Per-conversation lists; exports became the whole conversation with the fragments appended"},{"at":"2026-09-04T10:00:00.000Z","body":"renamed three times in one day. DigBoard collided with a scuba company, Winnow turned out to be a live Chrome extension, Pickaxe is an AI-agent platform; Assay screened clean on both stores. The lesson — search the stores before naming — is written into the contract so it costs nobody a third afternoon"},{"at":"2026-09-04T10:18:00.000Z","body":"release pipeline live: a merge builds a reproducible package and mints a GitHub Release; v0.8.1 carries the data-collection declaration Firefox now requires (none). Store listings and the site are the remaining gate before anything is announced"},{"at":"2026-09-07T00:00:00.000Z","body":"promoted on the studio’s front page and in the essays’ colophon — the essays and the book behind them are written with it"},{"at":"2026-09-26T00:00:00.000Z","body":"in a finished release state: the extension installs from assay.projectnothing.ai, ships from its own repository, and is the tool the essays are written with. Nothing left to build for this question; the stores’ own counts are the instrument"}],"tags":["tool","free","extension","chatgpt","claude","reading","attention"],"kind":"tool","does":"Tap a word in a ChatGPT or Claude reply, widen it to the sentence or paragraph, collect a few, annotate them, and send them back as one prompt — or save the whole conversation as a file.","who":"For anyone who reads AI answers slowly, on a phone, and is tired of copy-pasting the good bits back in.","cta":"Install it","attentionSeconds":45},{"id":"exp-0031","slug":"horizon","name":"Horizon","tagline":"A longer horizon, a clearer view and a faster walk are all lying on the ground to be picked up. Attention is not.","question":"Once a stranger is travelling faster than they can act, will they go looking for the brake?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":24,"launchedAt":"2026-09-05T09:00:00.000Z","createdAt":"2026-09-05T09:00:00.000Z","liveUrl":"/experiments/horizon","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"activations":6},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[],"log":[{"at":"2026-09-05T09:00:00.000Z","body":"validated before anything was built, and it needed two repairs. As first described the experiment could not fail: \"turn velocity up and something breaks\" is guaranteed by the build, so if it overwhelms that is the design working rather than evidence about people. The measured event is therefore not the overwhelm but the response to it"},{"at":"2026-09-05T09:00:00.000Z","body":"the sliders were cut. A slider is the VIEW DISTANCE +40% menu the idea set out to avoid, and worse, it makes the turn-down free — which records a fidget rather than a decision. Capability is picked up off the ground instead, and the only input is which side of the corridor you are on"},{"at":"2026-09-05T09:00:00.000Z","body":"collection alone would have broken it, because you cannot un-collect and the measured act is a reduction. So the world contains an anchor: one brake, which costs real ground and forfeits whatever else was on that line"},{"at":"2026-09-05T09:00:00.000Z","body":"kill condition, fixed before the build: 60 strangers reach maximum velocity and at least half then take an anchor. Below 60 the proportion is unreadable and the result is inconclusive rather than false, and gets recorded as that"},{"at":"2026-09-05T09:00:00.000Z","body":"built on a 2D canvas rather than in WebGL. The horizon distance is not a draw distance that was chosen — it falls out of the projection as sqrt(eye/curvature), so lowering curvature unrolls the world rather than unlocking a setting. Tested: on one seeded world played as well as possible, the share of sites taken still collapses as speed rises"},{"at":"2026-09-05T13:00:00.000Z","body":"the arc was inverted after playing it. It opens frantic now — a ten-metre horizon with something cresting it every two-thirds of a second — so the first beacon lands as relief, and speed then breaks you a second time in the opposite direction. The first beacon taken before full speed is counted on its own line as relief_sought, never as part of the kill condition"},{"at":"2026-09-05T13:00:00.000Z","body":"a leave moment was added, player-triggered and reversible: two numbers, met and reached, and one of three sentences. It is where left_at_max becomes true, so it is recorded there. Anchors were deliberately kept at constant density — making the brake rarer with speed would be the design forcing the finding"},{"at":"2026-09-05T09:00:00.000Z","body":"not verified, and recorded rather than smoothed over: nobody outside this session has played it. Whether the take rate coming apart is felt as anything at all, rather than merely computed, is the first thing a stranger will settle"}],"tags":["toy","free","attention","simulation","canvas","possibility-frontier"],"kind":"simulation","does":"Walk an endless world, picking range, clarity and speed up off the ground. Go fast enough and you meet far more than you can reach.","who":"For anyone with more tabs, tools and options than they have hours.","cta":"Start walking","attentionSeconds":60,"steps":[{"name":"reached_max_velocity","label":"Got up to full speed","value":2},{"name":"capability_returned","label":"Went looking for the brake","value":1},{"name":"sites_taken","label":"Reached something","value":266},{"name":"sites_encountered","label":"Went past something","value":562},{"name":"relief_sought","label":"Went looking for a longer horizon","value":5}]},{"id":"exp-0029","slug":"verbatim","name":"Verbatim","tagline":"Paste a ChatGPT share link. Get the conversation back as a Markdown or plain text file. That is the whole product.","question":"Will a stranger holding a ChatGPT share link paste it into a page they have never seen before and download the conversation as a file?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":28,"launchedAt":"2026-09-01T11:28:00.000Z","createdAt":"2026-09-01T11:00:00.000Z","liveUrl":"/experiments/verbatim","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"visitors":10,"activations":16},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[],"log":[{"at":"2026-09-01T11:28:00.000Z","body":"built and deployed: one field, a share link in, a Markdown or plain text file out. No account, no extension, nothing stored — the conversation is fetched, parsed and handed back inside the request"},{"at":"2026-09-01T12:38:00.000Z","body":"the day-one gate cleared on production rather than on a promise: real share links put through the deployed route came back as real files, corroborated in production’s own runtime logs. The gate existed because the whole product depends on somebody else’s page staying readable, and that is not a thing to assume"},{"at":"2026-09-01T12:41:00.000Z","body":"campaign approved and four of six sends booked for 2026-09-17, at the back of the queue behind Needed. Two sends are still unbooked, so the anchor is provisional — the timebox starts at the last post, which puts the verdict due 2026-10-01"},{"at":"2026-09-01T12:41:00.000Z","body":"two failure modes are counted apart from demand on purpose: parse_failed when OpenAI changes the shape of the share page, fetch_blocked when it refuses to serve the page to our server at all. Both are evidence about the gate and neither is evidence about whether anybody wanted this"}],"tags":["tool","free","export","chatgpt","utility","seo"],"kind":"tool","does":"Paste a ChatGPT share link. The conversation comes back as a Markdown or plain text file, both speakers in order.","who":"For anyone who wanted to keep a conversation and found they only had a URL.","cta":"Export one","attentionSeconds":15,"steps":[{"name":"parse_failed","label":"Brought a link the page could not read","value":7}]},{"id":"exp-0028","slug":"needed","name":"Needed","tagline":"A stranger left a question. A machine has already answered it — correctly, fully, for free. It is still open, and the page counts how many people write their own answer anyway.","question":"When a machine has already answered a stranger’s question — correctly, fully, free and visibly — do people still write their own?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":28,"launchedAt":"2026-08-31T15:53:00.000Z","createdAt":"2026-08-31T12:00:00.000Z","liveUrl":"https://www.projectnothing.ai/experiments/needed","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"visitors":13,"activations":1},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[{"name":"to guarantee a human answer to your own question","price":{"amount":200,"currency":"EUR"},"kind":"one_time"}],"log":[{"at":"2026-08-31T12:00:00.000Z","body":"the idea arrived as Ask a Human: route solvable questions away from AI toward a person nearby, then measure the surplus. The routing half needs a pool of identified, located, consenting, available people before the first question can move, which is /validate-idea’s second stop condition and is not a budget problem"},{"at":"2026-08-31T12:00:00.000Z","body":"the demand side was cut as already answered, and not by us: several billion people currently route solvable questions to a machine when a person is available. Building a page to re-measure that buys a number the world has published"},{"at":"2026-08-31T12:00:00.000Z","body":"what survived is the sentence the brief buries — I know something, someone needed it, therefore I mattered for a moment. That is a claim about the answerer, which makes it one-sided, which makes it testable with no marketplace at all"},{"at":"2026-08-31T12:00:00.000Z","body":"Human Surplus was rejected as defined — value of asking a person minus value of the optimal answer immediately — because the subtraction cannot be performed on one person and one question: you cannot un-know the answer you were given. Replaced by two observable rates, one on each side of the page"},{"at":"2026-08-31T12:00:00.000Z","body":"the brief’s router, which occasionally withholds the machine answer to generate a finding, was cut as an experiment on a person who did not agree to be in one. The machine answers everybody, immediately, free; what varies is whether the person deciding whether to write can see it first"},{"at":"2026-08-31T12:00:00.000Z","body":"kill condition set before the build: 300 visitors shown a question, and at least a 15-point gap between the two arms. Below that the machine’s presence is not what stops people being useful, and the thesis has failed at the one point where it was cheap to observe"},{"at":"2026-08-31T12:00:00.000Z","body":"built: one page, five routes, six seeded questions labelled as ours, arms alternating by arrival order on a server-side counter, and a €2 guarantee on the Sieve pattern that refuses to sell whenever the unanswered queue is longer than twelve"},{"at":"2026-08-31T12:00:00.000Z","body":"the cost curve was checked first, because the last two experiments were cut or held on it: the machine answers once per question and is cached forever, so a hundred people reading the same question generate nothing. Spend scales with questions rather than with success — about €0.50 for a thousand distinct questions, against a €5 ceiling enforced in code"},{"at":"2026-08-31T12:00:00.000Z","body":"not verified, and recorded rather than smoothed over: the sandbox this was built in cannot reach the model provider, so not one machine answer was generated during the build. The generator is written against the API contract and has never run"},{"at":"2026-08-31T16:00:00.000Z","body":"merged and deployed to production, and the page does not work: the OpenAI account has no credits, so the machine answer 429s and every visitor sees an empty state instead of a question. The experiment refuses to count an arm it could not run, which is the correct behaviour and also means nothing is being measured. No campaign is scheduled and the clock has not started"},{"at":"2026-08-31T16:25:00.000Z","body":"credits added and the page works: both arms served live from production, the control arm returning a null machine answer as designed and the treatment arm a 2.3-second answer about basil. Campaign drafted against the deployed page and held for approval — the copy check caught two claims that were false at launch and both were fixed before anybody saw them"},{"at":"2026-08-31T16:25:00.000Z","body":"four verification requests moved this experiment’s own counters before any campaign: machine_shown +1 and machine_hidden +1. Recorded rather than reset — one in each arm with nothing in either numerator, so it cannot move the comparison, but the first two impressions were ours and the funnel should say so"},{"at":"2026-08-31T16:00:00.000Z","body":"the generator caught everything and returned a bare failure, so production could say the model broke and not how — the same defect exp-0026 shipped and fixed a day later. Fixed by logging the reason, which is how the credit exhaustion was found in one request rather than by guessing"},{"at":"2026-08-31T12:00:00.000Z","body":"the attention ask is declared rather than held, with one note that belongs in the ledger: this is the first experiment here that asks a stranger for unpaid labour on behalf of another stranger. That is only defensible while the answers actually reach the people who asked, so delivery is a condition on the ask rather than a feature, and answer_claimed is published whether it flatters or not"}],"tags":["strangers","control-arm","unpaid-labour","paid","anonymous"],"kind":"social","does":"Answer a stranger’s question in a few sentences, next to the answer a machine has already given.","who":"For anyone who still likes being useful to a person.","cta":"Answer one","attentionSeconds":90,"price":{"amount":{"amount":200,"currency":"EUR"},"name":"to guarantee a human answer to your own question","kind":"one_time"},"steps":[{"name":"machine_shown","label":"Saw the machine’s answer first","value":7},{"name":"machine_hidden","label":"Decided without seeing it","value":8},{"name":"answered_beside_machine","label":"Wrote one anyway","value":1},{"name":"question_left","label":"Left a question of their own","value":1}]},{"id":"exp-0025","slug":"slop","name":"Slop","tagline":"Judge five things without being told where they came from. Then be told. The page keeps score of how often the provenance changed your mind.","question":"When a stranger is told how cheaply a thing was made, does their judgement of whether it deserved their attention change — and in which direction?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":29,"launchedAt":"2026-08-30T17:40:00.000Z","createdAt":"2026-08-30T17:40:00.000Z","liveUrl":"/experiments/slop","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"visitors":7,"activations":2},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[],"log":[{"at":"2026-08-30T17:40:00.000Z","body":"launched — five artefacts judged blind, a log-log plane of nineteen more, three sliders that go to a trillion people, and a closing correction that strikes through five of the seven complaints the word carries"},{"at":"2026-08-30T17:40:00.000Z","body":"kill condition set before the build: fourteen days, 300 visitors, and at least 25% of the people who make a first blind judgement reaching the final act. Below that the argument did not survive contact with a stranger’s patience, and a correction nobody reads is not a correction"},{"at":"2026-08-30T17:40:00.000Z","body":"the brief asked for an anti-slop experiment and got the opposite: the page never rates anything and never argues that slop does not exist. It argues the word cannot distinguish cheap creation from expensive attention, and hands the reader the distinction instead of a position"},{"at":"2026-08-30T17:40:00.000Z","body":"the blind set was built under one rule — every word of every reveal has to be true. Where the record is unsettled it says so: nobody knows who wrote 0x5f3759df, and nobody knows how long the cave horses took. A blind test with dramatised reveals is a magic trick, and the finding it produces would be worth nothing"},{"at":"2026-08-30T17:40:00.000Z","body":"the last blind item is a cookie banner. It is the largest single deliberate expenditure of human attention on the plane, it was expensive to make, no machine wrote it, and nobody has ever called it slop — which is the whole argument arriving without the page having to state it"},{"at":"2026-08-30T17:40:00.000Z","body":"the first drawing is generated in the visitor’s browser from a seed off their clock, so the reveal that nobody has ever seen it is literally true rather than a flourish. It reports the milliseconds it actually took, measured with performance.now()"},{"at":"2026-08-30T17:40:00.000Z","body":"cut and recorded rather than quietly dropped: a submission form for other people’s artefacts, which would have made the plane a database and the experiment a moderation queue; and a generated image per blind item, which would have bought weight and a licensing question to prove a point the procedural drawing already proves honestly"},{"at":"2026-08-30T18:05:00.000Z","body":"campaign scheduled for 2026-09-13 across five channels — short on X and Bluesky at 09:07, long on LinkedIn and Facebook at 13:07, the recorded interaction on TikTok at 17:07. The hook is the cookie banner rather than the AI: written by lawyers, a trillion interruptions, and nobody has ever called it slop"},{"at":"2026-08-30T18:05:00.000Z","body":"took the back of the queue rather than the free day on 09-03. Under the old rule that would have been the right move — an earlier slot protected a timebox running from the deploy — but the anchor moved the same afternoon, so waiting costs this experiment nothing and jumping four experiments would have bought it nothing"},{"at":"2026-08-30T18:05:00.000Z","body":"the timebox now starts at the campaign’s last post rather than at the deploy, so the verdict is owed 2026-09-27 instead of 2026-09-13. The kill condition is unchanged and is not renegotiable: 300 visitors and 25% of first-judgers reaching the last act. The date those numbers are read on moved; the numbers did not"},{"at":"2026-08-30T18:05:00.000Z","body":"the short copy was cut from 275 characters to 259 after the preview. The connector counts the raw URL rather than X’s 23-character allowance, so it previewed five characters under the limit — close enough to a limit to treat as over, because a truncated post loses its URL first"},{"at":"2026-08-30T17:40:00.000Z","body":"the page displays its own build time, read off the first and last commit of the branch rather than asserted, and puts itself on its own plane at the end. If something made that quickly holds a stranger for three minutes the thesis survived its own demonstration; if it does not, the counterexample is the page"}],"tags":["attention","free","provenance","blind-test","essay-instrument"],"kind":"quiz","does":"Judge five pieces of writing, art and code before you are told where each came from. Then see what changed.","who":"For anyone who has called something slop without checking.","cta":"Take the test","attentionSeconds":180,"steps":[{"name":"blind_verdict","label":"Judged something blind","value":10},{"name":"provenance_held","label":"Held after the reveal","value":2},{"name":"provenance_flipped","label":"Changed their mind after the reveal","value":2},{"name":"plane_explored","label":"Opened an artefact on the plane","value":1}]},{"id":"exp-0024","slug":"done","name":"Done","tagline":"Tell it the thing that has been mildly annoying you for a month. One costed route, one part, a date — then it comes back to ask whether it worked.","question":"Given one costed route instead of an answer, will a stranger go and fix the thing they have been ignoring for a month — and come back to say it is done?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":29,"launchedAt":"2026-08-30T17:00:00.000Z","createdAt":"2026-08-30T17:00:00.000Z","liveUrl":"/experiments/done","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"visitors":7},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[],"log":[{"at":"2026-08-30T17:00:00.000Z","body":"launched — a repertoire of sixteen Stockholm household situations, each costed across the ladder from doing nothing to paying somebody, and a planner that picks one"},{"at":"2026-08-30T17:00:00.000Z","body":"kill condition set before the build: fourteen days, fifty problems handed over and ten confirmed resolved. Ten of fifty is deliberately harsh, because a completion engine that cannot show completions is an answer engine with better typography"},{"at":"2026-08-30T17:00:00.000Z","body":"the model is not allowed to price anything. It may pick an id from a fixed list and pull out constraints somebody volunteered; every figure comes from a hand-checked table in version control with a date and a basis on it. A plausible price from a language model is worse than no price, because somebody goes to the shop on it"},{"at":"2026-08-30T17:00:00.000Z","body":"questions are only asked when the recommendation genuinely differs across the answers. Seven of the sixteen situations ask nothing at all; the tenure question fires on six, because in a Swedish rental a sticking cupboard door is the landlord’s, free, and almost nobody reaches for that"},{"at":"2026-08-30T17:00:00.000Z","body":"the refusal boundary is in code rather than in a prompt — gas, mains wiring, water inside a wall, structural. It names felanmälan, the BRF or 112 instead of declining and leaving somebody holding the problem"},{"at":"2026-08-30T17:00:00.000Z","body":"resolution is self-reported and requires a return trip, so it is published as a floor rather than a rate: problems nobody comes back about are counted as unknown, in a column the same size as the other two, and never moved into either"}],"tags":["agents","stockholm","household","price-probe","verification"],"kind":"tool","does":"Describe one household problem you have been ignoring. Get one costed route, one part and one date, then a check-in.","who":"For people in Stockholm with a month-old nag on the list.","cta":"Hand one over","attentionSeconds":120},{"id":"exp-0023","slug":"up-peak","name":"Up Peak","tagline":"Four lifts, twenty floors, one morning rush. Change one thing and the identical morning runs again.","question":"Does a system you can argue with teach it better than an article about it can — measured by whether the people who change one thing about a lift go on to change three?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":29,"launchedAt":"2026-08-30T16:30:00.000Z","createdAt":"2026-08-30T16:30:00.000Z","liveUrl":"/experiments/up-peak","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"visitors":7,"activations":1},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[],"log":[{"at":"2026-08-30T16:30:00.000Z","body":"launched — a discrete-event lift simulator with real acceleration curves, door cycles charged in full, and three dispatchers running the identical seeded traffic"},{"at":"2026-08-30T16:30:00.000Z","body":"kill condition set before the build: fourteen days, 300 visitors, and at least 40% of the people who change one thing changing three. Below that it is a demonstration people watched once, not an instrument, and the format claim is wrong"},{"at":"2026-08-30T16:30:00.000Z","body":"the proposal wanted destination dispatch to be the \"aha\". It is not: measured over twelve mornings it makes the average wait worse and the journey shorter, and its real gift is that it deletes the bad mornings entirely. The page was rebuilt around the spread instead, because that is what the simulator actually says"},{"at":"2026-08-30T16:30:00.000Z","body":"the first destination dispatcher minimised each passenger’s own wait and therefore never grouped anybody — all of the hardware, none of the benefit. Costing a new stop against everybody already in the car fixed it, and the cars sorting themselves into bands of floors on screen is that line working"},{"at":"2026-08-30T16:30:00.000Z","body":"the wild variance between mornings was checked for a bug before it was published as a finding: mean wait correlates −0.89 with the gap between cars, so it is bunching, and every comparison reports twelve mornings rather than one"},{"at":"2026-08-30T16:30:00.000Z","body":"cut from the proposal, and recorded rather than quietly dropped: anatomy cutaways, elevator sounds, the relay-controller recreation, the historical timeline, paternosters, the user-supplied dispatcher playground and the algorithm tournament. One simulator that is right beats twelve exhibits that are approximately right"},{"at":"2026-08-30T12:51:00.000Z","body":"campaign scheduled for 2026-09-11 across five channels — short on X and Bluesky, long on LinkedIn and Facebook, a recorded interaction on TikTok. The hook is the finding rather than the product: destination dispatch makes the average wait worse, which can only be argued with by opening the page"},{"at":"2026-08-30T12:51:00.000Z","body":"distribution hypothesis: a counter-intuitive measured result travels further than a description of a tool, because disagreeing with it requires using the thing. False if the posts earn reach while the visitors who arrive from them reach three_changes no more often than everybody else — that would mean the finding travels and the instrument does not, which is the opposite of what this experiment claims"},{"at":"2026-08-30T12:51:00.000Z","body":"the campaign lands on day 12 of a 14-day timebox, because the queue was full until 2026-09-11 and the slot was taken in order rather than jumped. Said plainly rather than fixed quietly: the verdict owed on 2026-09-13 will be read against about two days of distributed traffic. The kill condition is not renegotiable and is not being renegotiated — whether the bet gets a fair run at it is a separate decision, and a human’s"}],"tags":["simulation","free","engineering","format-test"],"kind":"simulation","does":"Watch four lifts serve a morning rush. Change one thing about the building and run the same morning again.","who":"For anyone who has stood in a lobby wondering why the lift takes so long.","cta":"Run the morning","attentionSeconds":120,"steps":[{"name":"comparison_run","label":"Changed one thing","value":4},{"name":"three_changes","label":"Tried three changes","value":1}]},{"id":"exp-0022","slug":"crawled","name":"Crawled","tagline":"Every machine that reads this website, what it takes, and how long after publishing it turns up.","question":"How long does a small site’s page exist before a machine reads it, which machines actually come — and does publishing a machine-readable brief change either answer?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":29,"launchedAt":"2026-08-30T14:00:00.000Z","createdAt":"2026-08-30T14:00:00.000Z","liveUrl":"/experiments/crawled","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"visitors":6},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[],"log":[{"at":"2026-08-30T14:00:00.000Z","body":"launched — edge middleware records named crawlers against a fixed taxonomy, before the cache, which is the only place these fetches are visible at all"},{"at":"2026-08-30T14:00:00.000Z","body":"kill condition set before the build: fourteen days, and at least three distinct answer-layer agents and fifty recorded fetches, or the instrument has nothing to measure and it dies"},{"at":"2026-08-30T14:00:00.000Z","body":"holdout fixed before any data existed: even-numbered experiments publish a machine-readable brief, odd-numbered ones do not. Half the portfolio is deliberately published without one, and the rule is never adjusted to suit a result"},{"at":"2026-08-30T14:00:00.000Z","body":"the first holdout rule — a hash of the slug — was thrown out before launch: it landed 7 against 15 and put almost every recent live page in the same arm, which would have compared new pages against old ones rather than brief against no brief"},{"at":"2026-08-30T15:40:00.000Z","body":"attention ask declared: 90 seconds, claiming memorable. Declared after the campaign was booked rather than before it, because the ledger rule landed on master mid-flight — nothing has fired, so no stranger has been spent, but the order was wrong and saying so is cheaper than pretending otherwise"},{"at":"2026-08-30T15:30:00.000Z","body":"campaign scheduled for 2026-09-05, five days after launch rather than on the day — announcing an empty ledger would have made a page about measurement look like it had nothing to measure"},{"at":"2026-08-30T14:00:00.000Z","body":"the four things it refuses to score: citation, recommendation, agent selection and purchase. No channel observes them, so no number claims to"}],"tags":["instrumentation","dataset","free","seo"],"kind":"report","does":"A live ledger of which machines read this site, what they took, and how long after publishing they arrived.","who":"For anyone publishing on the web and wondering who, or what, is reading.","cta":"See the ledger","attentionSeconds":90},{"id":"exp-0021","slug":"out-of-ten","name":"Out of Ten","tagline":"Give a stranger a mark out of ten in one second, then keep looking until the mark cannot hold them.","question":"After giving a stranger a mark out of ten in one second — which everybody does anyway — will people keep looking at that same person long enough to lose the number, or take the number and leave?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":30,"launchedAt":"2026-08-30T09:00:00.000Z","createdAt":"2026-08-30T09:00:00.000Z","liveUrl":"/experiments/out-of-ten","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"visitors":12},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[{"name":"for the poster","price":{"amount":400,"currency":"EUR"},"kind":"one_time"}],"log":[{"at":"2026-08-30T09:00:00.000Z","body":"launched — six territories, 240 hand-written lines, and a number that gets exactly one vote"},{"at":"2026-08-30T09:00:00.000Z","body":"kill condition set before the build: 300 visitors in fourteen days, and at least a quarter of the people who give a mark going past the surface, or it dies"},{"at":"2026-08-30T09:00:00.000Z","body":"the finding the page was not designed to make: breadth is safe and depth is not — across three hundred generated people, opening all thirty-six things visible on a stranger’s surface never once killed the number, and pulling three of those same threads to the bottom killed it every time"},{"at":"2026-08-30T09:00:00.000Z","body":"the second one: the centre converges on the middle of the scale and stays there. Know enough about anybody and they come out average, because everybody does"},{"at":"2026-08-30T09:00:00.000Z","body":"the collapse latches. The arithmetic can wobble back over the line when new evidence agrees with itself; a readout that resurrected would be a lie about what looking at somebody does to you"},{"at":"2026-08-30T09:00:00.000Z","body":"nobody on the page exists, no photograph is used and nothing is generated at request time — a stranger is a seed and a fixed body of writing, so the details are true of people in general and of nobody in particular"},{"at":"2026-08-30T09:00:00.000Z","body":"no account and no storage: a route through somebody lives in the URL or nowhere, and only if the visitor presses the button that puts it there"},{"at":"2026-08-30T09:00:00.000Z","body":"the €4 shipped as a price probe for a poster that did not exist, and was replaced the same day by a real Stripe checkout — the poster turned out to be the page’s own renderer at print size, and the playbook says a probe for a thing that already exists measures politeness rather than demand"},{"at":"2026-08-30T09:00:00.000Z","body":"the one exception to storing nothing, stated on the page: buying the poster sends the route to Stripe and holds it for a day against the checkout session, so it can be rebuilt on the way back. A seed and a list of digits describing somebody who does not exist — never anything about the buyer"},{"at":"2026-08-30T09:00:00.000Z","body":"the lock on the poster is soft and the page says so: the seed and the route are in the URL and the drawing happens in the browser. Making it hard would mean rendering server-side and keeping a record of what everybody looked at"}],"tags":["art","toy","free"],"kind":"social","does":"Give a stranger a mark out of ten in one second. Then keep looking, until the mark stops fitting.","who":"For anyone honest enough to admit they rate people on sight.","cta":"Look at one","price":{"amount":{"amount":400,"currency":"EUR"},"name":"for the poster","kind":"one_time"}},{"id":"exp-0020","slug":"perfect-score","name":"Perfect Score","tagline":"Forty-two of the greatest games ever made, taken apart into ten ingredients you then have to buy.","question":"Given a fixed budget and the same ten ingredients, will strangers converge on one greatest game — or scatter across incompatible ones and rebuild something that already exists?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":31,"launchedAt":"2026-08-29T10:00:00.000Z","createdAt":"2026-08-29T10:00:00.000Z","liveUrl":"/experiments/perfect-score","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"visitors":8,"activations":2},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[{"name":"for a printed spec sheet of your build","price":{"amount":400,"currency":"EUR"},"kind":"one_time"}],"log":[{"at":"2026-08-29T10:00:00.000Z","body":"launched — ten ingredients, 500 points, forty-two canonised games on the same axes"},{"at":"2026-08-29T10:00:00.000Z","body":"kill condition set before the build: 100 shipped builds in fourteen days, or it dies"},{"at":"2026-08-29T10:00:00.000Z","body":"the optimiser broke the first model — given a budget and no floors it built a game with five ingredients at 100 and five at zero, so table stakes were derived from the dataset and cost 311 of the 500 points"},{"at":"2026-08-29T10:00:00.000Z","body":"the finding the page was not designed to make: a game scoring 100 on all ten ingredients rates below three quarters of the canon, because it maximises every conflict at once and has no peak"},{"at":"2026-08-29T10:00:00.000Z","body":"no art, audio, code or data from any real game — every cover is drawn at runtime from the ten numbers under it"},{"at":"2026-08-29T10:00:00.000Z","body":"a build is stored as ten numbers and what it turned out to be nearest to; there is no author on any record, including for us"}],"tags":["game","tool","free"],"kind":"game","does":"Forty-two of the greatest games ever made, taken apart into ten ingredients. You have 500 points to rebuild one.","who":"For anyone who has argued about the greatest game of all time.","cta":"Build yours","price":{"amount":{"amount":400,"currency":"EUR"},"name":"for a printed spec sheet of your build","kind":"one_time"}},{"id":"exp-0019","slug":"insula","name":"Insula","tagline":"A running argument about what the old city builders got right, made out of cities that simulate.","question":"Will people who loved the 1998 city builders press a button asking for a modern one, after being shown the mechanics rather than told about them?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":32,"launchedAt":"2026-08-28T09:00:00.000Z","createdAt":"2026-08-28T09:00:00.000Z","liveUrl":"/experiments/insula","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{"visitors":10},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[],"log":[{"at":"2026-08-28T09:00:00.000Z","body":"launched — three simulated cities, one of them breakable"},{"at":"2026-08-28T09:00:00.000Z","body":"nothing on the page is a screenshot: the walker paths, the field is computed, the houses are drawn at the rung they hold"},{"at":"2026-08-28T09:00:00.000Z","body":"no art, code or data from any existing game — every shape is drawn from its footprint at runtime"},{"at":"2026-08-28T09:00:00.000Z","body":"no price and no email box: the only metric is whether strangers ask for the sandbox"}],"tags":["game","simulation","free"],"kind":"simulation","does":"Small cities that actually run, each making one argument about what the 1998 city builders got right.","who":"For anyone who still thinks about Caesar III.","cta":"Walk the cities","steps":[{"name":"overlay_opened","label":"Opened an overlay","value":1}]},{"id":"exp-0018","slug":"exactly","name":"Exactly","tagline":"Say what a song did to you, and read what a stranger wrote about the same one.","question":"Can a stranger’s sentence about the same thing make two people briefly feel less like strangers?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":34,"launchedAt":"2026-08-26T10:00:00.000Z","createdAt":"2026-08-26T10:00:00.000Z","liveUrl":"/experiments/exactly","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":10},"funnel":{"visitors":22},"hasFinancials":false,"decision":"UNDECIDED","featured":true,"instrumented":true,"offers":[],"log":[{"at":"2026-08-26T10:00:00.000Z","body":"launched — paste a link, say what got you, meet one stranger’s sentence at a time"},{"at":"2026-08-26T10:00:00.000Z","body":"no profiles, no names, no way to contact anybody: a reaction carrying one is refused before it is stored"},{"at":"2026-08-26T10:00:00.000Z","body":"the model only embeds and screens — every reaction shown was typed by a person"},{"at":"2026-08-26T10:00:00.000Z","body":"reactions we wrote to start the room are labelled as ours and counted separately"}],"tags":["social","free","anonymous"],"kind":"social","does":"Write one sentence about what a song did to you. Read what a stranger wrote about the same song.","who":"For anyone who has ever needed to say it to somebody.","cta":"Say one","image":"/api/experiments/exactly/image"},{"id":"exp-0017","slug":"spent","name":"Spent","tagline":"Your calendar, read the way a bank reads your spending.","question":"After seeing thirty days of their own calendar, will somebody pay €9 to see the rest of their life?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":35,"launchedAt":"2026-08-25T09:00:00.000Z","createdAt":"2026-08-25T09:00:00.000Z","liveUrl":"/experiments/spent","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":8},"funnel":{"visitors":7},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[{"name":"for the full history","price":{"amount":900,"currency":"EUR"},"kind":"one_time"}],"log":[{"at":"2026-08-25T09:00:00.000Z","body":"launched — drop a calendar export, get thirty days back as a statement"},{"at":"2026-08-25T09:00:00.000Z","body":"the calendar is read in the browser and never uploaded; there is no server that could hold it"},{"at":"2026-08-25T09:00:00.000Z","body":"classification is deterministic first — a model sees only the titles of commitments no rule could place, and only if you let it"},{"at":"2026-08-25T09:00:00.000Z","body":"€9 for the whole history instead of a month"},{"at":"2026-08-25T14:00:00.000Z","body":"one click instead of a calendar export — connect Google, approve, results, with the token issued to the page and handed straight back"},{"at":"2026-08-25T14:00:00.000Z","body":"declined meetings, meeting rooms and holiday feeds are thrown away before anything is counted"},{"at":"2026-08-27T09:00:00.000Z","body":"staged: the calendar file is the whole product, and the one-click connection waits behind Google’s review rather than holding the experiment up"}],"tags":["tool","paid","privacy"],"kind":"tool","does":"Drop in a month of your calendar. Read it back as a statement of where the hours actually went.","who":"For anyone whose week is booked solid and cannot say by what.","cta":"Read your month","image":"/api/experiments/spent/image","price":{"amount":{"amount":900,"currency":"EUR"},"name":"for the full history","kind":"one_time"}},{"id":"exp-0016","slug":"sieve","name":"Sieve","tagline":"Type a website address and find out where it is losing customers.","question":"Will a stranger pay €19 to see the rest of a report a machine wrote about their own website?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":36,"launchedAt":"2026-08-24T10:00:00.000Z","createdAt":"2026-08-24T10:00:00.000Z","liveUrl":"/experiments/sieve","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":8},"funnel":{"visitors":11,"activations":4},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[{"name":"for the full report","price":{"amount":1900,"currency":"EUR"},"kind":"one_time"}],"log":[{"at":"2026-08-24T10:00:00.000Z","body":"launched — a URL field, thirty-five deterministic checks, and a written review on top"},{"at":"2026-08-24T10:00:00.000Z","body":"no revenue estimates anywhere: the scanner cannot see your traffic, so it does not pretend to"},{"at":"2026-08-24T10:00:00.000Z","body":"crawls five pages, obeys robots.txt, refuses private address space"},{"at":"2026-08-24T10:00:00.000Z","body":"first real price in the portfolio: €19 for one report, charged through Stripe"}],"tags":["tool","saas","paid","seo"],"kind":"tool","does":"Type in a website address. A free scan comes back with where it is losing customers.","who":"For anyone who runs a site and suspects the leak is somewhere obvious.","cta":"Scan a site","image":"/api/experiments/sieve/image","price":{"amount":{"amount":1900,"currency":"EUR"},"name":"for the full report","kind":"one_time"},"steps":[{"name":"scan_started","label":"Started a scan","value":2},{"name":"paywall_view","label":"Reached the paid half","value":2}]},{"id":"exp-0015","slug":"hold-the-note","name":"Hold the Note","tagline":"A melody that refuses to continue until you sing the note.","question":"Will people keep singing at a page that will not let them move on until they are in tune?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":38,"launchedAt":"2026-08-22T09:00:00.000Z","createdAt":"2026-08-22T09:00:00.000Z","liveUrl":"/experiments/hold-the-note","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{"visitors":7},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[{"name":"for a melody pack","price":{"amount":300,"currency":"EUR"},"kind":"one_time"}],"log":[{"at":"2026-08-22T09:00:00.000Z","body":"launched — six melodies, four tolerances, notes and hertz on screen"},{"at":"2026-08-22T09:00:00.000Z","body":"no recording, no upload: the microphone never leaves the page"},{"at":"2026-08-22T11:00:00.000Z","body":"funnel wired to first-party counters — the numbers on this page are now measured"},{"at":"2026-08-22T11:00:00.000Z","body":"added a €3 price probe for a pack that does not exist, labelled as such"}],"tags":["tool","audio","free"],"kind":"game","does":"A melody that stops and waits until you sing the note in tune. Then it continues.","who":"For anyone who sings in the car and wonders if they are in tune.","cta":"Sing it","image":"/api/experiments/hold-the-note/image","price":{"amount":{"amount":300,"currency":"EUR"},"name":"for a melody pack","kind":"one_time"}},{"id":"exp-0011","slug":"built-from-a-phone","name":"Built From a Phone","tagline":"A terminal, an agent, a deploy pipeline, and no laptop.","question":"How much of a real product can be built and shipped without opening an IDE?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":147,"launchedAt":"2026-05-04T17:00:00.000Z","createdAt":"2026-05-04T17:00:00.000Z","liveUrl":"/experiments/i-built-a-game-from-my-phone","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T17:00:00.000Z","body":"published — the full phone-only setup"}],"tags":["essay","free"],"kind":"essay","does":"The story of a 2D Godot game built and shipped from a phone terminal, without opening a laptop.","who":"For anyone building in the pockets of time between everything else.","cta":"Read it","image":"/api/experiments/i-built-a-game-from-my-phone/image"},{"id":"exp-0003","slug":"instruction-elasticity","name":"Instruction Elasticity Index","tagline":"How far five frontier models bend before they break, measured every week.","question":"What actually happens to a model when you take the scaffolding away?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":148,"launchedAt":"2026-05-04T11:00:00.000Z","createdAt":"2026-05-04T11:00:00.000Z","liveUrl":"/experiments/instruction-elasticity","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T11:00:00.000Z","body":"launched — first elasticity run across 5 models"},{"at":"2026-05-25T11:00:00.000Z","body":"weekly cadence established; results committed to the repo"},{"at":"2026-08-16T11:00:00.000Z","body":"benchmark still running — week 33 committed"}],"tags":["benchmark","weekly","free"],"kind":"report","does":"Five frontier models run the same tasks at four levels of prompt scaffolding, every week: how far each bends before it breaks.","who":"For anyone writing prompts and wondering how much of it matters.","cta":"See the results"},{"id":"exp-0012","slug":"subscribe-to-nothing","name":"Subscribe to Nothing","tagline":"A paid subscription that delivers, and has always delivered, nothing.","question":"Will strangers pay monthly for something that explicitly provides no goods or services?","statusLabel":"LIVE","alive":true,"dead":false,"graduated":false,"day":148,"launchedAt":"2026-05-04T08:00:00.000Z","createdAt":"2026-05-04T08:00:00.000Z","liveUrl":"/subscribe","bet":{"budget":{"amount":0,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":false,"offers":[{"name":"a month, for nothing","price":{"amount":500,"currency":"EUR"},"kind":"subscription"}],"log":[{"at":"2026-05-04T08:00:00.000Z","body":"launched — the original experiment"},{"at":"2026-05-04T08:00:00.000Z","body":"four tiers published, all delivering nothing"}],"tags":["commerce","origin","paid"],"kind":"product","does":"A monthly subscription that delivers nothing, on purpose. The money funds the experiments on this page.","who":"For anyone who would rather fund the process than buy a perk.","cta":"See the tiers","price":{"amount":{"amount":500,"currency":"EUR"},"name":"a month, for nothing","kind":"subscription"}},{"id":"exp-0013","slug":"make-interesting","name":"Make Interesting","tagline":"Daily social drafts in your voice, from the signal you already read.","question":"Would founders pay for posts drafted from the discourse they already follow?","statusLabel":"GRADUATED","alive":false,"dead":false,"graduated":true,"day":104,"launchedAt":"2026-05-04T18:00:00.000Z","createdAt":"2026-05-04T18:00:00.000Z","liveUrl":"/make-interesting","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"DOUBLE_DOWN","decisionRationale":"Enough demand to stand on its own surface and its own billing.","graduatedTo":{"name":"Make Interesting","url":"/make-interesting"},"featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T18:00:00.000Z","body":"launched as an experiment inside the playground"},{"at":"2026-05-11T18:00:00.000Z","body":"first portal users onboarded by hand"},{"at":"2026-08-16T00:00:00.000Z","body":"graduated — own surface, own billing, own roadmap"},{"at":"2026-09-07T00:00:00.000Z","body":"on ice — not taking users while the studio focuses on essays and a few experiments; nothing deleted, nothing charged"}],"tags":["product","paid","graduated","on-ice"],"kind":"product","does":"Drop in a URL. Every morning, social posts drafted in your voice from the day’s discourse, ready to approve.","who":"For founders who should post and never find the hour."},{"id":"exp-0026","slug":"on-me","name":"On Me","tagline":"One photo in, and eight ordinary garments come back — four on a model, four on you, shuffled and never side by side. The page counts which ones you said you would wear.","question":"When a stranger sees a garment on themselves instead of on a model, does the proportion who say they would wear it change — and by how much?","statusLabel":"BUILDING","alive":false,"dead":false,"graduated":false,"createdAt":"2026-08-30T19:00:00.000Z","bet":{"budget":{"amount":2000,"currency":"EUR"},"timeboxHours":336},"funnel":{"activations":2},"hasFinancials":false,"decision":"UNDECIDED","featured":false,"instrumented":true,"offers":[{"name":"for the full sheet","price":{"amount":500,"currency":"EUR"},"kind":"one_time"}],"log":[{"at":"2026-08-30T19:00:00.000Z","body":"the idea arrived as Dress Me, a visual personal-style compiler: 3–8 photos, twelve looks across seven occasions, transformations, and a €250 basket built from live retail and second-hand inventory. It tripped both of the conditions /validate-idea says to stop on, so most of it was cut before anything was built"},{"at":"2026-08-30T19:00:00.000Z","body":"the arithmetic that did the cutting: the free tier generated images per visitor, so cost rose with success against a €20 ceiling. At any per-image price between €0.02 and €0.15, eight looks each buys between 16 and 125 visitors — and the comparable kill condition in this portfolio is 300. The instrument could not reach the reading it existed to take"},{"at":"2026-08-30T19:00:00.000Z","body":"the basket builder needed live inventory and affiliate approval from companies who have agreed to nothing, which is the second stop condition. Deleted rather than deferred politely"},{"at":"2026-08-30T19:00:00.000Z","body":"kill condition set before the build: 300 visitors, and the personalised arm must beat the model arm by at least 20 percentage points on \"I’d wear this\". Below that, the claim that personal simulation beats recommendation is not worth building a wardrobe engine on, and we say so plainly"},{"at":"2026-08-30T19:40:00.000Z","body":"built: one page, four routes, eight garments fixed in version control, four generations per visitor behind a €15 ceiling enforced in code, and a €5 checkout on the Sieve pattern. No dependency was added — the provider was already in the manifest"},{"at":"2026-08-30T19:40:00.000Z","body":"the control arm changed during the build. It was going to be stock photography and is now generated by the same renderer from the same prompt with only the body swapped, because photographing one arm and generating the other confounds the comparison with a second difference and leaves it unable to say which one moved the verdict"},{"at":"2026-08-30T19:40:00.000Z","body":"the tests caught the spend ceiling failing: the in-memory fallback incremented the counter and then refused the claim without handing the money back, so a deployment without Redis would have climbed past €15 and locked itself shut early. This is the first page here whose marginal cost rises with success, so that guard is the reason it is allowed to exist at all"},{"at":"2026-08-30T19:55:00.000Z","body":"not verified, and recorded rather than smoothed over: the sandbox this was built in cannot reach the image provider — 403 on CONNECT, no key — so not one image was generated during the build. The renderer is written against the API contract and has never run"},{"at":"2026-08-30T19:55:00.000Z","body":"no attention ask is declared, so it reads UNDECLARED. The page wants to claim 90 seconds at `memorable`, and seeing yourself in clothes you never put on is memorable if it works and faintly insulting if it half-works. That claim cannot be made from a brief, so distribution is held until a human runs the likeness on five faces. If it does not obviously read as them, this dies at build cost"}],"tags":["images","identity","control-arm","paid","consent"],"kind":"tool","does":"One photo of you. Eight ordinary garments come back, four on a model and four on you, and the page counts which you would wear.","who":"For anyone who has never once looked like the model.","price":{"amount":{"amount":500,"currency":"EUR"},"name":"for the full sheet","kind":"one_time"},"steps":[{"name":"photo_submitted","label":"Put themselves in it","value":2}]},{"id":"exp-0010","slug":"signal-weather","name":"Signal Weather","tagline":"A daily map of what is loud, what is early, and what is about to collide.","question":"Can the day’s discourse be plotted rather than summarised?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":110,"launchedAt":"2026-05-20T09:00:00.000Z","createdAt":"2026-05-20T09:00:00.000Z","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. A daily chart of the discourse that nobody measurably looked at; retired with the rest of the scheduled social output.","causeOfDeath":"Not enough engagement. A daily chart of the discourse that nobody measurably looked at; retired with the rest of the scheduled social output.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-20T09:00:00.000Z","body":"launched — signal map and trend-collision modes"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement; the daily cron and its automated posts are retired"}],"tags":["generated-media","daily","internal"],"kind":"internal","does":"A daily map of the discourse: what is loud, what is early, what is about to collide. Runs inside the studio.","who":"For the people running this place."},{"id":"exp-0008","slug":"ai-deas","name":"AI-deas","tagline":"One buildable product idea a day, generated from the raw signal pool.","question":"Can the same signal pipeline that summarises the day also propose something worth building from it?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":119,"launchedAt":"2026-05-11T09:00:00.000Z","createdAt":"2026-05-11T09:00:00.000Z","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. The ideas fed a queue nobody was drawing from, and the daily posts that carried them are retired with the rest of the scheduled output.","causeOfDeath":"Not enough engagement. The ideas fed a queue nobody was drawing from, and the daily posts that carried them are retired with the rest of the scheduled output.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-11T09:00:00.000Z","body":"launched — daily idea generated from fresh signals"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement; the daily cron and its automated posts are retired"}],"tags":["daily","agent","internal"],"kind":"internal","does":"One buildable product idea a day, generated from the studio’s signal pool. It feeds the idea queue here.","who":"For the people running this place."},{"id":"exp-0014","slug":"mutation-observer","name":"Mutation Observer","tagline":"A landing page that rewrites itself and grades its own conversions.","question":"Can an agent measure whether its own copy changes moved conversion?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"createdAt":"2026-05-04T19:00:00.000Z","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Never left the idea. It sat on the experiments page marked \"coming soon\" for three months, which is its own kind of result: the traffic was never going to be enough to attribute anything.","causeOfDeath":"Never left the idea. It sat on the experiments page marked \"coming soon\" for three months, which is its own kind of result: the traffic was never going to be enough to attribute anything.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T19:00:00.000Z","body":"listed publicly as coming soon"},{"at":"2026-08-16T00:00:00.000Z","body":"returned to nothing — never built"}],"tags":["instrumentation"],"kind":"internal","does":"A landing page that rewrote its own copy and graded its own conversions.","who":"For the people running this place."},{"id":"exp-0009","slug":"micro-break","name":"Micro-Break","tagline":"The gap between what people wanted and what they got, in two lines.","question":"Does a stated contradiction outperform a stated insight?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":126,"launchedAt":"2026-05-04T16:00:00.000Z","createdAt":"2026-05-04T16:00:00.000Z","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. Two-line hooks went out every day for four months without a measured reader, and the pipeline behind them is on ice with the portal.","causeOfDeath":"Not enough engagement. Two-line hooks went out every day for four months without a measured reader, and the pipeline behind them is on ice with the portal.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T16:00:00.000Z","body":"launched — three ranked hooks a day, top one published"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement; the daily cron and its automated posts are retired"}],"tags":["distribution","daily","internal"],"kind":"internal","does":"Two-line posts on the gap between what people wanted and what they got. A distribution test run from inside the studio.","who":"For the people running this place."},{"id":"exp-0007","slug":"code-of-laws","name":"Code of Laws","tagline":"A day of AI discourse, compressed into one law.","question":"Can a day of HN, Reddit and arXiv be compressed to a single sentence that still means something?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":126,"launchedAt":"2026-05-04T15:00:00.000Z","createdAt":"2026-05-04T15:00:00.000Z","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. One law a day went out to every connected network for four months without a measured reader — and the studio has stopped scheduled social output altogether.","causeOfDeath":"Not enough engagement. One law a day went out to every connected network for four months without a measured reader — and the studio has stopped scheduled social output altogether.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T15:00:00.000Z","body":"launched — one Law of AI per day"},{"at":"2026-05-04T15:10:00.000Z","body":"every law ships with its sources so it can be checked"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement; the daily cron and its automated posts are retired"},{"at":"2026-09-26T00:00:00.000Z","body":"archived — the page and its feed are taken down; this record and the JSON archive at /api/experiments/laws/archive stay"}],"tags":["daily","agent","free"],"kind":"feed","does":"Every day at 14:00 UTC, the day’s AI discourse from Hacker News, Reddit and arXiv, compressed into one law.","who":"For anyone who wants the day’s argument in one sentence.","cta":"Read today’s law","image":"/api/experiments/laws/image"},{"id":"exp-0006","slug":"llm-price-volatility","name":"LLM Price Volatility","tagline":"What a million tokens cost, tracked until the line stops falling.","question":"Is the collapse in model pricing a smooth curve or a series of cliffs?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":126,"launchedAt":"2026-05-04T14:00:00.000Z","createdAt":"2026-05-04T14:00:00.000Z","liveUrl":"/experiments/llm-price-volatility","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. The chart was cheap to keep and nobody visibly cited it; the studio would rather write the essay than maintain the reference.","causeOfDeath":"Not enough engagement. The chart was cheap to keep and nobody visibly cited it; the studio would rather write the essay than maintain the reference.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T14:00:00.000Z","body":"launched — historical $/1M token chart"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement"}],"tags":["data","weekly","free"],"kind":"report","does":"The price of a million tokens across frontier models, charted since 2021 on a log scale and updated weekly.","who":"For anyone budgeting for AI, or betting on where the price goes.","cta":"See the chart","image":"/api/experiments/llm-price-volatility/image"},{"id":"exp-0005","slug":"voidle","name":"Voidle","tagline":"A puzzle game where growth is the failure mode. Achieve nothing.","question":"Will people play a game whose explicit goal is to end up with nothing?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":126,"launchedAt":"2026-05-04T13:00:00.000Z","createdAt":"2026-05-04T13:00:00.000Z","liveUrl":"/experiments/voidle","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. Four months up, unmeasured, and nobody visibly came back to play it.","causeOfDeath":"Not enough engagement. Four months up, unmeasured, and nobody visibly came back to play it.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T13:00:00.000Z","body":"launched — 5 levels of psychological deception"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement"}],"tags":["game","free"],"kind":"game","does":"A sliding-tile puzzle played backwards: merge tiles past a threshold and they vanish. Empty the board to win.","who":"For anyone with five minutes and a 2048 habit.","cta":"Play"},{"id":"exp-0004","slug":"velocity-cards","name":"Velocity Cards","tagline":"Repositories heating up, rendered as something you would actually post.","question":"Is \"this repo is accelerating\" a more interesting unit of content than \"this repo is popular\"?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":126,"launchedAt":"2026-05-04T12:00:00.000Z","createdAt":"2026-05-04T12:00:00.000Z","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. Its daily card existed to feed the Signal from the Void post, and it drew no measurable attention of its own; it goes with the cron that produced it.","causeOfDeath":"Not enough engagement. Its daily card existed to feed the Signal from the Void post, and it drew no measurable attention of its own; it goes with the cron that produced it.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T12:00:00.000Z","body":"launched — daily momentum cards, three formats"},{"at":"2026-05-18T12:00:00.000Z","body":"scoring model published so the ranking can be argued with"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement; the daily card went with the Signal cron"},{"at":"2026-09-26T00:00:00.000Z","body":"archived — the page and the /velocity surface are taken down; this record stays"}],"tags":["generated-media","daily","free"],"kind":"feed","does":"Repositories gaining speed on GitHub, rendered daily as cards you could post. Acceleration, not popularity.","who":"For anyone who wants to see what is about to be popular, not what already is.","cta":"See today’s cards"},{"id":"exp-0002","slug":"the-replacement-index","name":"The Replacement Index","tagline":"Twelve questions, four axes, sixteen ways to be worried about your job.","question":"Will developers hand twelve honest answers to a stranger to find out how replaceable they are?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":126,"launchedAt":"2026-05-04T10:00:00.000Z","createdAt":"2026-05-04T10:00:00.000Z","liveUrl":"/experiments/the-replacement-index","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. Four months on the site without a measured funnel and without a share that anyone traced back to it.","causeOfDeath":"Not enough engagement. Four months on the site without a measured funnel and without a share that anyone traced back to it.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T10:00:00.000Z","body":"launched — 12 questions, zero data stored"},{"at":"2026-05-04T10:05:00.000Z","body":"decision made not to gate results behind an email"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement"}],"tags":["quiz","free","shareable"],"kind":"quiz","does":"Twelve scenario questions map you to one of sixteen developer archetypes, with the blind spots that come with each.","who":"For developers wondering, honestly, how replaceable they are.","cta":"Take the quiz"},{"id":"exp-0001","slug":"signal-from-the-void","name":"Signal from the Void","tagline":"One developer insight a day, extracted from whatever GitHub is quietly obsessed with.","question":"Can an agent read the whole trending page every day and find one thing worth saying?","statusLabel":"RETURNED TO NOTHING","alive":false,"dead":true,"graduated":false,"day":126,"launchedAt":"2026-05-04T09:00:00.000Z","createdAt":"2026-05-04T09:00:00.000Z","bet":{"budget":{"amount":2000,"currency":"EUR"}},"funnel":{},"hasFinancials":false,"decision":"KILL","decisionRationale":"Not enough engagement. It posted a daily insight to every connected network for four months, unmeasured, to an audience that never visibly grew — and the studio has stopped scheduled social output altogether.","causeOfDeath":"Not enough engagement. It posted a daily insight to every connected network for four months, unmeasured, to an audience that never visibly grew — and the studio has stopped scheduled social output altogether.","featured":false,"instrumented":false,"offers":[],"log":[{"at":"2026-05-04T09:00:00.000Z","body":"launched — first daily scan of GitHub trending"},{"at":"2026-05-04T09:30:00.000Z","body":"reasoning trace made public alongside every signal"},{"at":"2026-05-11T09:00:00.000Z","body":"velocity card snapshots attached to each signal"},{"at":"2026-09-07T00:00:00.000Z","body":"returned to nothing — not enough engagement; the daily cron and its automated posts are retired"},{"at":"2026-09-26T00:00:00.000Z","body":"archived — the page and its feed are taken down; this record and the JSON archive at /api/experiments/signal/archive stay"}],"tags":["daily","agent","free"],"kind":"feed","does":"Every day at 05:00 UTC an agent reads GitHub’s trending page and publishes the one thing worth saying about it.","who":"For anyone who wants the trending page read for them.","cta":"Read today’s signal","image":"/api/experiments/signal/image"}],"featured":"exp-0018","total":32,"hasMore":false,"portfolio":{"attempted":32,"alive":20,"dead":10,"graduated":1,"forming":1,"spent":{},"earned":{},"net":{"amount":0,"currency":"EUR"},"hasFinancialData":false,"paysForItself":false}}