{"slug": "cloudflare-d1", "name": "Cloudflare D1", "category": "databases", "category_name": "Databases", "description": "Cloudflare's serverless SQLite-based database for Workers and Pages applications.", "recommenders": 5, "commenters": 10, "warners": 0, "score": 6.007, "rising": 1.02, "first": "2026-01-26", "latest": "2026-10-28", "why": "HN commenters use it as the database for side projects and small apps built on Cloudflare Workers and Pages, often staying on the free plan or paying about $5 a month.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 5, "neutral": 5, "compare": 0, "warn": 0}, "spark": [0, 0, 1, 0, 0, 0, 1, 0, 1, 2, 0, 0], "listed": true, "loved": ["Cloudflare integration", "Low cost"], "caveat": "Timeouts", "short_quote": "use D1 Database and Cloudflare KV to replace Redis", "icon": true, "domain": null, "github_repo": null, "official_url": "https://developers.cloudflare.com/d1/", "pricing": "freemium", "aliases": ["Cloudflare D1"], "verdict": [{"text": "HN commenters use it as the database for side projects and small apps built on Cloudflare Workers and Pages,", "cites": [{"id": 790296306, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "D1 is database", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "database", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 790330451, "item_id": 49395653, "url": "https://news.ycombinator.com/item?id=49395653", "by": "simondanerd", "date": "2026-08-22", "stance": "recommend", "quote": "with D1 as a database when needed", "excerpt": "Cloudflare tunnels for stuff requiring an actual machine. Cloudflare or Netlify Pages for static projects (with D1 as a database when needed).", "context": "", "use_case": "database for static projects", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 782726226, "item_id": 48920389, "url": "https://news.ycombinator.com/item?id=48920389", "by": "ddyy", "date": "2026-07-15", "stance": "neutral", "quote": "It runs on Cloudflare Workers + D1 for DB", "excerpt": "Hi HN, The invoicing SaaS I was using to bill my clients raised its credit card processing fee to 6.9% for free accounts (4% on top of Stripe's 2.9% + 30c fee), so I decided to build my own to fit my minimal needs, hence I called it Minvoice. It runs on Cloudflare Workers + D1 for DB, it should easily be within their free tier for most use cases. The application is built on Hono server-rendered JSX with no client fra", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Minvoice \u2013 invoicing app that runs on Cloudflare Workers and D1"}, {"id": 751105250, "item_id": 46944078, "url": "https://news.ycombinator.com/item?id=46944078", "by": "tryanythingonce", "date": "2026-02-09", "stance": "neutral", "quote": "Cloudflare Pages + D1 for the leaderboard", "excerpt": "My daughter drew a word puzzle game on paper \u2014 rules, name, game board, everything. We built it into a real daily puzzle over a weekend. It's a word chain: each word starts with the last letter of the previous one, climbing from 3 to 7 letters in a pizza-slice shape. Certain letters are locked in each day (pepperoni) so every puzzle is different. Scrabble-style scoring with row multipliers. Stack: vanilla JS (no fram", "context": "", "use_case": "leaderboard database", "switched_from": "", "story": "A daily word puzzle my 9-year-old daughter designed"}, {"id": 785532545, "item_id": 49095784, "url": "https://news.ycombinator.com/item?id=49095784", "by": "mintflow", "date": "2026-07-29", "stance": "recommend", "quote": "comments are stored in Cloudflare D1", "excerpt": "Great idea. Recently, I\u2019ve decided to get back into blogging. It\u2019s surprisingly easy these days. I already have a domain on Cloudflare, and I had Codex build a simple blogging system for me. I write everything in Markdown, the site is hosted on Cloudflare, comments are stored in Cloudflare D1, and all articles live in the repository as Markdown files. GitHub Actions takes care of publishing automatically and also per", "context": "", "use_case": "blog comment storage", "switched_from": "", "story": "Substack writers, you need a website"}]}, {"text": " often staying on the free plan or paying about $5 a month.", "cites": [{"id": 790296306, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "D1 is database", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "database", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 782726226, "item_id": 48920389, "url": "https://news.ycombinator.com/item?id=48920389", "by": "ddyy", "date": "2026-07-15", "stance": "neutral", "quote": "It runs on Cloudflare Workers + D1 for DB", "excerpt": "Hi HN, The invoicing SaaS I was using to bill my clients raised its credit card processing fee to 6.9% for free accounts (4% on top of Stripe's 2.9% + 30c fee), so I decided to build my own to fit my minimal needs, hence I called it Minvoice. It runs on Cloudflare Workers + D1 for DB, it should easily be within their free tier for most use cases. The application is built on Hono server-rendered JSX with no client fra", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Minvoice \u2013 invoicing app that runs on Cloudflare Workers and D1"}, {"id": 804302161, "item_id": 50268885, "url": "https://news.ycombinator.com/item?id=50268885", "by": "packeted", "date": "2026-10-28", "stance": "neutral", "quote": "I use D1 for my database", "excerpt": "I went with Cloudflare, primarily because I was already using it for a few other projects but I've been incredibly impressed with how it's scaled. I use D1 for my database, Workers for the API and schedule tasks (including using Claude API to pre-review images and submissions), R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images. I use Clerk for auth. Wild that it costs $5/month to serve tho", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you"}]}, {"text": " Caveats are few but include occasional timeout hiccups", "cites": [{"id": 797851522, "item_id": 49865720, "url": "https://news.ycombinator.com/item?id=49865720", "by": "stevefan1999", "date": "2026-09-27", "stance": "neutral", "quote": "Cloudflare, unfortunately, sometimes have hiccups on D1 and KV with timeout", "excerpt": "I indirectly use TLA+ through https://github.com/quint-co/quint. I added instructions that \"before you implement any feature, please use Quint to model it and make sure no counterexample for the system as a whole, reiterate the design with Quint as well and make sure your documents and implementation follows the formal model and docs\". The result, while takes much longer, is quite magical. A lot of transaction and at", "context": "", "use_case": "", "switched_from": "", "story": "The internet discovers TLA+. Now what?"}]}, {"text": " and unspecified limitations of its distributed SQLite design.", "cites": [{"id": 793752753, "item_id": 49609547, "url": "https://news.ycombinator.com/item?id=49609547", "by": "snorremd", "date": "2026-09-08", "stance": "neutral", "quote": "Cloudflare D1, the distributed SQLite based database, have its limitations.", "excerpt": "Before I went European sovereign for my own personal stack I used Cloudflare for hosting static and somewhat dynamic websites and it has become really nice the later years. There is almost no mention of \"regions\" in Cloudflare. Your content and code runs globally by default. With traditional clouds you need to think about how you distribute your application. At least that is my experience. Maybe they provide global C", "context": "", "use_case": "serverless database", "switched_from": "", "story": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare"}]}], "praise": [{"label": "Cloudflare integration", "summary": "Pairs easily with Workers, Pages, R2 and KV as the database layer of an all-Cloudflare stack.", "quotes": [{"id": 790296306, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "D1 is database", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "database", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 782726226, "item_id": 48920389, "url": "https://news.ycombinator.com/item?id=48920389", "by": "ddyy", "date": "2026-07-15", "stance": "neutral", "quote": "It runs on Cloudflare Workers + D1 for DB", "excerpt": "Hi HN, The invoicing SaaS I was using to bill my clients raised its credit card processing fee to 6.9% for free accounts (4% on top of Stripe's 2.9% + 30c fee), so I decided to build my own to fit my minimal needs, hence I called it Minvoice. It runs on Cloudflare Workers + D1 for DB, it should easily be within their free tier for most use cases. The application is built on Hono server-rendered JSX with no client fra", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Minvoice \u2013 invoicing app that runs on Cloudflare Workers and D1"}, {"id": 804302161, "item_id": 50268885, "url": "https://news.ycombinator.com/item?id=50268885", "by": "packeted", "date": "2026-10-28", "stance": "neutral", "quote": "I use D1 for my database", "excerpt": "I went with Cloudflare, primarily because I was already using it for a few other projects but I've been incredibly impressed with how it's scaled. I use D1 for my database, Workers for the API and schedule tasks (including using Claude API to pre-review images and submissions), R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images. I use Clerk for auth. Wild that it costs $5/month to serve tho", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you"}]}, {"label": "Low cost", "summary": "Commenters run apps on the free plan or for about $5 a month.", "quotes": [{"id": 790296306, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "D1 is database", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "database", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 782726226, "item_id": 48920389, "url": "https://news.ycombinator.com/item?id=48920389", "by": "ddyy", "date": "2026-07-15", "stance": "neutral", "quote": "It runs on Cloudflare Workers + D1 for DB", "excerpt": "Hi HN, The invoicing SaaS I was using to bill my clients raised its credit card processing fee to 6.9% for free accounts (4% on top of Stripe's 2.9% + 30c fee), so I decided to build my own to fit my minimal needs, hence I called it Minvoice. It runs on Cloudflare Workers + D1 for DB, it should easily be within their free tier for most use cases. The application is built on Hono server-rendered JSX with no client fra", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Minvoice \u2013 invoicing app that runs on Cloudflare Workers and D1"}, {"id": 804302161, "item_id": 50268885, "url": "https://news.ycombinator.com/item?id=50268885", "by": "packeted", "date": "2026-10-28", "stance": "neutral", "quote": "I use D1 for my database", "excerpt": "I went with Cloudflare, primarily because I was already using it for a few other projects but I've been incredibly impressed with how it's scaled. I use D1 for my database, Workers for the API and schedule tasks (including using Claude API to pre-review images and submissions), R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images. I use Clerk for auth. Wild that it costs $5/month to serve tho", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you"}]}, {"label": "Scaling", "summary": "Commenters say the Cloudflare stack, including D1, has scaled well for their apps.", "quotes": [{"id": 804302161, "item_id": 50268885, "url": "https://news.ycombinator.com/item?id=50268885", "by": "packeted", "date": "2026-10-28", "stance": "neutral", "quote": "I use D1 for my database", "excerpt": "I went with Cloudflare, primarily because I was already using it for a few other projects but I've been incredibly impressed with how it's scaled. I use D1 for my database, Workers for the API and schedule tasks (including using Claude API to pre-review images and submissions), R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images. I use Clerk for auth. Wild that it costs $5/month to serve tho", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you"}, {"id": 748218049, "item_id": 46763628, "url": "https://news.ycombinator.com/item?id=46763628", "by": "freetonik", "date": "2026-01-26", "stance": "recommend", "quote": "D1 is a fine database.", "excerpt": "I was also suspicious of Cloudflare as a full platform, but now it's one of my favorite ways to develop and scale web applications. I have implemented Minifeed[1] (and Exotext [2]) completely in Cloudflare Workers (except for the full-text search, for which I use a self-hosted instance of Typesense; though in my testing, Cloudflare's D1 database does come with full-text search enabled - it's SQLite compatible, and it", "context": "", "use_case": "database", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}]}, {"label": "SQLite compatibility", "summary": "It is SQLite compatible, and one commenter found its full-text search works well.", "quotes": [{"id": 748218049, "item_id": 46763628, "url": "https://news.ycombinator.com/item?id=46763628", "by": "freetonik", "date": "2026-01-26", "stance": "recommend", "quote": "D1 is a fine database.", "excerpt": "I was also suspicious of Cloudflare as a full platform, but now it's one of my favorite ways to develop and scale web applications. I have implemented Minifeed[1] (and Exotext [2]) completely in Cloudflare Workers (except for the full-text search, for which I use a self-hosted instance of Typesense; though in my testing, Cloudflare's D1 database does come with full-text search enabled - it's SQLite compatible, and it", "context": "", "use_case": "database", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}]}], "caveats": [{"label": "Timeouts", "summary": "One commenter reports occasional timeout hiccups on D1 and KV.", "quotes": [{"id": 797851522, "item_id": 49865720, "url": "https://news.ycombinator.com/item?id=49865720", "by": "stevefan1999", "date": "2026-09-27", "stance": "neutral", "quote": "Cloudflare, unfortunately, sometimes have hiccups on D1 and KV with timeout", "excerpt": "I indirectly use TLA+ through https://github.com/quint-co/quint. I added instructions that \"before you implement any feature, please use Quint to model it and make sure no counterexample for the system as a whole, reiterate the design with Quint as well and make sure your documents and implementation follows the formal model and docs\". The result, while takes much longer, is quite magical. A lot of transaction and at", "context": "", "use_case": "", "switched_from": "", "story": "The internet discovers TLA+. Now what?"}]}, {"label": "Design limits", "summary": "One commenter notes that the distributed SQLite-based database has its limitations.", "quotes": [{"id": 793752753, "item_id": 49609547, "url": "https://news.ycombinator.com/item?id=49609547", "by": "snorremd", "date": "2026-09-08", "stance": "neutral", "quote": "Cloudflare D1, the distributed SQLite based database, have its limitations.", "excerpt": "Before I went European sovereign for my own personal stack I used Cloudflare for hosting static and somewhat dynamic websites and it has become really nice the later years. There is almost no mention of \"regions\" in Cloudflare. Your content and code runs globally by default. With traditional clouds you need to think about how you distribute your application. At least that is my experience. Maybe they provide global C", "context": "", "use_case": "serverless database", "switched_from": "", "story": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare"}]}], "who": [], "tags": ["for Cloudflare Workers users", "for side projects", "for small SaaS apps", "SQLite-compatible"], "use_cases": ["database", "serverless database", "database for static projects", "blog comment storage", "application database", "leaderboard database"], "compared": [{"slug": "cloudflare-workers", "name": "Cloudflare Workers", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "cloudflare-r2", "name": "Cloudflare R2", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "postgresql", "name": "PostgreSQL", "co": 1, "switched_from": 1, "switched_to": 0}, {"slug": "cloudflare-pages", "name": "Cloudflare Pages", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "hono", "name": "Hono", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49393465", "title": "Ask HN: How do you host your vibe coded tools/sites?", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50228314", "title": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49863600", "title": "The internet discovers TLA+. Now what?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49607443", "title": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49086788", "title": "Substack writers, you need a website", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48920388", "title": "Show HN: Minvoice \u2013 invoicing app that runs on Cloudflare Workers and D1", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {"neutral": 1}, "2026-03": {}, "2026-04": {}, "2026-05": {"recommend": 1}, "2026-06": {}, "2026-07": {"neutral": 1, "recommend": 1}, "2026-08": {"recommend": 2}, "2026-09": {"neutral": 2}, "2026-10": {"neutral": 1}}, "quotes": [{"id": 804302161, "item_id": 50268885, "url": "https://news.ycombinator.com/item?id=50268885", "by": "packeted", "date": "2026-10-28", "stance": "neutral", "quote": "I use D1 for my database", "excerpt": "I went with Cloudflare, primarily because I was already using it for a few other projects but I've been incredibly impressed with how it's scaled. I use D1 for my database, Workers for the API and schedule tasks (including using Claude API to pre-review images and submissions), R2 for self hosted OpenStreetmap tiles, encrypted user pet records and images. I use Clerk for auth. Wild that it costs $5/month to serve tho", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Independent Vet \u2013 Find locally owned vets (and corporate ones) near you"}, {"id": 797851522, "item_id": 49865720, "url": "https://news.ycombinator.com/item?id=49865720", "by": "stevefan1999", "date": "2026-09-27", "stance": "neutral", "quote": "Cloudflare, unfortunately, sometimes have hiccups on D1 and KV with timeout", "excerpt": "I indirectly use TLA+ through https://github.com/quint-co/quint. I added instructions that \"before you implement any feature, please use Quint to model it and make sure no counterexample for the system as a whole, reiterate the design with Quint as well and make sure your documents and implementation follows the formal model and docs\". The result, while takes much longer, is quite magical. A lot of transaction and at", "context": "", "use_case": "", "switched_from": "", "story": "The internet discovers TLA+. Now what?"}, {"id": 793752753, "item_id": 49609547, "url": "https://news.ycombinator.com/item?id=49609547", "by": "snorremd", "date": "2026-09-08", "stance": "neutral", "quote": "Cloudflare D1, the distributed SQLite based database, have its limitations.", "excerpt": "Before I went European sovereign for my own personal stack I used Cloudflare for hosting static and somewhat dynamic websites and it has become really nice the later years. There is almost no mention of \"regions\" in Cloudflare. Your content and code runs globally by default. With traditional clouds you need to think about how you distribute your application. At least that is my experience. Maybe they provide global C", "context": "", "use_case": "serverless database", "switched_from": "", "story": "Among European Companies That Use a CDN, Nearly 9 in 10 Use Cloudflare"}, {"id": 790330451, "item_id": 49395653, "url": "https://news.ycombinator.com/item?id=49395653", "by": "simondanerd", "date": "2026-08-22", "stance": "recommend", "quote": "with D1 as a database when needed", "excerpt": "Cloudflare tunnels for stuff requiring an actual machine. Cloudflare or Netlify Pages for static projects (with D1 as a database when needed).", "context": "", "use_case": "database for static projects", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 790296306, "item_id": 49393519, "url": "https://news.ycombinator.com/item?id=49393519", "by": "spaldingcactus", "date": "2026-08-21", "stance": "recommend", "quote": "D1 is database", "excerpt": "Cloudflare workers/pages/D1/R2 works great for me on the free plan. If you\u2019re not familiar, I typically use workers for API type stuff (including auth). D1 is database, R2 is storage (images, files?). Pages are.. pages.", "context": "", "use_case": "database", "switched_from": "", "story": "Ask HN: How do you host your vibe coded tools/sites?"}, {"id": 785532545, "item_id": 49095784, "url": "https://news.ycombinator.com/item?id=49095784", "by": "mintflow", "date": "2026-07-29", "stance": "recommend", "quote": "comments are stored in Cloudflare D1", "excerpt": "Great idea. Recently, I\u2019ve decided to get back into blogging. It\u2019s surprisingly easy these days. I already have a domain on Cloudflare, and I had Codex build a simple blogging system for me. I write everything in Markdown, the site is hosted on Cloudflare, comments are stored in Cloudflare D1, and all articles live in the repository as Markdown files. GitHub Actions takes care of publishing automatically and also per", "context": "", "use_case": "blog comment storage", "switched_from": "", "story": "Substack writers, you need a website"}, {"id": 782726226, "item_id": 48920389, "url": "https://news.ycombinator.com/item?id=48920389", "by": "ddyy", "date": "2026-07-15", "stance": "neutral", "quote": "It runs on Cloudflare Workers + D1 for DB", "excerpt": "Hi HN, The invoicing SaaS I was using to bill my clients raised its credit card processing fee to 6.9% for free accounts (4% on top of Stripe's 2.9% + 30c fee), so I decided to build my own to fit my minimal needs, hence I called it Minvoice. It runs on Cloudflare Workers + D1 for DB, it should easily be within their free tier for most use cases. The application is built on Hono server-rendered JSX with no client fra", "context": "", "use_case": "database", "switched_from": "", "story": "Show HN: Minvoice \u2013 invoicing app that runs on Cloudflare Workers and D1"}, {"id": 769338835, "item_id": 48083677, "url": "https://news.ycombinator.com/item?id=48083677", "by": "djyde", "date": "2026-05-10", "stance": "recommend", "quote": "use D1 Database and Cloudflare KV to replace Redis", "excerpt": "I've transitioned between cloud services and self-hosting a few times: 1. Vercel Phase My first project used Vercel. Since my project was Next.js, the experience was decent. But as my project gained some users, I found that even for projects under 100 users, I needed to pay $20 per month. Since my service didn't require high performance, this cost felt steep. 2. Self-host Phase (Hetzner + Coolify) Later, I started se", "context": "", "use_case": "application database", "switched_from": "PostgreSQL", "story": "I returned to AWS, and was reminded why I left"}, {"id": 751105250, "item_id": 46944078, "url": "https://news.ycombinator.com/item?id=46944078", "by": "tryanythingonce", "date": "2026-02-09", "stance": "neutral", "quote": "Cloudflare Pages + D1 for the leaderboard", "excerpt": "My daughter drew a word puzzle game on paper \u2014 rules, name, game board, everything. We built it into a real daily puzzle over a weekend. It's a word chain: each word starts with the last letter of the previous one, climbing from 3 to 7 letters in a pizza-slice shape. Certain letters are locked in each day (pepperoni) so every puzzle is different. Scrabble-style scoring with row multipliers. Stack: vanilla JS (no fram", "context": "", "use_case": "leaderboard database", "switched_from": "", "story": "A daily word puzzle my 9-year-old daughter designed"}, {"id": 748218049, "item_id": 46763628, "url": "https://news.ycombinator.com/item?id=46763628", "by": "freetonik", "date": "2026-01-26", "stance": "recommend", "quote": "D1 is a fine database.", "excerpt": "I was also suspicious of Cloudflare as a full platform, but now it's one of my favorite ways to develop and scale web applications. I have implemented Minifeed[1] (and Exotext [2]) completely in Cloudflare Workers (except for the full-text search, for which I use a self-hosted instance of Typesense; though in my testing, Cloudflare's D1 database does come with full-text search enabled - it's SQLite compatible, and it", "context": "", "use_case": "database", "switched_from": "", "story": "You can just port things to Cloudflare Workers"}]}