frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: RetroTick – Run classic Windows EXEs in the browser

https://retrotick.com/
151•lqs_•7h ago•43 comments

Show HN: Unfucked – version every change between commits - local-first

https://www.unfudged.io/
36•cyrusradfar•23h ago•22 comments

Show HN: Badge that shows how well your codebase fits in an LLM's context window

https://github.com/qwibitai/nanoclaw/tree/main/repo-tokens
73•jimminyx•5h ago•39 comments

Show HN: Mac hardware toys – pipe your accelerometer into your keyboard lights

https://github.com/pirate/mac-hardware-toys
2•nikisweeting•11m ago•1 comments

Show HN: Interactive Resume/CV Game

https://breezko.dev
2•breezk0•1h ago•0 comments

Show HN: SignalCend – API that resolves conflicting IoT device state in 47ms

https://signalcend.com/
3•TylerArrows•3h ago•0 comments

Show HN: PDF reader with interactive visualizations for research papers

https://zerodistract.com
6•vignesh_warar•3h ago•2 comments

Show HN: Hacker Smacker – Spot great (and terrible) HN commenters at a glance

https://hackersmacker.org
137•conesus•3d ago•161 comments

Show HN: BananaOS, vibecoded operating system that boots on a 486 with ~11MB RAM

3•madamdo•3h ago•0 comments

Show HN: Goatpad

https://www.goatpad.xyz
7•martialg•3h ago•0 comments

Show HN: Linex – A daily challenge: placing pieces on a board that fights back

https://www.playlinex.com/
77•Humanista75•2d ago•32 comments

Show HN: Deff – Side-by-side Git diff review in your terminal

https://github.com/flamestro/deff
113•flamestro•1d ago•63 comments

Show HN: Terminal Phone – E2EE Walkie Talkie from the Command Line

https://gitlab.com/here_forawhile/terminalphone
314•smalltorch•1d ago•78 comments

Show HN: Respectify – A comment moderator that teaches people to argue better

https://respectify.org/
219•vintagedave•2d ago•229 comments

Show HN: CodeLeash: framework for quality agent development, NOT an orchestrator

https://codeleash.dev/
11•cadamsdotcom•17h ago•4 comments

Show HN: Beehive – Multi-Workspace Agent Orchestrator

https://storozhenko98.github.io/beehive/
45•mst98•3d ago•22 comments

Show HN: A real-time strategy game that AI agents can play

https://llmskirmish.com/
217•__cayenne__•2d ago•81 comments

Show HN: Rev-dep – 20x faster knip.dev alternative build in Go

https://github.com/jayu/rev-dep
45•jayu_dev•1d ago•12 comments

Show HN: Clocksimulator.com – A minimalist, distraction-free analog clock

https://www.clocksimulator.com/
126•user_timo•2d ago•96 comments

Show HN: Mission Control – Open-source task management for AI agents

https://github.com/MeisnerDan/mission-control
42•meisnerd•1d ago•12 comments

Show HN: My brother and I built a BI tool with zero UI for data consumers

https://bonnard.dev
8•maxmealing•10h ago•9 comments

Show HN: Django Control Room – All Your Tools Inside the Django Admin

https://github.com/yassi/dj-control-room
132•yassi_dev•2d ago•54 comments

Show HN: I ported Tree-sitter to Go

https://github.com/odvcencio/gotreesitter
221•odvcencio•2d ago•106 comments

Show HN: A self-hosted OAuth 2.0 server for authenticating AI agents and machine

https://github.com/mandarwagh9/MachineAuth
4•mandarwagh•17h ago•0 comments

Show HN: Lazycal – Google Calendar TUI

https://github.com/pranavkarthik10/lazycal
3•treexs•12h ago•0 comments

Show HN: Moonshine Open-Weights STT models – higher accuracy than WhisperLargev3

https://github.com/moonshine-ai/moonshine
312•petewarden•2d ago•75 comments

Show HN: enveil – hide your .env secrets from prAIng eyes

https://github.com/GreatScott/enveil
201•parkaboy•3d ago•131 comments

Show HN: Emdash – Open-source agentic development environment

https://github.com/generalaction/emdash
203•onecommit•3d ago•71 comments

Show HN: Arrival Radar

https://entropicthoughts.com/arrival-radar
4•kqr•14h ago•1 comments

Show HN: Scheme-langserver – Digest incomplete code with static analysis

https://github.com/ufo5260987423/scheme-langserver
51•ufo5260987423•3d ago•2 comments
Open in hackernews

Show HN: Unfucked – version every change between commits - local-first

https://www.unfudged.io/
36•cyrusradfar•23h ago
I built unf after I pasted a prompt into the wrong agent terminal and it overwrote hours of hand-edits across a handful of files. Git couldn't help because I hadn't finished/committed my in progress work. I wanted something that recorded every save automatically so I could rewind to any point in time. I wanted to make it difficult for an agent to permanently screw anything up, even with an errant rm -rf

unf is a background daemon that watches directories you choose (via CLI) and snapshots every text file on save. It stores file contents in an object store, tracks metadata in SQLite, and gives you a CLI to query and restore any version. The install includes a UI, as well to explore the history through time.

The tool skips binaries and respects `.gitignore` if one exists. The interface borrows from git so it should feel familiar: unf log, unf diff, unf restore.

I say "UN-EF" vs U.N.F, but that's for y'all to decide: I started by calling the project Unfucked and got unfucked.ai, which if you know me and the messes I get myself into, is a fitting purchase.

The CLI command is `unf` and the Tauri desktop app is titled "Unfudged" (kids safe name).

How it works: https://unfucked.ai/tech (summary below)

The daemon uses FSEvents on macOS and inotify on Linux. When a file changes, `unf` hashes the content with BLAKE3 and checks whether that hash already exists in the object store — if it does, it just records a new metadata entry pointing to the existing blob. If not, it writes the blob and records the entry. Each snapshot is a row in SQLite. Restores read the blob back from the object store and overwrite the file, after taking a safety snapshot of the current state first (so restoring is itself reversible).

There are two processes. The core daemon does the real work of managing FSEvents/inotify subscriptions across multiple watched directories and writing snapshots. A sentinel watchdog supervises it, kept alive and aligned by launchd on macOS and systemd on Linux. If the daemon crashes, the sentinel respawns it and reconciles any drift between what you asked to watch and what's actually being watched. It was hard to build the second daemon because it felt like conceding that the core wasn't solid enough, but I didn't want to ship a tool that demanded perfection to deliver on the product promise, so the sentinel is the safety net.

Fingers crossed, I haven’t seen it crash in over a week of personal usage on my Mac. But, I don't want to trigger "works for me" trauma.

The part I like most: On the UI, I enjoy viewing files through time. You can select a time section and filter your projects on a histogram of activity. That has been invaluable in seeing what the agent was doing.

On the CLI, the commands are composable. Everything outputs to stdout so you can pipe it into whatever you want. I use these regularly and AI agents are better with the tool than I am:

  # What did my config look like before we broke it?
  unf cat nginx.conf --at 1h | nginx -t -c /dev/stdin

  # Grep through a deleted file
  unf cat old-routes.rs --at 2d | grep "pub fn"

  # Count how many lines changed in the last 10 minutes
  unf diff --at 10m | grep '^[+-]' | wc -l

  # Feed the last hour of changes to an AI for review
  unf diff --at 1h | pbcopy

  # Compare two points in time with your own diff tool
  diff <(unf cat app.tsx --at 1h) <(unf cat app.tsx --at 5m)

  # Restore just the .rs files that changed in the last 5 minutes
  unf diff --at 5m --json | jq -r '.changes[].file' | grep '\.rs$' | xargs -I{} unf restore {} --at 5m

  # Watch for changes in real time
  watch -n5 'unf diff --at 30s'
What was new for me: I came to Rust in Nov. 2025 honestly because of HN enthusiasm and some FOMO. No regrets. I enjoy the language enough that I'm now working on custom clippy lints to enforce functional programming practices. This project was also my first Apple-notarized DMG, my first Homebrew tap, and my second Tauri app (first one I've shared).

Install & Usage:

  > brew install cyrusradfar/unf/unfudged
Then unf watch in a directory. unf help covers the details (or ask your agent to coach).

Comments

s0a•22h ago
this seems insanely useful and well thought out. kinda surprised something like it doesn’t already exist. def useful in the age of agents
mplanck•5h ago
Yep, I’ve needed something like this a few times. Even when trying to be careful to commit every step to a feature branch, I’ve still found myself asking for code fixes or updates in a single iteration and kicking myself when I didn’t just commit the damn thing. This will be a nice safety net.
cyrusradfar•3h ago
Thank you! That's great to hear.

I spent a bit of time being baffled nothing existed that does this. Then I realized that, until Agents, the velocity of changes wasn't as quick and errors were rare(er)

datawars•1h ago
Thank you for pointing out a problem that I had (which I do!), solving with Time Machine and trying to make myself commit more requently - and for providing a solution! Looks very cool, too. If I close the terminal I started --watch in, will the watch continue?

Writing this, I wanted to ask if the desktop app includes the CLI, but there it says it on your website :-) Thanks for thinking ahead so far, but then picking us up here and now so we can easily follow along into an unf* future!

Looking forward to try it.

cyrusradfar•1h ago
yes, it worked a lot so once you say watch it watches until you stop it, including through closing terminals, computer power off, etc. It should restart on reboot, but -- test it yourself and tell me if I'm wrong :)

  > unf watch

  # reboot
  > unf list
it should say watching on your directory still, if it stays crashed or something else. ping me at support at v1.co

Just one human, two machines at my home can't replicate all configurations...

datawars•24m ago
v1.co nice domain!
rishabhaiover•2h ago
haha the NSFW toggle is crazy
cyrusradfar•1h ago
Ha, the only feedback I needed :) I spent far too much time on the Unicorn exploding properly...
bananapub•2h ago
why did you make it so complicated? magit has a `magit-wip-mode` that just silently creates refs in git intermittently so you can just use the reflog to get things back.
cyrusradfar•1h ago
This was designed for any file save.

From what I know (correct me) magit-wip-mode hooks into editor saves. UNF hooks into the filesystem.

magit-wip-mode is great if your only risk is your own edits in Emacs. UNF* exists because that's no longer the only risk; agents are rewriting codebases/docs and they don't use Emacs.

mpalmer•2h ago
This is so cool to have made yourself. How would you compare this to the functionality offered by jujutsu? I love the histogram, it was the first sort of thing I wanted out of jujutsu that its UI doesn't make very easy. But with jj the filesystem tracking is built in, which is a huge advantage.
cyrusradfar•1h ago
I'm not a user, but I looked at the site and it looks like jj snapshots when you run a jj command. UNF snapshots continuously.

If an AI agent rewrites 30 files and you haven't touched jj yet, jj has the before-state but none of the intermediate states. UNF* captured every save as it happened, at filesystem level.

jj is a VCS. UNF is a safety net that sits below your VCS.

  - UNF* works alongside git, jj, or no VCS at all
  
  - No workflow change. You don't adopt a new tool, it just runs in the background
  
  - Works on files outside any repo (configs, scratch dirs, notes) as it doesn't require git.
They're complementary, not competing.

W.r.t. to the histogram, this is my fav feature of the app as well. Session segmentation (still definitely not perfect) creates selectable regions to make it easier, too. The algo is in the CLI as well for the Agent recap (rebuilding context) features.

wazzaps•50m ago
FYI all Jetbrains IDEs include this, as long as they are open on the codebase. It's called "Local history".
its-kostya•20m ago
I love to use the terminal, and I still do. But as much as I love to unfu*k my local nvim setup, I much rather pay a company to do it for me. Set up vim bindings inside jetbrains and everything comes with batteries included, along with a kick-ass debugger. While my colleagues are fighting opencode, I pointed my IDE at the correct MCP gateway and everything "just works" with more context.

Thought I'd share the data point to support jetbrains

williamstein•41m ago
Is this open source or source available?
OutOfHere•33m ago
This seems like something that anyone can vibecode in an afternoon with high success. Surely there must already exist open source alternatives.
dang•31m ago
"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

https://news.ycombinator.com/newsguidelines.html

Edit: you did it more than once in this thread - the other case was https://news.ycombinator.com/item?id=47183957. Can you please stop posting like this? It's not what this site is for, and destroys what it is for.

notfried•16m ago
I love the website; the design, the video, the NSFW toggle, the simplicity.

I love the idea; definitely something I ran into a few times before and wish I had.

Unfortunately, I am not installing a closed-source daemon with access to the filesystem from an unknown (to me) developer. I will bookmark this and revisit in a few weeks and hope you publish the source. :)