[{"data":1,"prerenderedAt":202},["ShallowReactive",2],{"project:foreshore":3,"projects:all:any":71},{"id":4,"documentId":5,"title":6,"slug":7,"type":8,"status":9,"headline":10,"description":11,"thumbnail":12,"images":19,"landingVideo":20,"techStack":21,"url":20,"githubUrl":20,"year":36,"featured":37,"client":20,"challenge":38,"solution":39,"comparison":40,"pricing":55,"closing":66,"createdAt":69,"updatedAt":70,"publishedAt":70},3,"foreshore-003","Foreshore","foreshore","app","in-progress","Get good at doing nothing: a calm app for a few phone-free minutes a day.","Foreshore is a phone app for doing nothing on purpose. Pick a length and something plain to look at, like a wall, the ceiling or the sky, then put the phone face down. The screen fades to near-black and buzzes when time is up, and a pebble drops onto your shore. Streaks, levels and a home-screen widget help you come back tomorrow. Android comes first, with iPhone to follow.",{"id":13,"documentId":14,"url":15,"alternativeText":16,"width":17,"height":18},1003,"foreshore-icon","\u002Fproducts\u002Fforeshore.jpg","Foreshore icon: a pale pebble resting on a dark stone disc",1600,933,[],null,[22,25,27,30,32,34],{"name":23,"category":24},"Expo","mobile",{"name":26,"category":24},"React Native",{"name":28,"category":29},"TypeScript","frontend",{"name":31,"category":24},"Reanimated",{"name":33,"category":29},"Zustand",{"name":35,"category":24},"WidgetKit",2026,true,"Most of us pick up a phone the moment there's nothing to do: in a queue, on the couch, in bed. Before long, even a minute of boredom feels hard to sit through. Meditation apps can help, but many want a subscription and fill the quiet with someone talking.","Foreshore makes doing nothing easy to repeat. Start with a few minutes. Every sit leaves a pebble on your shore, sized by how long you sat, so the quiet adds up where you can see it. Your streak survives one missed day a week, and the one daily reminder skips itself if you've already sat. No account, no ads and no data collection: everything stays on your phone.",{"oldLabel":41,"newLabel":6,"rows":42},"Typical meditation app",[43,47,51],{"aspect":44,"oldWay":45,"ours":46},"What you do","Follow a guided audio session","Sit and look at something plain, with nothing to listen to",{"aspect":48,"oldWay":49,"ours":50},"Price","A monthly or yearly subscription","$5 once, after three days free",{"aspect":52,"oldWay":53,"ours":54},"Your data","An account on their servers","No account. Everything stays on your phone",{"tiers":56,"cta":65},[57,61],{"name":58,"price":59,"description":60},"Free trial","3 days","The whole app, free for three days. No account and no card needed.",{"name":62,"price":63,"description":64},"Pay once","$5","Keep Foreshore for good with one payment. No subscription and no ads.","Email me when Foreshore launches",{"headline":67,"cta":68},"Get good at doing nothing.","Join the Foreshore launch list","2026-09-02T00:00:00.000Z","2026-09-15T00:00:00.000Z",[72,144,3],{"id":73,"documentId":74,"title":75,"slug":76,"type":77,"status":9,"headline":78,"description":79,"thumbnail":80,"images":86,"landingVideo":20,"techStack":87,"url":20,"githubUrl":20,"year":36,"featured":37,"client":20,"challenge":105,"solution":106,"comparison":107,"pricing":130,"closing":140,"createdAt":143,"updatedAt":70,"publishedAt":143},2,"lately-002","Lately","lately","web-app","Should you buy it? Get one verdict from recent owners, with a link to every quote.","Lately answers one question: should you buy it? Name a product and Lately reads what owners have posted in the last few weeks on Bluesky, YouTube and the open web. You get a verdict (Buy, Wait, Skip or It depends), a sentence on why, and the quotes behind it, each linked to the original post. Follow a product and Lately emails you when owners change their minds.",{"id":81,"documentId":82,"url":83,"alternativeText":84,"width":17,"height":85},1002,"lately-mark","\u002Fproducts\u002Flately.svg","Lately mark: three owner quotes resolving into a single verdict",900,[],[88,90,91,94,96,98,101,103],{"name":89,"category":29},"Next.js 14",{"name":28,"category":29},{"name":92,"category":93},"Python","backend",{"name":95,"category":93},"FastAPI",{"name":97,"category":93},"PostgreSQL",{"name":99,"category":100},"Redis","infrastructure",{"name":102,"category":93},"Stripe",{"name":104,"category":100},"Docker","Search for reviews and you get affiliate roundups, sponsored videos and posts from years ago. The honest opinions from people who own the thing are out there, but they're scattered across threads and comment sections. And nobody tells you when a product that used to be good quietly gets worse.","Lately does the reading for you. It weighs what recent owners love against what they regret and turns that into a verdict you can check, because every quote links back to its source. Nothing is sponsored and there are no affiliate links. Once you have your answer, follow the product and Lately keeps watching, so you hear about it when the verdict shifts.",{"oldLabel":108,"newLabel":75,"rows":109},"Searching for reviews",[110,114,118,122,126],{"aspect":111,"oldWay":112,"ours":113},"Sources","Whichever reviewer ranks first","Recent owners on Bluesky, YouTube and the open web",{"aspect":115,"oldWay":116,"ours":117},"Freshness","Whatever ranks in search, however old","Posts from the last few weeks",{"aspect":119,"oldWay":120,"ours":121},"The answer","Ten open tabs and a guess","One verdict: Buy, Wait, Skip or It depends",{"aspect":123,"oldWay":124,"ours":125},"Trust","Affiliate links and sponsored reviews","Nothing sponsored, and every quote links to its source",{"aspect":127,"oldWay":128,"ours":129},"Later on","Search again from scratch","An email when the verdict changes",{"tiers":131,"cta":139},[132,135],{"name":133,"price":20,"description":134},"Free","Ask up to 15 questions a day. Follow one product, and Lately checks it once a week.",{"name":136,"price":137,"description":138},"Plus","A$15\u002Fmonth","Follow as many products as you like, checked every day. Deep Review reads twice the evidence and adds Hacker News and GitHub. Catch Up timestamps the moments that matter in review videos. Up to 100 questions a day. Cancel anytime.","Email me when Lately launches",{"headline":141,"cta":142},"Know what owners think before you spend the money.","Join the Lately launch list","2026-01-01T00:00:00.000Z",{"id":145,"documentId":146,"title":147,"slug":148,"type":77,"status":9,"headline":149,"description":150,"thumbnail":20,"images":151,"landingVideo":20,"techStack":152,"url":20,"githubUrl":20,"year":36,"featured":37,"client":20,"challenge":163,"solution":164,"comparison":165,"pricing":188,"closing":198,"createdAt":201,"updatedAt":201,"publishedAt":201},5,"wikipar-005","WikiPar","wikipar","Roll two Wikipedia articles and race the links. Fewest clicks wins.","WikiPar deals two Wikipedia articles, or you name your own, then you get from one to the other in as few clicks as you can. The opening page is free. Every link after that counts. When you stop, WikiPar scores how close you came to the shortest path, which it counts while you play and keeps hidden until you reveal it. Pass the phone and add players at the table, or host a room with a code and a shared clock.",[],[153,155,157,158,160,161],{"name":154,"category":29},"TanStack Start",{"name":156,"category":29},"React",{"name":28,"category":29},{"name":159,"category":29},"Tailwind CSS",{"name":97,"category":93},{"name":162,"category":93},"Better Auth","Getting from one Wikipedia article to another in as few clicks as possible is an old party game, and it falls apart as soon as you want a fair score. Nobody knows the shortest path, so the person who wandered can still win the argument. Setting it up means naming two articles, finding a timer, and a lot of tab switching.","WikiPar deals the pair, or you name your own. You race the links in the article itself, and every Wikipedia link is a click. The shortest trail is counted while you play and stays hidden until you ask to see it, then you're scored against it: dead on, one over, and so on. Add players on the same phone, or open a room with a code and a shared clock. A host pass is one payment. Everyone else joins free.",{"oldLabel":166,"newLabel":147,"rows":167},"The Wikipedia game, by hand",[168,172,176,180,184],{"aspect":169,"oldWay":170,"ours":171},"The pair","Someone has to name two articles","Roll the dice, or name your own",{"aspect":173,"oldWay":174,"ours":175},"The race","Open tabs and a stopwatch","Click through the article. The opening page is free",{"aspect":177,"oldWay":178,"ours":179},"The score","Argue about who took the shorter path","Scored against the shortest trail, hidden until you reveal it",{"aspect":181,"oldWay":182,"ours":183},"At the table","One phone, one person","Add players and pass the phone",{"aspect":185,"oldWay":186,"ours":187},"A room","A group chat and a timer","A room code and a shared clock. Everyone else joins free",{"tiers":189,"cta":197},[190,193],{"name":191,"price":133,"description":192},"Play","Roll combos, name your own, and score at the table. Add players on the same phone.",{"name":194,"price":195,"description":196},"Host pass","A$12 once","A private deck of saved combos, a room code, and a shared clock. Everyone else joins free.","Email me when WikiPar launches",{"headline":199,"cta":200},"Roll two articles. See how close you can get.","Join the WikiPar launch list","2026-10-09T00:00:00.000Z",1791954751495]