Show HN: OpenWorkers – Self-hosted Cloudflare workers in Rust
I've been working on this for some time now, starting with vm2, then deno-core for 2 years, and recently rewrote it on rusty_v8 with Claude's help.
OpenWorkers lets you run untrusted JS in V8 isolates on your own infrastructure. Same DX as Cloudflare Workers, no vendor lock-in.
What works today: fetch, KV, Postgres bindings, S3/R2, cron scheduling, crypto.subtle.
Self-hosting is a single docker-compose file + Postgres.
Would love feedback on the architecture and what feature you'd want next.
Show HN: Enroll, a tool to reverse-engineer servers into Ansible config mgmt
Happy new year folks!
This tool was born out of a situation where I had 'inherited' a bunch of servers that were not under any form of config management. Oh, the horror...
Enroll 'harvests' system information such as what packages are installed, what services are running, what files have 'differed' from their out-of-the-box defaults, and what other custom snowflake data might exist.
The harvest state data can be kept as its own sort of SBOM, but also can be converted in a mere second or two into fully-functional Ansible roles/playbooks/inventory.
It can be run remotely over SSH or locally on the machine. Debian and Redhat-like systems are supported.
There is also a 'diff' mode to detect drift over time. (Years ago I used Puppet instead of Ansible and miss the agent/server model where it would check in and re-align to the expected state, in case people were being silly and side-stepping the config management altogether). For now, diff mode doesn't 'enforce' but is just capable of notification (webhook, email, stdout) if changes occur.
Since making the tool, I've found that it's even useful for systems where you already have in Ansible, in that it can detect stuff you forgot to put into Ansible in the first place. I'm now starting to use it as a 'DR strategy' of sorts: still favoring my normal Ansible roles day-to-day (they are more bespoke and easier to read), but running enroll with '--dangerous --sops' in the background periodically as a 'dragnet' catch-all, just in case I ever need it.
Bonus: it also can use my other tool JinjaTurtle, which converts native config files into Jinja2 templates / Ansible vars. That one too was born out of frustration, converting a massive TOML file into Ansible :)
Anyway, hope it's useful to someone other than me! The website has some demos and more documentation. Have fun every(any)-one.
Show HN: Wario Synth – Turn any song into Game Boy version
Search any song, get a Gameboy version.
Emulates Nintendo's Sharp LR35902 sound hardware: 2 pulse waves for melody/harmony, 1 wave channel for bass, 1 noise for percussion.
Finds MIDI sources, parses tracks, maps to GB roles, resynthesizes with Web Audio. Everything runs client-side.
Site: https://www.wario.style
Open source: https://github.com/b1rdmania/motif
Hobby project, non commercial, so please don't sue me.
Show HN: Ducklang: Achieving 100x more requests per second than NextJS
Duck (https://duck-lang.dev) is a statically typed, compiled programming language that combines the best of Rust, TypeScript and Go, aiming to provide an alternative for full-stack-development while being as familiar as possible
Improvements over Rust: - garbage collection simplifies developing network applications - no lifetimes - built-in concurrency runtime and apis for web development
Improvements over bun/node/typescript: - massive performance gains due to Go's support for parallel execution and native code generation - easier deployment since Duck compiles to a statically linked native executable that doesn't need dependencies - reduced complexity and costs since a single duck deployment massively outscales anything that runs javascript - streamlined toolchain management using duckup (compiler version manager) and dargo (build tool)
Improvements over Go: - a more expresive type system supporting Union types, Duck typing and tighter control over mutability - Server Side Rendering with a jsx-like syntax as well as preact components for frontend development - better error handling based on union types - a rust based reimplementation of tailwind that is directly integrated with the language (but optional to use) - type-safe json apis
Show HN: Tasker – An open-source desktop agent for browser and OS automation
Hi HN
I recently got married, promptly had a bit of a meltdown, and decided to lock myself in a room and build for a while.
At the same time, I was trying to outbound sell for my startup and kept running into the same problem: I wanted an automation tool that could actually use my computer like a person. Click through UIs, copy/paste between apps, handle messy workflows — not just APIs and webhooks.
I couldn’t find anything that felt: - consumer-friendly (non-technical) - local-first - flexible enough for real-world, UI-driven tasks
So I challenged myself to see how far I could get building an open-source, desktop automation app powered by AI. That’s Tasker.
I’ve been using it daily for ~2–3 weeks for sales workflows, and my father has been using it to help generate estimates for his HVAC business. It’s still early (still needs to expand to general OS), but it’s already replaced a lot of manual work for us in browser.
One thing that’s become very clear: a cloud/deployable version that can run on cron or be triggered via HTTP would unlock a lot of use cases. I’m not totally sure where this goes next, but I wanted to share it early and get feedback.
Would love thoughts on: - What workflows you’d actually trust something like this with - Desktop vs cloud tradeoffs - Where this breaks down in practice - Whether this feels useful or just scary
Repo and docs are linked on the site.
Show HN: I created a tool to design and create foamcore inserts for boardgames
As a holiday project to test out spec first development using Codex CLI, I ended up creating https://boxinsertdesigner.com/
It lets you design a box insert in 2D and spits out a cutting list.
I'm looking for feedback, bugs, feature ideas etc and figured this would be a good place to find it :)
Show HN: Use Claude Code to Query 600 GB Indexes over Hacker News, ArXiv, etc.
Paste in my prompt to Claude Code with an embedded API key for accessing my public readonly SQL+vector database, and you have a state-of-the-art research tool over Hacker News, arXiv, LessWrong, and dozens of other high-quality public commons sites. Claude whips up the monster SQL queries that safely run on my machine, to answer your most nuanced questions.
There's also an Alerts functionality, where you can just ask Claude to submit a SQL query as an alert, and you'll be emailed when the ultra nuanced criteria is met (and the output changes). Like I want to know when somebody posts about "estrogen" in a psychoactive context, or enough biology metaphors when talking about building infrastructure.
Currently have embedded: posts: 1.4M / 4.6M comments: 15.6M / 38M That's with Voyage-3.5-lite. And you can do amazing compositional vector search, like search @FTX_crisis - (@guilt_tone - @guilt_topic) to find writing that was about the FTX crisis and distinctly without guilty tones, but that can mention "guilt".
I can embed everything and all the other sources for cheap, I just literally don't have the money.
Show HN: BusterMQ, Thread-per-core NATS server in Zig with io_uring
Show HN: Feature detection exploration in Lidar DEMs via differential decomp
I'm not a geospatial expert — I work in AI/ML. This started when I was exploring LiDAR data with agentic assitince and noticed that different signal decomposition methods revealed different terrain features.
The core idea: if you systematically combine decomposition methods (Gaussian, bilateral, wavelet, morphological, etc.) with different upsampling techniques, each combination has characteristic "failure modes" that selectively preserve or eliminate certain features. The differences between outputs become feature-specific filters.
The framework tests 25 decomposition × 19 upsampling methods across parameter ranges — about 40,000 combinations total. The visualization grid makes it easy to compare which methods work for what.
Built in Cursor with Opus 4.5, NumPy, SciPy, scikit-image, PyWavelets, and OpenCV. Apache 2.0 licensed.
I'd appreciate feedback from anyone who actually works with elevation data. What am I missing? What's obvious to practitioners that I wouldn't know?
Show HN: VectorDBZ, a desktop GUI for vector databases
Hi HN,
I built VectorDBZ, a cross-platform desktop app for exploring and analyzing vector databases like Qdrant, Weaviate, Milvus, and ChromaDB.
It lets you browse collections, inspect vectors and metadata, run similarity searches, and visualize embeddings without writing custom scripts.
GitHub (downloads and issues): https://github.com/vectordbz/vectordbz
Feedback welcome. If it’s useful, starring the repo helps keep me motivated.
Thanks.
Show HN: An SVG Inspection Tool
Hello, I'm Gavin. I built this in my spare time to help debug/inspect/optimize SVGs in my design and frontend workflow. It has a few rough edges, but ready enough to share. Let me know what you think!
Show HN: Tools for Humans – Public Tracker for Workflows
Hello! I'm working on building out graph-based tools for humans!
Our first offering is a public tracker view, similar to the tracker provided by pizza companies in the US!
The goal is to enable companies to reduce status emails and build brand trust!
TurboOps are built on "workflows" which are just DAGs. We have a lot more plan but are focused on makers right now!
It's free to get started and to try it out, and build public graphs!
I'd really appreciate your thoughts, impressions, and/or criticisms.
Thank you!
danny@turbolytics.io
Show HN: Latent Signal - Curated feed for AI news
I kept losing track of what was happening in AI. It's scattered across Reddit, Discord, Twitter, arXiv, GitHub, Hugging Face. Things slip through constantly. So I built Latent Signal to consolidate it for myself.
It's a curated feed for AI news. Right now it's just me, but the goal is for the community to help surface what matters. Covers LLMs, image gen, video, audio, 3D, world models, tooling, and more. The design is entirely inspired by Hacker News.
Currently pulling from these sources: - Reddit - arXiv - Hugging Face - GitHub - Hacker News - Lobste.rs
You can browse immediately without signing up. Accounts are only needed if you want to vote or submit.
This is the first time I'm sharing it publicly. Would appreciate feedback on what's missing, what's broken, or if something like this already exists and I missed it.
https://latentsignal.fyi/
Show HN: 22 GB of Hacker News in SQLite
Community, All the HN belong to you. This is an archive of hacker news that fits in your browser. When I made HN Made of Primes I realized I could probably do this offline sqlite/wasm thing with the whole GBs of archive. The whole dataset. So I tried it, and this is it. Have Hacker News on your device.
Go to this repo (https://github.com/DOSAYGO-STUDIO/HackerBook): you can download it. Big Query -> ETL -> npx serve docs - that's it. 20 years of HN arguments and beauty, can be yours forever. So they'll never die. Ever. It's the unkillable static archive of HN and it's your hands. That's my Year End gift to you all. Thank you for a wonderful year, have happy and wonderful 2026. make something of it.
Show HN: Downmark – Turn webpages into distraction-free Markdown
Extracts main content from web pages and converts to Markdown. Uses Puppeteer for JS-heavy sites and Pandoc for conversion quality.
Demo: https://downmark.fly.dev
API: curl "https://downmark.fly.dev/markdown?q=URL" Code: https://github.com/adhipk/downmark
Feedback welcome.
Show HN: C-TURTL, a turtle graphics game
Happy New Year! Here's a small turtle graphics game I made for my kids, that I want to share. You write the "DNA" of the turtle, and watch what happens.
Any comments or suggestions appreciated!
Show HN: DroidDock – Browse Android files on Mac with a Finder-like experience
Show HN: DroidDock – Browse Android files on Mac with a Finder-like experience
DroidDock is a macOS app that allows you to browse files on your Android device via ADB. Built with Tauri (Rust + React).
Core features:
- Browse files with Table, Grid, or Column views
- Preview images/text without downloading (press Space)
- Full keyboard navigation
- Search, upload/download, multi-select
- Dark mode support
What's New in v0.2.x - File Previews: Press Space to preview images/text without downloading
- Minimalist UI: Clean 95% grayscale design with better readability
- Clickable Sorting: Click column headers (Name, Size, Date) to sort
- Kind Column: Shows file types at a glance (Image, Video, Document, etc.)
- Better Keyboard Navigation: Arrow keys in preview, Cmd shortcuts for everything
Tech DetailsBuilt with Tauri (Rust backend) + React/TypeScript frontend. Rust handles all ADB communication for good performance. Small bundle (~15MB DMG universal binary), lower memory than Electron.
Challenges
1. ADB Path Detection: Different package managers install ADB in different locations. Had to check 5+ common paths on startup.
2. Thumbnail Generation: Android doesn't expose a thumbnail API via ADB. I pull the first N bytes of image files and generate thumbnails on-the-fly with caching.
3. File Preview: ADB doesn't stream files – you have to pull the entire file. For large images, I had to implement chunked reading to check dimensions first.
4. Code Signing: Currently unsigned (requires $99/year Apple Developer membership). Users have to right-click → Open on first launch.
Open Source & FreeMIT licensed, no telemetry, no ads.
Website: https://rajivm1991.github.io/DroidDock/
Would love feedback!
Show HN: A local-first financial auditor using IBM Granite, MCP, and SQLite
Expense AI is an open-source project that uses machine learning and computer vision to automate the processing of expense receipts. It aims to streamline expense reporting by extracting relevant data from receipts and integrating with popular expense management platforms.
Show HN: A weekend project to visualize your HN usage in 2025
The article discusses a new website called HN-Summary that provides concise summaries of Hacker News articles, allowing users to quickly grasp the key points without reading the full content. The service aims to help busy professionals stay informed on the latest tech news and discussions.
Show HN: Earth.Org.UK public data snapshot including home energy timeseries
Show HN: MVP Guide for Startup Founders
This article provides a comprehensive guide for founders on building a Minimum Viable Product (MVP) for their startup. It covers the key steps in the MVP development process, including identifying customer needs, defining product features, building and testing the MVP, and iterating based on user feedback.
Show HN: ZScreenshot – Capture any viewport size without browser resize
Hey HN!
As a developer, I got frustrated with the screenshot workflow for documentation: Open DevTools → Set viewport size → Take screenshot → Switch tabs → Download → Open editor → Annotate → Save → Repeat...
Built ZScreenshot - a sidebar extension that keeps everything in one place. Set viewport once, capture instantly, edit in sidebar. No tab switching, no DevTools.
Free: • Custom viewport (consistent screenshot sizes, no sidebar interference) • Full-page capture (scrolling pages) • Tab recording with audio • Privacy-first (all local processing except authentication)
Pro (14-day free trial, no credit card): • Image editor (arrows, shapes, text, blur, emoji - instant annotations) • Collection (merge multiple screenshots for comparisons) • Bulk ZIP download • MP4 export
Everything happens in the sidebar: Capture → Edit → Download → Access history anytime.
Why no "select area before capture"? OS tools (Win+Shift+S, Cmd+Shift+4) already do this perfectly. ZScreenshot focuses on what they can't: viewport control, instant editing, history management. Plus, crop-after-capture gives more flexibility.
Chrome Web Store: https://chromewebstore.google.com/detail/zscreenshot/jdgmjck...
Show HN: Chat with people who share the same Internet connection (= IP address)
I built a simple, ephemeral chat service that connects you only with users who share the exact same public IP address as you.
It's essentially a temporary, isolated chat room defined by your NAT gateway.
It's not super useful nowadays, but let's see where this takes us. :)
Show HN: GitHub Action for AI/LLM Security Scanning in CI/CD
Show HN: Stop Claude Code from forgetting everything
I got tired of Claude Code forgetting all my context every time I open a new session: set-up decisions, how I like my margins, decision history. etc.
We built a shared memory layer you can drop in as a Claude Code Skill. It’s basically a tiny memory DB with recall that remembers your sessions. Not magic. Not AGI. Just state.
Install in Claude Code:
/plugin marketplace add https://github.com/mutable-state-inc/ensue-skill
/plugin install ensue-memory
# restart Claude Code
What it does: (1) persists context between sessions (2) semantic & temportal search (not just string grep). Basically git for your Claude brainWhat it doesn’t do: - it won’t read your mind - it’s alpha; it might break if you throw a couch at it
Repo: https://github.com/mutable-state-inc/ensue-skill
If you try it and it sucks, tell me why so I can fix it. Don't be kind, tia
Show HN: Awesome Symbian
An Awesome List about everything related to Symbian OS. Documentation, academic papers, tutorials, communities, IDEs, SDKs, emulators, apps, video games. Symbian is a discontinued mobile OS for ARM popular in early 2000s. It had two major UIs: S60(Nokia), and UIQ(Sony Ericsson). It supports `.jar`, `.jad`, `.sis`, `.sisx` formats. The main development environment since S60 is C++/QT, but J2ME, Python, C, Flash Lite, C# are supported as well.
Show HN: See what readers who loved your favorite book/author also loved to read
Hi HN,
Every year, we ask thousands of readers (and authors) to share their 3 favorite reads of the year.
Now you can enter a book/author you love and see what books readers loved who also loved that book/author.
Try it here: https://shepherd.com/bboy/2025
This goes wide and doesn't try to limit itself to the genre, so you get some interesting results.
What do you think?
Background:
I want better recommendations based on my reading history. I'm incredibly frustrated with what is out there.
This system is based on 5,000 readers voting on their 3 favorite reads from 2023 to 2025. So, this covers ~15,000 books and is a high-quality vote. We wanted to keep the dataset small for now while we play with approaches.
We are building a full Book DNA app that pulls in your Goodreads history and delivers deeply personalized book recommendations based on people who like similar books (a significant challenge).
You can sign up to beta test it here if you want to help me with that:
https://docs.google.com/forms/d/1VOm8XOMU0ygMSTSKi9F0nExnGwo...
The first beta is coming out in late January, but it's pretty basic to start.
Past Show HNs as we've built Shepherd:
https://news.ycombinator.com/item?id=40084193
https://news.ycombinator.com/item?id=38600246
https://news.ycombinator.com/item?id=26871660
Thanks, looking forward to your comments :)
Ben
Show HN: My not-for-profit search engine with no ads, no AI, & all DDG bangs
I've been working on a little open source [1] search engine, nilch. I noticed that nearly all well known search engines, including the alternative ones, tend to be run by companies of various sizes with the goal to make money, so they either fill your results with ads or charge you money, and I dislike this because search is the backbone of the internet and should not be commercial, so it runs in a not-for-profit style and aims to survive on donations. Additionally I'm personally really sick of AI in my search results so I got rid of that, and I wanted DuckDuckGo bangs so it supports all of them. Like many alternative search engines, it is fully private.
Sadly, it currently does not have its own index but rather uses the Brave search API. Once I'm in a financial position that it's possible, I would absolutely love to build a completely new index from the ground up which is open source, as well as an open source ranking and search algorithm, to back it.
I posted on Reddit and got an amazing amount of feedback which I implemented a number of feature requests, so I would really like your ideas, critiques, and bug reports as well. Thank you and sorry for the long post!
[1] https://github.com/UnmappedStack/nilch
Show HN: Brainrot Translator – Convert corporate speak to Gen Alpha and back
Hey HN, I built this because the generational gap online is getting wider (and weirder). It’s an LLM-wrapper that translates "Boomer" (normal/corporate English) into "Brainrot" (Gen Alpha slang) and vice versa. It also has an "Image-to-Rot" feature that uses vision to describe uploaded images in slang. It’s mostly for fun, but actually kind of useful for deciphering what your younger cousins are saying. Would love to hear what you think!
Show HN: Z80-μLM, a 'Conversational AI' That Fits in 40KB
How small can a language model be while still doing something useful? I wanted to find out, and had some spare time over the holidays.
Z80-μLM is a character-level language model with 2-bit quantized weights ({-2,-1,0,+1}) that runs on a Z80 with 64KB RAM. The entire thing: inference, weights, chat UI, it all fits in a 40KB .COM file that you can run in a CP/M emulator and hopefully even real hardware!
It won't write your emails, but it can be trained to play a stripped down version of 20 Questions, and is sometimes able to maintain the illusion of having simple but terse conversations with a distinct personality.
--
The extreme constraints nerd-sniped me and forced interesting trade-offs: trigram hashing (typo-tolerant, loses word order), 16-bit integer math, and some careful massaging of the training data meant I could keep the examples 'interesting'.
The key was quantization-aware training that accurately models the inference code limitations. The training loop runs both float and integer-quantized forward passes in parallel, scoring the model on how well its knowledge survives quantization. The weights are progressively pushed toward the 2-bit grid using straight-through estimators, with overflow penalties matching the Z80's 16-bit accumulator limits. By the end of training, the model has already adapted to its constraints, so no post-hoc quantization collapse.
Eventually I ended up spending a few dollars on Claude API to generate 20 questions data (see examples/guess/GUESS.COM), I hope Anthropic won't send me a C&D for distilling their model against the ToS ;P
But anyway, happy code-golf season everybody :)