Thursday, January 22, 2026

Show HN: Synesthesia, make noise music with a colorpicker https://ift.tt/7lLdNV2

Show HN: Synesthesia, make noise music with a colorpicker This is a (silly, little) app which lets you make noise music using a color picker as an instrument. When you click on a specific point in the color picker, a bit of JavaScript maps the binary representation of the clicked-on color's hex-code to a "chord" in the 24 tone-equal-temperament scale. That chord is then played back using a throttled audio generation method which was implemented via Tone.js. NOTE! Turn the volume way down before using the site. It is noise music. :) https://visualnoise.ca January 22, 2026 at 11:22AM

Wednesday, January 21, 2026

Show HN: Mirage – Experimental Java obf using reflection to break direct calls https://ift.tt/rIO3vb2

Show HN: Mirage – Experimental Java obf using reflection to break direct calls Replaces method calls and field accesses with reflection equivalents → makes static analysis and decompilers much less useful. Experimental, performance hit expected. https://ift.tt/DUmiYeX January 21, 2026 at 10:22PM

Show HN: I built a chess explorer that explains strategy instead of just stats https://ift.tt/vP9nJuG

Show HN: I built a chess explorer that explains strategy instead of just stats I built this because I got tired of Stockfish giving me evaluations (+0.5) without explaining the actual plan. Most opening explorers focus on statistics (Win/Loss/Draw). I wanted a tool that explains the strategic intent behind the moves (e.g., "White plays c4 to clamp down on d5" vs just "White plays c4"). The Project: Comprehensive Database: I’ve mapped and annotated over 3,500 named opening variations. It covers everything from main lines (Ruy Lopez, Sicilian) to deep sidelines. Strategic Visualization: The UI highlights key squares and draws arrows based on the textual explanation, linking the logic to the board state dynamically. Hybrid Architecture: For the 3,500+ core lines, it serves my proprietary strategic data. For anything deeper/rarer, it seamlessly falls back to the Lichess Master API so the explorer remains functional 20 moves deep. Stack: Next.js (App Router), MongoDB Atlas for the graph data, and Arcjet for security/rate-limiting. It is currently in Beta. I am working on expanding the annotated coverage, but the main theoretical landscape is mapped. Feedback on the UI/UX or the data structure is welcome. https://ift.tt/Fj4UeMQ January 21, 2026 at 09:26PM

Tuesday, January 20, 2026

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs https://ift.tt/ek1Qfr8

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs Hi HN, we're Sam, Shane, and Abhi. Almost a year ago, we first shared Mastra here ( https://ift.tt/AEfw5qe ). It’s kind of fun looking back since we were only a few months into building at the time. The HN community gave a lot of enthusiasm and some helpful feedback. Today, we released Mastra 1.0 in stable, so we wanted to come back and talk about what’s changed. If you’re new to Mastra, it's an open-source TypeScript agent framework that also lets you create multi-agent workflows, run evals, inspect in a local studio, and emit observability. Since our last post, Mastra has grown to over 300k weekly npm downloads and 19.4k GitHub stars. It’s now Apache 2.0 licensed and runs in prod at companies like Replit, PayPal, and Sanity. Agent development is changing quickly, so we’ve added a lot since February: - Native model routing: You can access 600+ models from 40+ providers by specifying a model string (e.g., `openai/gpt-5.2-codex`) with TS autocomplete and fallbacks. - Guardrails: Low-latency input and output processors for prompt injection detection, PII redaction, and content moderation. The tricky thing here was the low-latency part. - Scorers: An async eval primitive for grading agent outputs. Users were asking how they should do evals. We wanted to make it easy to attach to Mastra agents, runnable in Mastra studio, and save results in Mastra storage. - Plus a few other features like AI tracing (per-call costing for Langfuse, Braintrust, etc), memory processors, a `.network()` method that turns any agent into a routing agent, and server adapters to integrate Mastra within an existing Express/Hono server. (That last one took a bit of time, we went down the ESM/CJS bundling rabbithole, ran into lots of monorepo issues, and ultimately opted for a more explicit approach.) Anyway, we'd love for you to try Mastra out and let us know what you think. You can get started with `npm create mastra@latest`. We'll be around and happy to answer any questions! https://ift.tt/Z5HzFTi January 20, 2026 at 10:08PM

Show HN: Typing Tennis https://ift.tt/GmzbUVp

Show HN: Typing Tennis Hey HN, Here’s a quick weekend project: tennis, but played by typing. Try it out! https://ift.tt/ovecFiz January 20, 2026 at 11:36PM

Monday, January 19, 2026

Show HN: An interactive physics simulator with 1000's of balls, in your terminal https://ift.tt/8WXNOUJ

Show HN: An interactive physics simulator with 1000's of balls, in your terminal https://ift.tt/nejiUMw January 19, 2026 at 11:17PM

Show HN: Subth.ink – write something and see how many others wrote the same https://ift.tt/nqW6hPS

Show HN: Subth.ink – write something and see how many others wrote the same Hey HN, this is a small Haskell learning project that I wanted to share. It's just a website where you can see how many people write the exact same text as you (thought it was a fun idea). It's built using Scotty, SQLite, Redis and Caddy. Currently it's running in a small DigitalOcean droplet (1 Gb RAM). Using Haskell for web development (specifically with Scotty) was slightly easier than I thought, but still a relatively hard task compared to other languages. One of my main friction points was Haskell's multiple string-like types: String, Text (& lazy), ByteString (& lazy), and each library choosing to consume a different one amongst these. There is also a soft requirement to learn monad transformers (e.g. to understand what liftIO is doing) which made the initial development more difficult. https://subth.ink/ January 20, 2026 at 12:04AM

Sunday, January 18, 2026

Show HN: Xenia – A monospaced font built with a custom Python engine https://ift.tt/ZFeIj5n

Show HN: Xenia – A monospaced font built with a custom Python engine I'm an engineer who spent the last year fixing everything I hated about monofonts (especially that double-story 'a'). I built a custom Python-based procedural engine to generate the weights because I wanted more logical control over the geometry. It currently has 700+ glyphs and deep math support. Regular weight is free for the community. I'm releasing more weights based on interest. https://ift.tt/S7hcmwd January 18, 2026 at 04:09PM

Saturday, January 17, 2026

Show HN: ChunkHound, a local-first tool for understanding large codebases https://ift.tt/ys5rvWt

Show HN: ChunkHound, a local-first tool for understanding large codebases ChunkHound’s goal is simple: local-first codebase intelligence that helps you pull deep, core-dev-level insights on demand, generate always-up-to-date docs, and scale from small repos to enterprise monorepos — while staying free + open source and provider-agnostic (VoyageAI / OpenAI / Qwen3, Anthropic / OpenAI / Gemini / Grok, and more). I’d love your feedback — and if you have, thank you for being part of the journey! https://ift.tt/q7U3em5 January 18, 2026 at 02:33AM

Show HN: Docker.how – Docker command cheat sheet https://ift.tt/H08Tdwp

Show HN: Docker.how – Docker command cheat sheet https://docker.how/ January 18, 2026 at 01:47AM

Show HN: UAIP Protocol – Secure settlement layer for autonomous AI agents https://ift.tt/ge2Nylk

Show HN: UAIP Protocol – Secure settlement layer for autonomous AI agents Hi HN! Creator here. I built UAIP (Universal Agent Interoperability Protocol) - infrastructure that enables AI agents from different companies (OpenAI, Anthropic, Microsoft) to securely transact with each other. The Problem: As AI agents become autonomous economic actors, they need: Cryptographic identity (not just API keys) Secure payment rails for cross-company transactions Automated compliance (EU AI Act, SOC2, GDPR) Forensic audit trails The Solution: 5-layer security stack combining: Zero-Knowledge Proofs (Schnorr/Curve25519) for identity Multi-chain settlement (USDC on Base, Solana, Ethereum) RAG-based compliance auditing (Llama-3-Legal) Ed25519 signatures for non-repudiation Complete audit logging Technical Stack: Backend: Python, FastAPI, SQLite (WAL mode) Cryptography: NaCl, custom ZK-proof implementation Blockchain: Web3.py for multi-chain support Compliance: RAG with retrieval-augmented generation Use Case: GPT agent pays Claude agent for data analysis: Both prove identity via ZK-proofs Transaction checked for compliance Settled in USDC on Base (<$0.01 fee) Complete audit trail generated Why blockchain: Neutral settlement layer (no single company controls it) Instant microtransactions (traditional payments don't work for $0.01-$10) Programmable escrow (smart contracts) Verifiable computation (on-chain proofs) Open source (FSL-1.1-Apache-2.0). Built over the last few months after hitting these problems in AI automation work. Happy to answer technical questions! GitHub: https://github.com/jahanzaibahmad112-dotcom/UAIP-Protocol https://github.com/jahanzaibahmad112-dotcom/UAIP-Protocol January 18, 2026 at 01:12AM

Show HN: Minikv – Distributed key-value and object store in Rust (Raft, S3 API) https://ift.tt/CAJrRiP

Show HN: Minikv – Distributed key-value and object store in Rust (Raft, S3 API) Hi HN, I’m releasing minikv, a distributed key-value and object store in Rust. What is minikv? minikv is an open-source, distributed storage engine built for learning, experimentation, and self-hosted setups. It combines a strongly-consistent key-value database (Raft), S3-compatible object storage, and basic multi-tenancy. I started minikv as a learning project about distributed systems, and it grew into something production-ready and fun to extend. Features/highlights: - Raft consensus with automatic failover and sharding - S3-compatible HTTP API (plus REST/gRPC APIs) - Pluggable storage backends: in-memory, RocksDB, Sled - Multi-tenant: per-tenant namespaces, role-based access, quotas, and audit - Metrics (Prometheus), TLS, JWT-based API keys - Easy to deploy (single binary, works with Docker/Kubernetes) Quick demo (single node): git clone https://ift.tt/oSbDfhZ cd minikv cargo run --release -- --config config.example.toml curl localhost:8080/health/ready # S3 upload + read curl -X PUT localhost:8080/s3/mybucket/hello -d "hi HN" curl localhost:8080/s3/mybucket/hello Docs, cluster setup, and architecture details are in the repo. I’d love to hear feedback, questions, ideas, or your stories running distributed infra in Rust! Repo: https://ift.tt/j4l9zp6 Crate: https://ift.tt/H9PSnXe https://ift.tt/j4l9zp6 January 18, 2026 at 01:09AM

Friday, January 16, 2026

Show HN: Aventos – An experiment in cheap AI SEO https://ift.tt/3O6uvlE

Show HN: Aventos – An experiment in cheap AI SEO Hi HN, we built Aventos- a cheap way to track company mentions in LLMs. Aventos is an experiment we're doing after spending ~6 weeks working on various projects in the AI search / GEO / AEO space. One thing that surprised us is how most tools in this category work. Traditionally, they simulate ChatGPT or Perplexity queries by attempting to reverse engineer the search process. Over the past year, many have shifted to scraping live ChatGPT results instead, since those are signficantly cheaper and reflect more real outputs. Building and maintaining scrapers is tedious and fragile, so recently a number of SaaS products have emerged that effectively wrap a small number of third-party ChatGPT/Perplexity/Google AIO/etc scraping APIs. What felt odd to us is that many of these still tools charge $70–$200+ per month, despite largely being wrappers around the same underlying data providers. So we wanted to test a simple idea: if the core cost is just API usage and commodity infrastructure and software costs are lower because of AI, can we be a successful startup if we price near our costs? What we have so far: 1. Analytics similar to other tools (tracking AI citations, AI search results, and competitor mentions) 2. Content creation features (early and still being improved) We’d love feedback- especially from a non-marketing perspective on: * bugs * confusing terminology or tabs * anything that feels hand-wavy or misleading There’s a demo account available if you want to poke around: username: divit.endal4@gmail.com password: password Happy to answer questions about what other things we've built in the space, how these tools work, etc. https://ift.tt/lquNhQf January 16, 2026 at 08:27AM

Thursday, January 15, 2026

Show HN: The Hessian of tall-skinny networks is easy to invert https://ift.tt/fUHnXQD

Show HN: The Hessian of tall-skinny networks is easy to invert It turns out the inverse of the Hessian of a deep net is easy to apply to a vector. Doing this naively takes cubically many operations in the number of layers (so impractical), but it's possible to do this in time linear in the number of layers (so very practical)! This is possible because the Hessian of a deep net has a matrix polynomial structure that factorizes nicely. The Hessian-inverse-product algorithm that takes advantage of this is similar to running backprop on a dual version of the deep net. It echoes an old idea of Pearlmutter's for computing Hessian-vector products. Maybe this idea is useful as a preconditioner for stochastic gradient descent? https://ift.tt/Uvh1Ydu January 16, 2026 at 02:06AM

Show HN: I built an 11MB offline PDF editor because mobile Acrobat is 500MB https://ift.tt/QT0vetK

Show HN: I built an 11MB offline PDF editor because mobile Acrobat is 500MB https://revpdf.com/ January 16, 2026 at 12:30AM

Show HN: OpenWork – an open-source alternative to Claude Cowork https://ift.tt/62RzSWt

Show HN: OpenWork – an open-source alternative to Claude Cowork hi hn, i built openwork, an open-source, local-first system inspired by claude cowork. it’s a native desktop app that runs on top of opencode (opencode.ai). it’s basically an alternative gui for opencode, which (at least until now) has been more focused on technical folks. the original seed for openwork was simple: i have a home server, and i wanted my wife and i to be able to run privileged workflows. things like controlling home assistant, or deploying custom web apps (e.g. our customs recipe app recipes.benjaminshafii.com), legal torrents, without living in a terminal. our initial setup was running the opencode web server directly and sharing credentials to it. that worked, but i found the web ui unreliable and very unfriendly for non-technical users. the goal with openwork is to bring the kind of workflows i’m used to running in the cli into a gui, while keeping a very deep extensibility mindset. ideally this grows into something closer to an obsidian-style ecosystem, but for agentic work. some core principles i had in mind: - open by design: no black boxes, no hosted lock-in. everything runs locally or on your own servers. (models don’t run locally yet, but both opencode and openwork are built with that future in mind.) - hyper extensible: skills are installable modules via a skill/package manager, using the native opencode plugin ecosystem. - non-technical by default: plans, progress, permissions, and artifacts are surfaced in the ui, not buried in logs. you can already try it: - there’s an unsigned dmg - or you can clone the repo, install deps, and if you already have opencode running it should work right away it’s very alpha, lots of rough edges. i’d love feedback on what feels the roughest or most confusing. happy to answer questions. https://ift.tt/3ZKe06P January 14, 2026 at 10:25AM

Wednesday, January 14, 2026

Show HN: A fast CLI and MCP server for managing Lambda cloud GPU instances https://ift.tt/0jFPBKM

Show HN: A fast CLI and MCP server for managing Lambda cloud GPU instances I built an unofficial CLI and MCP server for Lambda cloud GPU instances. The main idea: your AI agents can now spin up and manage Lambda GPUs for you. The MCP server exposes tools to find, launch, and terminate instances. Add it to Claude Code, Cursor, or any agent with one command and you can say things like "launch an H100, ssh in, and run big_job.py" Other features: - Notifications via Slack, Discord, or Telegram when instances are SSH-ready - 1Password support for API keys - Also includes a standalone CLI with the same functionality Written in Rust. MIT licensed. Note: This is an unofficial community project, not affiliated with Lambda. https://ift.tt/uWFIS12 January 15, 2026 at 01:15AM

Show HN: Sparrow-1 – Audio-native model for human-level turn-taking without ASR https://ift.tt/x7cN2Ra

Show HN: Sparrow-1 – Audio-native model for human-level turn-taking without ASR For the past year I've been working to rethink how AI manages timing in conversation at Tavus. I've spent a lot of time listening to conversations. Today we're announcing the release of Sparrow-1, the most advanced conversational flow model in the world. Some technical details: - Predicts conversational floor ownership, not speech endpoints - Audio-native streaming model, no ASR dependency - Human-timed responses without silence-based delays - Zero interruptions at sub-100ms median latency - In benchmarks Sparrow-1 beats all existing models at real world turn-taking baselines I wrote more about the work here: https://ift.tt/xveHipb... https://ift.tt/15vubL8 January 14, 2026 at 11:31PM

Tuesday, January 13, 2026

Show HN: Timberlogs – Drop-in structured logging for TypeScript https://ift.tt/r5qi96G

Show HN: Timberlogs – Drop-in structured logging for TypeScript Hi HN! I built Timberlogs because I was tired of console.log in production and existing logging solutions requiring too much setup. Timberlogs is a drop-in structured logging library for TypeScript: npm install timberlogs-client import { createTimberlogs } from "timberlogs-client"; const timber = createTimberlogs({ source: "my-app", environment: "production", apiKey: process.env.TIMBER_API_KEY, }); timber.info("User signed in", { userId: "123" }); timber.error("Payment failed", error); Features: - Auto-batching with retries - Automatic redaction of sensitive data (passwords, tokens) - Full-text search across all your logs - Real-time dashboard - Flow tracking to link related logs It's currently in beta and free to use. Would love feedback from the HN community. Site: https://timberlogs.dev Docs: https://ift.tt/IbHUM5j npm: https://ift.tt/JhmFwp6 GitHub: https://ift.tt/2z4FtkC January 14, 2026 at 12:13AM

Show HN: Self-host Reddit – 2.38B posts, works offline, yours forever https://ift.tt/f1d5AVc

Show HN: Self-host Reddit – 2.38B posts, works offline, yours forever Reddit's API is effectively dead for archival. Third-party apps are gone. Reddit has threatened to cut off access to the Pushshift dataset multiple times. But 3.28TB of Reddit history exists as a torrent right now, and I built a tool to turn it into something you can browse on your own hardware. The key point: This doesn't touch Reddit's servers. Ever. Download the Pushshift dataset, run my tool locally, get a fully browsable archive. Works on an air-gapped machine. Works on a Raspberry Pi serving your LAN. Works on a USB drive you hand to someone. What it does: Takes compressed data dumps from Reddit (.zst), Voat (SQL), and Ruqqus (.7z) and generates static HTML. No JavaScript, no external requests, no tracking. Open index.html and browse. Want search? Run the optional Docker stack with PostgreSQL – still entirely on your machine. API & AI Integration: Full REST API with 30+ endpoints – posts, comments, users, subreddits, full-text search, aggregations. Also ships with an MCP server (29 tools) so you can query your archive directly from AI tools. Self-hosting options: - USB drive / local folder (just open the HTML files) - Home server on your LAN - Tor hidden service (2 commands, no port forwarding needed) - VPS with HTTPS - GitHub Pages for small archives Why this matters: Once you have the data, you own it. No API keys, no rate limits, no ToS changes can take it away. Scale: Tens of millions of posts per instance. PostgreSQL backend keeps memory constant regardless of dataset size. For the full 2.38B post dataset, run multiple instances by topic. How I built it: Python, PostgreSQL, Jinja2 templates, Docker. Used Claude Code throughout as an experiment in AI-assisted development. Learned that the workflow is "trust but verify" – it accelerates the boring parts but you still own the architecture. Live demo: https://online-archives.github.io/redd-archiver-example/ GitHub: https://ift.tt/mq3lREd (Public Domain) Pushshift torrent: https://ift.tt/ovtLhm9... https://ift.tt/mq3lREd January 13, 2026 at 09:05PM

Show HN: I scanned every YC Spring 2026 startup for what AI crawlers see https://ift.tt/XPyvnFL

Show HN: I scanned every YC Spring 2026 startup for what AI crawlers see Used 'potatometer.com' to scan and analyze all All 197 YC S...