The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Rowboat – AI coworker that turns your work into a knowledge graph (OSS)
Hi HN,<p>AI agents that can run tools on your machine are powerful for knowledge work, but they’re only as useful as the context they have. Rowboat is an open-source, local-first app that turns your work into a living knowledge graph (stored as plain Markdown with backlinks) and uses it to accomplish tasks on your computer.<p>For example, you can say "Build me a deck about our next quarter roadmap." Rowboat pulls priorities and commitments from your graph, loads a presentation skill, and exports a PDF.<p>Our repo is <a href="https://github.com/rowboatlabs/rowboat" rel="nofollow">https://github.com/rowboatlabs/rowboat</a>, and there’s a demo video here: <a href="https://www.youtube.com/watch?v=5AWoGo-L16I" rel="nofollow">https://www.youtube.com/watch?v=5AWoGo-L16I</a><p>Rowboat has two parts:<p>(1) A living context graph: Rowboat connects to sources like Gmail and meeting notes like Granola and Fireflies, extracts decisions, commitments, deadlines, and relationships, and writes them locally as linked and editable Markdown files (Obsidian-style), organized around people, projects, and topics. As new conversations happen (including voice memos), related notes update automatically. If a deadline changes in a standup, it links back to the original commitment and updates it.<p>(2) A local assistant: On top of that graph, Rowboat includes an agent with local shell access and MCP support, so it can use your existing context to actually do work on your machine. It can act on demand or run scheduled background tasks. Example: “Prep me for my meeting with John and create a short voice brief.” It pulls relevant context from your graph and can generate an audio note via an MCP tool like ElevenLabs.<p>Why not just search transcripts? Passing gigabytes of email, docs, and calls directly to an AI agent is slow and lossy. And search only answers the questions you think to ask. A system that accumulates context over time can track decisions, commitments, and relationships across conversations, and surface patterns you didn't know to look for.<p>Rowboat is Apache-2.0 licensed, works with any LLM (including local ones), and stores all data locally as Markdown you can read, edit, or delete at any time.<p>Our previous startup was acquired by Coinbase, where part of my work involved graph neural networks. We're excited to be working with graph-based systems again. Work memory feels like the missing layer for agents.<p>We’d love to hear your thoughts and welcome contributions!
Show HN: Rowboat – AI coworker that turns your work into a knowledge graph (OSS)
Hi HN,<p>AI agents that can run tools on your machine are powerful for knowledge work, but they’re only as useful as the context they have. Rowboat is an open-source, local-first app that turns your work into a living knowledge graph (stored as plain Markdown with backlinks) and uses it to accomplish tasks on your computer.<p>For example, you can say "Build me a deck about our next quarter roadmap." Rowboat pulls priorities and commitments from your graph, loads a presentation skill, and exports a PDF.<p>Our repo is <a href="https://github.com/rowboatlabs/rowboat" rel="nofollow">https://github.com/rowboatlabs/rowboat</a>, and there’s a demo video here: <a href="https://www.youtube.com/watch?v=5AWoGo-L16I" rel="nofollow">https://www.youtube.com/watch?v=5AWoGo-L16I</a><p>Rowboat has two parts:<p>(1) A living context graph: Rowboat connects to sources like Gmail and meeting notes like Granola and Fireflies, extracts decisions, commitments, deadlines, and relationships, and writes them locally as linked and editable Markdown files (Obsidian-style), organized around people, projects, and topics. As new conversations happen (including voice memos), related notes update automatically. If a deadline changes in a standup, it links back to the original commitment and updates it.<p>(2) A local assistant: On top of that graph, Rowboat includes an agent with local shell access and MCP support, so it can use your existing context to actually do work on your machine. It can act on demand or run scheduled background tasks. Example: “Prep me for my meeting with John and create a short voice brief.” It pulls relevant context from your graph and can generate an audio note via an MCP tool like ElevenLabs.<p>Why not just search transcripts? Passing gigabytes of email, docs, and calls directly to an AI agent is slow and lossy. And search only answers the questions you think to ask. A system that accumulates context over time can track decisions, commitments, and relationships across conversations, and surface patterns you didn't know to look for.<p>Rowboat is Apache-2.0 licensed, works with any LLM (including local ones), and stores all data locally as Markdown you can read, edit, or delete at any time.<p>Our previous startup was acquired by Coinbase, where part of my work involved graph neural networks. We're excited to be working with graph-based systems again. Work memory feels like the missing layer for agents.<p>We’d love to hear your thoughts and welcome contributions!
Show HN: I built a macOS tool for network engineers – it's called NetViews
Hi HN — I’m the developer of NetViews, a macOS utility I built because I wanted better visibility into what was actually happening on my wired and wireless networks.<p>I live in the CLI, but for discovery and ongoing monitoring, I kept bouncing between tools, terminals, and mental context switches. I wanted something faster and more visual, without losing technical depth — so I built a GUI that brings my favorite diagnostics together in one place.<p>About three months ago, I shared an early version here and got a ton of great feedback. I listened: a new name (it was PingStalker), a longer trial, and a lot of new features. Today I’m excited to share NetViews 2.3.<p>NetViews started because I wanted to know if something on the network was scanning my machine. Once I had that, I wanted quick access to core details—external IP, Wi-Fi data, and local topology. Then I wanted more: fast, reliable scans using ARP tables and ICMP.<p>As a Wi-Fi engineer, I couldn’t stop there. I kept adding ways to surface what’s actually going on behind the scenes.<p>Discovery & Scanning:
* ARP, ICMP, mDNS, and DNS discovery to enumerate every device on your subnet (IP, MAC, vendor, open ports).
* Fast scans using ARP tables first, then ICMP, to avoid the usual “nmap wait”.<p>Wireless Visibility:
* Detailed Wi-Fi connection performance and signal data.
* Visual and audible tools to quickly locate the access point you’re associated with.<p>Monitoring & Timelines:
* Connection and ping timelines over 1, 2, 4, or 8 hours.
* Continuous “live ping” monitoring to visualize latency spikes, packet loss, and reconnects.<p>Low-level Traffic (but only what matters):
* Live capture of DHCP, ARP, 802.1X, LLDP/CDP, ICMP, and off-subnet chatter.
* mDNS decoded into human-readable output (this took months of deep dives).<p>Under the hood, it’s written in Swift. It uses low-level BSD sockets for ICMP and ARP, Apple’s Network framework for interface enumeration, and selectively wraps existing command-line tools where they’re still the best option. The focus has been on speed and low overhead.<p>I’d love feedback from anyone who builds or uses network diagnostic tools:
- Does this fill a gap you’ve personally hit on macOS?
- Are there better approaches to scan speed or event visualization that you’ve used?
- What diagnostics do you still find yourself dropping to the CLI for?<p>Details and screenshots: <a href="https://netviews.app" rel="nofollow">https://netviews.app</a>
There’s a free trial and paid licenses; I’m funding development directly rather than ads or subscriptions. Licenses include free upgrades.<p>Happy to answer any technical questions about the implementation, Swift APIs, or macOS permission model.
Show HN: I built a macOS tool for network engineers – it's called NetViews
Hi HN — I’m the developer of NetViews, a macOS utility I built because I wanted better visibility into what was actually happening on my wired and wireless networks.<p>I live in the CLI, but for discovery and ongoing monitoring, I kept bouncing between tools, terminals, and mental context switches. I wanted something faster and more visual, without losing technical depth — so I built a GUI that brings my favorite diagnostics together in one place.<p>About three months ago, I shared an early version here and got a ton of great feedback. I listened: a new name (it was PingStalker), a longer trial, and a lot of new features. Today I’m excited to share NetViews 2.3.<p>NetViews started because I wanted to know if something on the network was scanning my machine. Once I had that, I wanted quick access to core details—external IP, Wi-Fi data, and local topology. Then I wanted more: fast, reliable scans using ARP tables and ICMP.<p>As a Wi-Fi engineer, I couldn’t stop there. I kept adding ways to surface what’s actually going on behind the scenes.<p>Discovery & Scanning:
* ARP, ICMP, mDNS, and DNS discovery to enumerate every device on your subnet (IP, MAC, vendor, open ports).
* Fast scans using ARP tables first, then ICMP, to avoid the usual “nmap wait”.<p>Wireless Visibility:
* Detailed Wi-Fi connection performance and signal data.
* Visual and audible tools to quickly locate the access point you’re associated with.<p>Monitoring & Timelines:
* Connection and ping timelines over 1, 2, 4, or 8 hours.
* Continuous “live ping” monitoring to visualize latency spikes, packet loss, and reconnects.<p>Low-level Traffic (but only what matters):
* Live capture of DHCP, ARP, 802.1X, LLDP/CDP, ICMP, and off-subnet chatter.
* mDNS decoded into human-readable output (this took months of deep dives).<p>Under the hood, it’s written in Swift. It uses low-level BSD sockets for ICMP and ARP, Apple’s Network framework for interface enumeration, and selectively wraps existing command-line tools where they’re still the best option. The focus has been on speed and low overhead.<p>I’d love feedback from anyone who builds or uses network diagnostic tools:
- Does this fill a gap you’ve personally hit on macOS?
- Are there better approaches to scan speed or event visualization that you’ve used?
- What diagnostics do you still find yourself dropping to the CLI for?<p>Details and screenshots: <a href="https://netviews.app" rel="nofollow">https://netviews.app</a>
There’s a free trial and paid licenses; I’m funding development directly rather than ads or subscriptions. Licenses include free upgrades.<p>Happy to answer any technical questions about the implementation, Swift APIs, or macOS permission model.
Show HN: I built a macOS tool for network engineers – it's called NetViews
Hi HN — I’m the developer of NetViews, a macOS utility I built because I wanted better visibility into what was actually happening on my wired and wireless networks.<p>I live in the CLI, but for discovery and ongoing monitoring, I kept bouncing between tools, terminals, and mental context switches. I wanted something faster and more visual, without losing technical depth — so I built a GUI that brings my favorite diagnostics together in one place.<p>About three months ago, I shared an early version here and got a ton of great feedback. I listened: a new name (it was PingStalker), a longer trial, and a lot of new features. Today I’m excited to share NetViews 2.3.<p>NetViews started because I wanted to know if something on the network was scanning my machine. Once I had that, I wanted quick access to core details—external IP, Wi-Fi data, and local topology. Then I wanted more: fast, reliable scans using ARP tables and ICMP.<p>As a Wi-Fi engineer, I couldn’t stop there. I kept adding ways to surface what’s actually going on behind the scenes.<p>Discovery & Scanning:
* ARP, ICMP, mDNS, and DNS discovery to enumerate every device on your subnet (IP, MAC, vendor, open ports).
* Fast scans using ARP tables first, then ICMP, to avoid the usual “nmap wait”.<p>Wireless Visibility:
* Detailed Wi-Fi connection performance and signal data.
* Visual and audible tools to quickly locate the access point you’re associated with.<p>Monitoring & Timelines:
* Connection and ping timelines over 1, 2, 4, or 8 hours.
* Continuous “live ping” monitoring to visualize latency spikes, packet loss, and reconnects.<p>Low-level Traffic (but only what matters):
* Live capture of DHCP, ARP, 802.1X, LLDP/CDP, ICMP, and off-subnet chatter.
* mDNS decoded into human-readable output (this took months of deep dives).<p>Under the hood, it’s written in Swift. It uses low-level BSD sockets for ICMP and ARP, Apple’s Network framework for interface enumeration, and selectively wraps existing command-line tools where they’re still the best option. The focus has been on speed and low overhead.<p>I’d love feedback from anyone who builds or uses network diagnostic tools:
- Does this fill a gap you’ve personally hit on macOS?
- Are there better approaches to scan speed or event visualization that you’ve used?
- What diagnostics do you still find yourself dropping to the CLI for?<p>Details and screenshots: <a href="https://netviews.app" rel="nofollow">https://netviews.app</a>
There’s a free trial and paid licenses; I’m funding development directly rather than ads or subscriptions. Licenses include free upgrades.<p>Happy to answer any technical questions about the implementation, Swift APIs, or macOS permission model.
Show HN: Horizons – OSS agent execution engine
I'm Josh, founder of Synth. We've been working on coding agent optimization with method like GEPA and MIPRO (the latter of which, I helped to originally develop), agent evaluation via methods like RLMs, and large scale deployment for training and inference. We've also worked on patterns for memory, processing live context, and managing agent actions, combining it all in a single stack called Horizons. With the release of OpenAI's Frontier and the consumer excitement around OpenClaw, we think the timing is right to release a v0.<p>It integrates with our sdk for evaluation and optimization but also comes batteries-included with self-hosted implementations. We think Horizons will make building agent-based products a lot easier and help builders focus on their proprietary data, context, and algorithms<p>Some notes:<p>- you can configure claude code, codex, opencode to run in the engine. on-demand or on a cron<p>- we're striving to make it simple to integrate with existing backends via a 2-way event driven interface, but I'm 99.9% sure it'll change as there are a ton of unknown unknowns<p>- support for mcp, and we are building with authentication (rbac) in mind, although it's a long-journey<p>- all self-host able via docker<p>A very simplistic way to think about it - an OSS take on Frontier, or maybe OpenClaw for prod
Show HN: Printable Classics – Free printable classic books for hobby bookbinders
I created a site (<a href="https://printableclassics.com" rel="nofollow">https://printableclassics.com</a>) that allows you to download classic books and customize things like the font size, page size, and the cover.<p>As part of this, I wrote a software pipeline that takes epubs, html files, or pdfs and converts them into formatted books with custom covers, page numbers, chapter formatting, etc.<p>I used an LLM for categorizing the books. There's a nice way to filter such that you could easily find "Young Adult, Ancient, Fantasy" for example.<p>When downloading from the site, the PDFS are rendered in a work queue. Hopefully the server I'm using won't get overwhelmed. It takes around 10-15 seconds to generate for most books.<p>Most of the books currently on the site are from Standard Ebooks. I plan to add more books from Archive.org and Project Gutenberg over time.<p>I also created a little guide on how you can print and bind books at home with around $200 in equipment. (<a href="https://printableclassics.com/print-guide" rel="nofollow">https://printableclassics.com/print-guide</a>)<p>Printable versions of the Harvard Classics are available here: <a href="https://printableclassics.com/harvard_classics" rel="nofollow">https://printableclassics.com/harvard_classics</a> This is an example of direct PDF conversion.<p>Hopefully this is useful to some people. I plan to use the books here for home education myself so it will at least be useful to me. I'd like to add a guide with top suggestions by age level and some educational theory on how I made the selections. I'm happy to take any feedback on the site or answer any questions.<p>There is also the option to have the books professionally printed through a print on demand provider. I'm hoping that could be a way to pay for the site hosting.<p>Thanks for checking it out!
Show HN: Browse Internet Infrastructure
I'm launching Wirewiki.com today!<p>Wirewiki makes the internet’s hidden infrastructure browsable.<p>I quit my job 5 years ago to scale Nslookup.io. But after reaching 600k monthly users, I hit a ceiling. I couldn't naturally expand beyond DNS because of the domain name.<p>So I went back to the drawing board: how would I make it today? Not as a collection of tools, but as a browsable graph.<p>I've spent hundreds of hours and commits building that. It's not even at 10% of what I want it to be, but more than enough to be useful, and (in my biased opinion) much better than what's out there.<p>Wirewiki launches with DNS lookup, propagation, zone transfer and SPF checking. It also scans the entire IPv4 space for DNS servers and indexes them.
I'm working on adding more data and tools.<p>I feel like I've developed tunnel vision, so if you see anything that feels off, let me know!<p>I'll keep Wirewiki open and free. Once it has a substantial amount of users, I'll open it up to sponsorship / brand integration from hosting providers, registrars and CDNs, as users will likely be in the market for those. But my goal is to keep Wirewiki free from display ads. I'm confident that's viable.
Show HN: Browse Internet Infrastructure
I'm launching Wirewiki.com today!<p>Wirewiki makes the internet’s hidden infrastructure browsable.<p>I quit my job 5 years ago to scale Nslookup.io. But after reaching 600k monthly users, I hit a ceiling. I couldn't naturally expand beyond DNS because of the domain name.<p>So I went back to the drawing board: how would I make it today? Not as a collection of tools, but as a browsable graph.<p>I've spent hundreds of hours and commits building that. It's not even at 10% of what I want it to be, but more than enough to be useful, and (in my biased opinion) much better than what's out there.<p>Wirewiki launches with DNS lookup, propagation, zone transfer and SPF checking. It also scans the entire IPv4 space for DNS servers and indexes them.
I'm working on adding more data and tools.<p>I feel like I've developed tunnel vision, so if you see anything that feels off, let me know!<p>I'll keep Wirewiki open and free. Once it has a substantial amount of users, I'll open it up to sponsorship / brand integration from hosting providers, registrars and CDNs, as users will likely be in the market for those. But my goal is to keep Wirewiki free from display ads. I'm confident that's viable.
Show HN: A custom font that displays Cistercian numerals using ligatures
Show HN: A custom font that displays Cistercian numerals using ligatures
Show HN: Algorithmically finding the longest line of sight on Earth
We're Tom and Ryan and we teamed up to build an algorithm with Rust and SIMD to exhaustively search for the longest line of sight on the planet. We can confirm that a previously speculated view between Pik Dankova in Kyrgyzstan and the Hindu Kush in China is indeed the longest, at 530km.<p>We go into all the details at <a href="https://alltheviews.world" rel="nofollow">https://alltheviews.world</a><p>And there's an interactive map with over 1 billion longest lines, covering the whole world at <a href="https://map.alltheviews.world" rel="nofollow">https://map.alltheviews.world</a> Just click on any point and it'll load its longest line of sight.<p>Some of you may remember Tom's post[1] from a few months ago about how to efficiently pack visibility tiles for computing the entire planet. Well now it's done. The compute run itself took 100s of AMD Turin cores, 100s of GBs of RAM, a few TBs of disk and 2 days of constant runtime on multiple machines.<p>If you are interested in the technical details, Ryan and I have written extensively about the algorithm and pipeline that got us here:<p>* Tom's blog post: <a href="https://tombh.co.uk/longest-line-of-sight" rel="nofollow">https://tombh.co.uk/longest-line-of-sight</a><p>* Ryan's technical breakdown: <a href="https://ryan.berge.rs/posts/total-viewshed-algorithm" rel="nofollow">https://ryan.berge.rs/posts/total-viewshed-algorithm</a><p>This was a labor of love and we hope it inspires you both technically and naturally, to get you out seeing some of these vast views for yourselves!<p>1. <a href="https://news.ycombinator.com/item?id=45485227">https://news.ycombinator.com/item?id=45485227</a>
Show HN: Algorithmically finding the longest line of sight on Earth
We're Tom and Ryan and we teamed up to build an algorithm with Rust and SIMD to exhaustively search for the longest line of sight on the planet. We can confirm that a previously speculated view between Pik Dankova in Kyrgyzstan and the Hindu Kush in China is indeed the longest, at 530km.<p>We go into all the details at <a href="https://alltheviews.world" rel="nofollow">https://alltheviews.world</a><p>And there's an interactive map with over 1 billion longest lines, covering the whole world at <a href="https://map.alltheviews.world" rel="nofollow">https://map.alltheviews.world</a> Just click on any point and it'll load its longest line of sight.<p>Some of you may remember Tom's post[1] from a few months ago about how to efficiently pack visibility tiles for computing the entire planet. Well now it's done. The compute run itself took 100s of AMD Turin cores, 100s of GBs of RAM, a few TBs of disk and 2 days of constant runtime on multiple machines.<p>If you are interested in the technical details, Ryan and I have written extensively about the algorithm and pipeline that got us here:<p>* Tom's blog post: <a href="https://tombh.co.uk/longest-line-of-sight" rel="nofollow">https://tombh.co.uk/longest-line-of-sight</a><p>* Ryan's technical breakdown: <a href="https://ryan.berge.rs/posts/total-viewshed-algorithm" rel="nofollow">https://ryan.berge.rs/posts/total-viewshed-algorithm</a><p>This was a labor of love and we hope it inspires you both technically and naturally, to get you out seeing some of these vast views for yourselves!<p>1. <a href="https://news.ycombinator.com/item?id=45485227">https://news.ycombinator.com/item?id=45485227</a>
Show HN: Fine-tuned Qwen2.5-7B on 100 films for probabilistic story graphs
Hi HN, I'm a computer systems engineering student in Mexico who switched from film school. I built CineGraphs because my filmmaker friends and I kept hitting the same wall—we'd have a vague idea for a film but no structured way to explore where it could go. Every AI writing tool we tried output generic, formulaic slop. I didn't want to build another ChatGPT wrapper, so I went a different route.<p>The idea is simple: you input a rough concept, and the tool generates branching narrative paths visualized as a graph. You can sculpt those branches into a structured screenplay format and export to Fountain for use in professional screenwriting software.<p>Most AI writing tools are trained on generic internet text, which is why they output generic results. I wanted something that understood actual cinematic storytelling—not plot summaries or Wikipedia synopses, but the actual structural DNA of films. So I spent a month curating 100 films I consider high-quality cinema. Not just popular films, but works with distinctive narrative structures: Godard's jump cuts and essay-film digressions, Kurosawa's parallel character arcs, Brakhage's non-linear visual poetry, Tarkovsky's slow-burn temporal structures. The selection was deliberately eclectic because I wanted the model to learn that "story" can mean many things.<p>Getting useful training data from films is harder than it sounds. I built a 1000+ line Python pipeline using Qwen3-VL to analyze each film with subtitles enabled. The pipeline extracts scene-level narrative beats, character relationships and how they evolve, thematic threads, and dialogue patterns. The tricky part was getting Qwen3-VL to understand cinematic structure rather than just summarizing plot. I had to iterate on the prompts extensively to get it to identify things like "this scene functions as a mirror to the opening" or "this character's arc inverts the protagonist's." That took weeks and I'm still not fully satisfied with it, but it's good enough to produce useful training data.<p>From those extractions I generated a 10K example dataset of prompt-to-branching-narrative pairs, then fine-tuned Qwen2.5-7B-Instruct with a LoRA optimized for probabilistic story branching. The LoRA handles the graph generation—exploring possible narrative directions—while the full 7B model generates the actual technical screenplay format when you export. I chose the 7B model because I wanted something that could run affordably at scale while still being capable enough for nuanced generation. The whole thing is served on a single 4090 GPU using vLLM. The frontend uses React Flow for the graph visualization. The key insight was that screenwriting is fundamentally about making choices—what if the character goes left instead of right?—but most writing tools force you into a linear document too early. The graph structure lets you explore multiple paths before committing, which matches how writers actually think in early development.<p>The biggest surprise was how much the film selection mattered. Early versions trained on more mainstream films produced much more formulaic outputs. Adding experimental and international cinema dramatically improved the variety and interestingness of the generations. The model seemed to learn that narrative structure is a design space, not a formula.<p>We've been using it ourselves to break through second-act problems—when you know where you want to end up but can't figure out how to get there. The branching format forces you to think in possibilities rather than committing too early.<p>You can try it at <a href="https://cinegraphs.ai/" rel="nofollow">https://cinegraphs.ai/</a> — no signup required to test it out. You get a full project with up to 50 branches without registering, though you'll need to create an account to save it. Registered users get 3 free projects. I'd love feedback on whether the generation quality feels meaningfully different from generic AI tools, and whether the graph interface adds value or just friction.
Show HN: Fine-tuned Qwen2.5-7B on 100 films for probabilistic story graphs
Hi HN, I'm a computer systems engineering student in Mexico who switched from film school. I built CineGraphs because my filmmaker friends and I kept hitting the same wall—we'd have a vague idea for a film but no structured way to explore where it could go. Every AI writing tool we tried output generic, formulaic slop. I didn't want to build another ChatGPT wrapper, so I went a different route.<p>The idea is simple: you input a rough concept, and the tool generates branching narrative paths visualized as a graph. You can sculpt those branches into a structured screenplay format and export to Fountain for use in professional screenwriting software.<p>Most AI writing tools are trained on generic internet text, which is why they output generic results. I wanted something that understood actual cinematic storytelling—not plot summaries or Wikipedia synopses, but the actual structural DNA of films. So I spent a month curating 100 films I consider high-quality cinema. Not just popular films, but works with distinctive narrative structures: Godard's jump cuts and essay-film digressions, Kurosawa's parallel character arcs, Brakhage's non-linear visual poetry, Tarkovsky's slow-burn temporal structures. The selection was deliberately eclectic because I wanted the model to learn that "story" can mean many things.<p>Getting useful training data from films is harder than it sounds. I built a 1000+ line Python pipeline using Qwen3-VL to analyze each film with subtitles enabled. The pipeline extracts scene-level narrative beats, character relationships and how they evolve, thematic threads, and dialogue patterns. The tricky part was getting Qwen3-VL to understand cinematic structure rather than just summarizing plot. I had to iterate on the prompts extensively to get it to identify things like "this scene functions as a mirror to the opening" or "this character's arc inverts the protagonist's." That took weeks and I'm still not fully satisfied with it, but it's good enough to produce useful training data.<p>From those extractions I generated a 10K example dataset of prompt-to-branching-narrative pairs, then fine-tuned Qwen2.5-7B-Instruct with a LoRA optimized for probabilistic story branching. The LoRA handles the graph generation—exploring possible narrative directions—while the full 7B model generates the actual technical screenplay format when you export. I chose the 7B model because I wanted something that could run affordably at scale while still being capable enough for nuanced generation. The whole thing is served on a single 4090 GPU using vLLM. The frontend uses React Flow for the graph visualization. The key insight was that screenwriting is fundamentally about making choices—what if the character goes left instead of right?—but most writing tools force you into a linear document too early. The graph structure lets you explore multiple paths before committing, which matches how writers actually think in early development.<p>The biggest surprise was how much the film selection mattered. Early versions trained on more mainstream films produced much more formulaic outputs. Adding experimental and international cinema dramatically improved the variety and interestingness of the generations. The model seemed to learn that narrative structure is a design space, not a formula.<p>We've been using it ourselves to break through second-act problems—when you know where you want to end up but can't figure out how to get there. The branching format forces you to think in possibilities rather than committing too early.<p>You can try it at <a href="https://cinegraphs.ai/" rel="nofollow">https://cinegraphs.ai/</a> — no signup required to test it out. You get a full project with up to 50 branches without registering, though you'll need to create an account to save it. Registered users get 3 free projects. I'd love feedback on whether the generation quality feels meaningfully different from generic AI tools, and whether the graph interface adds value or just friction.
Show HN: It took 4 years to sell my startup. I wrote a book about it
Show HN: It took 4 years to sell my startup. I wrote a book about it
Show HN: I created a Mars colony RPG based on Kim Stanley Robinson’s Mars books
I built a desktop Mars colony survival game called Underhill, in homage to Kim Stanley Robinson's Mars trilogy. Land on Mars, build solar panels and greenhouses, and try not to pass out during dust storms. Eventually your colonists split into factions: Greens who want to terraform and Reds who want to preserve Mars.<p>There’s Chill Mode for players that just want to build & hang, and Conflict Mode that introduces the Red v. Green factions. Reds sabotage, the terrain slowly turns green as the world gets more terraformed.<p>Feedback welcome, especially on performance and gameplay!
Show HN: I created a Mars colony RPG based on Kim Stanley Robinson’s Mars books
I built a desktop Mars colony survival game called Underhill, in homage to Kim Stanley Robinson's Mars trilogy. Land on Mars, build solar panels and greenhouses, and try not to pass out during dust storms. Eventually your colonists split into factions: Greens who want to terraform and Reds who want to preserve Mars.<p>There’s Chill Mode for players that just want to build & hang, and Conflict Mode that introduces the Red v. Green factions. Reds sabotage, the terrain slowly turns green as the world gets more terraformed.<p>Feedback welcome, especially on performance and gameplay!
Show HN: I created a Mars colony RPG based on Kim Stanley Robinson’s Mars books
I built a desktop Mars colony survival game called Underhill, in homage to Kim Stanley Robinson's Mars trilogy. Land on Mars, build solar panels and greenhouses, and try not to pass out during dust storms. Eventually your colonists split into factions: Greens who want to terraform and Reds who want to preserve Mars.<p>There’s Chill Mode for players that just want to build & hang, and Conflict Mode that introduces the Red v. Green factions. Reds sabotage, the terrain slowly turns green as the world gets more terraformed.<p>Feedback welcome, especially on performance and gameplay!