{"slug": "gridland", "name": "Gridland", "category": "terminal", "category_name": "Terminal and shell", "description": "", "recommenders": 3, "commenters": 4, "warners": 0, "score": 2.871, "rising": -0.98, "first": "2026-03-24", "latest": "2026-03-27", "why": "", "why_is_quote": false, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 1, "compare": 0, "warn": 0}, "spark": [0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "", "kind": "", "icon": false, "domain": null, "github_repo": null, "official_url": "", "pricing": "", "aliases": ["Gridland"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 760788768, "item_id": 47549298, "url": "https://news.ycombinator.com/item?id=47549298", "by": "rsafaya", "date": "2026-03-27", "stance": "recommend", "quote": "Can confirm good canvas renderer performance.", "excerpt": "Can confirm good canvas renderer performance. Just tested it with a real-time smart meter dashboard \u2014 62 meters streaming over MQTT via JustinX.ai (our data ingestion platform), 60 msg/s (peak), 500ms refresh. Almost no flicker, smooth updates across all meter cards. Much nicer way to handle high-frequency streaming data than xterm.js. Check out the video screen grab: https://streamable.com/hcga8t", "context": "", "use_case": "terminal UI in browser", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}, {"id": 760175312, "item_id": 47510957, "url": "https://news.ycombinator.com/item?id=47510957", "by": "oDot", "date": "2026-03-24", "stance": "recommend", "quote": "Very nice", "excerpt": "Very nice Could I use OpenTUI Core with this? I'd like to replace the hero at https://blisswriter.app with the actual app", "context": "", "use_case": "terminal apps in the browser", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}, {"id": 760136256, "item_id": 47508516, "url": "https://news.ycombinator.com/item?id=47508516", "by": "kamens", "date": "2026-03-24", "stance": "recommend", "quote": "I love this. It needs to exist because it's fun.", "excerpt": "I love this. It needs to exist because it's fun.", "context": "", "use_case": "terminal apps in browser", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}]}], "caveats": [], "who": [{"by": "rablackburn", "context": "teaches kids programming from the terminal", "url": "https://news.ycombinator.com/item?id=47512475", "date": "2026-03-24"}], "tags": [], "use_cases": ["terminal ui in browser", "terminal apps in the browser", "terminal apps in browser"], "compared": [{"slug": "opentui", "name": "OpenTUI", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 760200416, "item_id": 47512526, "url": "https://news.ycombinator.com/item?id=47512526", "by": "rothific", "date": "2026-03-24", "stance": "recommend", "quote": "rendering directly into a canvas is just a better approach", "excerpt": "Yep, mainly performance - specifically page load time (near instant for Gridland vs ~2-3s for Ink Web). The other issue was flickering. Tbh rendering directly into a canvas is just a better approach and OpenTUI's architect is more modern. I love that xkcd, I never know what to do, so I'll just \uff1a\uff09)", "context": "", "use_case": "terminal apps in browser", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}], "threads": [{"url": "https://news.ycombinator.com/item?id=47505731", "title": "Show HN: Gridland: make terminal apps that also run in the browser", "mentions": 5}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {"recommend": 3, "neutral": 1}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 760788768, "item_id": 47549298, "url": "https://news.ycombinator.com/item?id=47549298", "by": "rsafaya", "date": "2026-03-27", "stance": "recommend", "quote": "Can confirm good canvas renderer performance.", "excerpt": "Can confirm good canvas renderer performance. Just tested it with a real-time smart meter dashboard \u2014 62 meters streaming over MQTT via JustinX.ai (our data ingestion platform), 60 msg/s (peak), 500ms refresh. Almost no flicker, smooth updates across all meter cards. Much nicer way to handle high-frequency streaming data than xterm.js. Check out the video screen grab: https://streamable.com/hcga8t", "context": "", "use_case": "terminal UI in browser", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}, {"id": 760199600, "item_id": 47512475, "url": "https://news.ycombinator.com/item?id=47512475", "by": "rablackburn", "date": "2026-03-24", "stance": "neutral", "quote": "I'll take it for a spin.", "excerpt": "> Gridland is the successor to Ink Web (ink-web.dev) which is the same concept, but using Ink + xterm.js. After building Ink Web, we continued experimenting and found that using OpenTUI and a canvas renderer performed better with less flickering and nearly instant load times. Ah, I was wondering how this was different to xterm.js embedded in a page. It's just the performance angle? I've been teaching the kids program", "context": "teaches kids programming from the terminal", "use_case": "", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}, {"id": 760175312, "item_id": 47510957, "url": "https://news.ycombinator.com/item?id=47510957", "by": "oDot", "date": "2026-03-24", "stance": "recommend", "quote": "Very nice", "excerpt": "Very nice Could I use OpenTUI Core with this? I'd like to replace the hero at https://blisswriter.app with the actual app", "context": "", "use_case": "terminal apps in the browser", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}, {"id": 760136256, "item_id": 47508516, "url": "https://news.ycombinator.com/item?id=47508516", "by": "kamens", "date": "2026-03-24", "stance": "recommend", "quote": "I love this. It needs to exist because it's fun.", "excerpt": "I love this. It needs to exist because it's fun.", "context": "", "use_case": "terminal apps in browser", "switched_from": "", "story": "Show HN: Gridland: make terminal apps that also run in the browser"}]}