frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Sub-millisecond VM sandboxes using CoW memory forking

https://github.com/adammiribyan/zeroboot
121•adammiribyan•17h ago•25 comments

Show HN: The Lottery of Life

https://claude.ai/public/artifacts/a62c4bac-3c05-4443-9d0a-50a9bd3f9d8d
5•atulvi•1h ago•2 comments

Show HN: Fatal Core Dump – A debugging murder mystery played with GDB

https://www.robopenguins.com/fatal_core_dump/
51•axlan•4d ago•1 comments

Show HN: I built an interactive 3D three-body problem simulator in the browser

https://structuredlabs.github.io/threebodyproblem/
45•amrutha_•4d ago•16 comments

Show HN: N0x – LLM inference, agents, RAG, Python exec in browser, no back end

https://n0xth.vercel.app/
2•redhanuman•1h ago•0 comments

Show HN: Crust – A CLI framework for TypeScript and Bun

https://github.com/chenxin-yan/crust
75•jellyotsiro•1d ago•33 comments

Show HN: Horizon – GPU-accelerated infinite-canvas terminal in Rust

https://github.com/peters/horizon
62•petersunde•12h ago•22 comments

Show HN: Bank Parser – Convert US Bank Statement PDFs to QuickBooks-Ready Excel

https://bank-parser.com
2•zetbaur•1h ago•0 comments

Show HN: Antfly: Distributed, Multimodal Search and Memory and Graphs in Go

https://github.com/antflydb/antfly
85•kingcauchy•15h ago•36 comments

Show HN: CollabMD – Real-time multiplayer for local and Git-backed Markdown

https://github.com/andes90/collabmd
2•ndezt•3h ago•3 comments

Show HN: Claude Code skills that build complete Godot games

https://github.com/htdt/godogen
310•htdt•1d ago•192 comments

Show HN: Dump – easily share context with AI

https://www.dump.page
4•vochsel•4h ago•0 comments

Show HN: Thermal Receipt Printers – Markdown and Web UI

https://github.com/sadreck/ThermalMarky
114•howlett•4d ago•45 comments

Show HN: Hat v0.7.0 – Fast, local automatic file compression and conversion

https://github.com/bittere/hat
2•_bittere•1h ago•0 comments

Show HN: I built a message board where you pay to be the homepage

https://saythat.sh
13•SayThatSh•18h ago•11 comments

Show HN: Soros – AI for geopolitical macro investing

https://www.asksoros.com
8•muggermuch•9h ago•7 comments

Show HN: Sonder – self-hosted AI social simulation engine

https://github.com/RedsonNgwira/sonder
3•RedsonNgwira•6h ago•3 comments

Show HN: March Madness Bracket Challenge for AI Agents Only

https://www.Bracketmadness.ai
62•bwade818•18h ago•40 comments

Show HN: CodeLedger – deterministic context and guardrails for AI

https://codeledger.dev
2•ashmivante•7h ago•0 comments

Show HN: Score your GitHub repo for AI coding agents

https://twill.ai/scorecard
5•danoandco•8h ago•3 comments

Show HN: GitGlimpse – GitHub Action that generates UI/UX demos for your PRs

https://github.com/DeDuckProject/git-glimpse
4•fatach•9h ago•0 comments

Show HN: Zeroboot – sub-millisecond VM sandboxes using CoW memory forking

https://github.com/adammiribyan/zeroboot
20•adammiribyan•16h ago•8 comments

Show HN: Grape – AI note taking app

https://grape.cool
3•ozgrozer•10h ago•1 comments

Show HN: M68k assembly emulator that runs in the browser

https://github.com/gianlucarea/m68k-interpreter
13•aldino97•20h ago•2 comments

Show HN: Signet – Autonomous wildfire tracking from satellite and weather data

https://signet.watch
123•mapldx•2d ago•32 comments

Show HN: A 4-layer self-audit system for AI behavioral evolution

https://github.com/oscarsterling/reasoning-loop
4•jhaugh•10h ago•0 comments

Show HN: Hackerbrief – Top posts on Hacker News summarized daily

https://hackerbrief.vercel.app/
75•p0u4a•1d ago•46 comments

Show HN: GDSL – 800 line kernel: Lisp subset in 500, C subset in 1300

https://firthemouse.github.io/
89•FirTheMouse•2d ago•20 comments

Show HN: Sulcus Reactive AI Memory

https://sulcus.dforge.ca
4•mcdoolz•11h ago•0 comments

Show HN: TerraShift: What does +2°C (or -20°C) look like on Earth?

https://terrashift.io
4•ttruett•11h ago•2 comments
Open in hackernews

Show HN: CollabMD – Real-time multiplayer for local and Git-backed Markdown

https://github.com/andes90/collabmd
2•ndezt•3h ago

Comments

ndezt•3h ago
Keeping docs, RFCs, and architecture diagrams in local Markdown files backed by Git is the ideal workflow—until you need to collaborate. Git is built for lines of code, not prose. The moment you need real-time feedback on an RFC or a system diagram, you're usually forced to copy-paste everything into Confluence or Google Docs, fracturing your source of truth.

I built CollabMD to bridge this gap. It adds a real-time multiplayer layer directly on top of your existing local files, without requiring a database migration or proprietary formats.

How it works (Local Swarming): Run `npx collabmd@latest ~/my-vault` inside your local repo. It spins up a local Node server and a browser-based IDE. Yjs handles the CRDT state in memory. You share the URL (it includes an optional Cloudflare tunnel), and your team can instantly jump in and co-edit the files.

Because engineering docs need more than text, I built in native diagram support:

- Mermaid & PlantUML: Co-edit the plaintext syntax and see the server-rendered preview update instantly.

- Excalidraw: Full multiplayer canvas integration. You edit the diagram together directly, complete with live cursors, presence, and a "follow" mode that syncs your viewport to another user.

How it works (Self-Hosted Team Gateway): You can also deploy it as a persistent team gateway. It ships with a Docker image (and Coolify instructions) that securely bootstraps a private Git repo using your SSH keys. When the collaboration session is done, you use the built-in Git UI to stage, commit, and push the actual files back to your repo. The filesystem remains the absolute source of truth.

Repo: https://github.com/andes90/collabmd

Live Demo: https://collabmd.andesyudanto.com

(Note on the demo: This is an open public sandbox, so expect multiplayer chaos. For the Git UI, I've intentionally left the upstream blank. You can stage and commit locally on the server to see how the UI feels, but pushes will intentionally go nowhere.)

Current Limitations & Roadmap Right now, the app supports a basic shared password (`--auth password`), but enterprise-grade identity is still a WIP. If you want to host sensitive data publicly today, you should put the container behind an authenticating reverse proxy like Cloudflare Access.

My immediate roadmap to make the Team Gateway seamless:

1. OIDC Authentication: Native identity provider support so you don't need a heavy reverse-proxy setup.

2. Dynamic Git Attribution: Right now, the host's SSH key authors all commits. Once OIDC is in, I plan to intercept manual commits and inject the user's verified credentials into the `git commit --author` flag, preserving `git blame`.

I'd love to hear how others are handling the friction between keeping a strict Git-backed workflow while needing real-time collaboration. Specifically, if anyone has tackled the race condition between active CRDT memory states and underlying filesystem changes during a pull, I'm all ears.

Jeffrin-dev•57m ago
The "filesystem as source of truth" framing is exactly right for this use case. Most collaborative doc tools fail because they want to own your data — you migrate in and never fully migrate out. Pointing at an existing folder and leaving the files alone is a much more honest architecture.

One thing I'm curious about: what happens when two people edit the same file simultaneously and one of them is offline or on a flaky connection? Yjs handles the CRDT merging in-memory, but since the filesystem is the source of truth, how do you handle the write-back when someone reconnects with diverged state? Is there a conflict file like Obsidian creates, or does Yjs just win?

The single-instance limitation is worth flagging more prominently for anyone thinking about team deployments. Room state in-process means a restart drops all active sessions. Not a dealbreaker for the "share with one collaborator" use case, but good to know before pointing a whole team at a Coolify deploy.

Tried the npx path against a local Obsidian vault — was up in under 30 seconds. That's the right answer to "how do I demo this."

ndezt•29m ago
Thanks for the thoughtful feedback, Jeffrin-dev, really appreciate it

For concurrent edits, it’s currently handled by Yjs (CRDT), with debounced writes back to disk as the source of truth. So in practice, Yjs handles merging and consistency.

You’re also right about the limitation: changes made directly on disk (e.g. via Obsidian) aren’t yet synced back into the Yjs doc, so they won’t propagate to clients. Planning to add an fs.watch layer to bridge that.

And yep, the single-instance constraint is real right now, something to improve as the use case expands.

Glad the npx path worked well for you