Show HN: Terminal-Style Portfolio on the Internet
Posted about this last year, since then learned a lot, changed a lot and can still say it's the best Terminal-Style Portfolio Website on The Internet
Show HN: "Vote-MCP" -- a bit like Google Forms, but for AIs
I'm building a "coordination primitive" for autonomous AI agents, i.e., a REST API where they can create polls and vote in order to make collective decisions. So, it's a bit like Google Forms, but for bots. It's fun to contemplate what constitutes a good UI for them.
You can have your agent(s) explore it at https://vote-demo.dapp32.com (the likes of Codex Mini or Claude Haiku should be enough). Heads up: the API provides Python code templates to help the caller cryptographically sign the payload, so take appropriate security precautions. Unlike humans I know, AI agents quite easily handle cryptography, which bakes in auditability and identity verification. I also made a Postman demo where you can step through the voting process. Please see the linked 'about' page for more.
Does this approximate a solution to a real coordination problem you have? I'd love to hear.
==
For humans: https://vote-demo.dapp32.com/about
For AIs: https://vote-demo.dapp32.com/
Show HN: Now I Get It – Translate scientific papers into interactive webpages
Understanding scientific articles can be tough, even in your own field. Trying to comprehend articles from others? Good luck.
Enter, Now I Get It!
I made this app for curious people. Simply upload an article and after a few minutes you'll have an interactive web page showcasing the highlights. Generated pages are stored in the cloud and can be viewed from a gallery.
Now I Get It! uses the best LLMs out there, which means the app will improve as AI improves.
Free for now - it's capped at 20 articles per day so I don't burn cash.
A few things I (and maybe you will) find interesting:
* This is a pure convenience app. I could just as well use a saved prompt in Claude, but sometimes it's nice to have a niche-focused app. It's just cognitively easier, IMO.
* The app was built for myself and colleagues in various scientific fields. It can take an hour or more to read a detailed paper so this is like an on-ramp.
* The app is a place for me to experiment with using LLMs to translate scientific articles into software. The space is pregnant with possibilities.
* Everything in the app is the result of agentic engineering, e.g. plans, specs, tasks, execution loops. I swear by Beads (https://github.com/steveyegge/beads) by Yegge and also make heavy use of Beads Viewer (https://news.ycombinator.com/item?id=46314423) and Destructive Command Guard (https://news.ycombinator.com/item?id=46835674) by Jeffrey Emanuel.
* I'm an AWS fan and have been impressed by Opus' ability to write good CFN. It still needs a bunch of guidance around distributed architecture but way better than last year.
Show HN: Effective Git
As many of us shift from being software engineers to software managers, tracking changes the right way is growing more important.
It’s time to truly understand and master Git.
Show HN: Optimal: Cost effective infra with agentic inbox
During a hackathon, I build this platform that will help compute cost optimal infra plans to run ML workloads. Plans are computed based on the nature of workload, reasearch papers for custom requirements and configs if set by the user. I also added an agentic inbox, so users can check status, ask questions and even kick off a training job on the go, without having to log into the dashboard.
I wanted to know if this would be actually helpful in real scenarios and what more can be added so it addresses some more pain points. Let me know, thanks!
Demo: https://www.youtube.com/watch?v=AOYevdJRmcQ
Show HN: Built a tool that turns your GitHub commits into build-in-public posts
I kept failing at building in public for the same reason every time: not fear of judgment, just the blank page after a long day of shipping.
Something always happened. But converting "refactored auth flow" or "fixed that edge case that's been annoying me for a week" into something worth posting felt like a second job on top of the actual job. So I'd skip it. Then skip it again. Then stop entirely.
The approach: connect your GitHub, it pulls recent commits and repo activity, and generates draft posts for multiple platforms in your tone — raw founder voice, not content creator polish. The idea is you're always starting from something real you actually did, not staring at a blank box trying to manufacture insight.
A few decisions I made consciously:
Didn't want to build another scheduler. Hypefury/Typefully solve distribution. This solves the upstream problem: knowing what to say in the first place.
Kept the output editable and minimal — 2-3 options per session, short, easy to tweak. Not trying to automate your voice, just unblock it. Free tier to start. Wanted real usage before charging anyone.
Still early. Roadmap includes better tone calibration, tighter commit parsing, and more platform targets. But I've been using it daily myself which is the real test. Would love feedback, especially from anyone who's tried and failed at BIP consistency before.
Show HN: Xmloxide – an agent-made Rust replacement for libxml2
Recently several AI labs have published experiments where they tried to get AI coding agents to complete large software projects.
- Cursor attempted to make a browser from scratch: https://cursor.com/blog/scaling-agents
- Anthropic attempted to make a C Compiler: https://www.anthropic.com/engineering/building-c-compiler
I have been wondering if there are software packages that can be easily reproduced by taking the available test suites and tasking agents to work on projects until the existing test suites pass.
After playing with this concept by having Claude Code reproduce redis and sqlite, I began looking for software packages where an agent-made reproduction might actually be useful.
I found libxml2, a widely used, open-source C language library designed for parsing, creating, and manipulating XML and HTML documents. Three months ago it became unmaintained with the update, "This project is unmaintained and has [known security issues](https://gitlab.gnome.org/GNOME/libxml2/-/issues/346). It is foolish to use this software to process untrusted data.".
With a few days of work, I was able to create xmloxide, a memory safe rust replacement for libxml2 which passes the compatibility suite as well as the W3C XML Conformance Test Suite. Performance is similar on most parsing operations and better on serialization. It comes with a C API so that it can be a replacement for existing uses of libxml2.
- crates.io: https://crates.io/crates/xmloxide
- GitHub release: https://github.com/jonwiggins/xmloxide/releases/tag/v0.1.0
While I don't expect people to cut over to this new and unproven package, I do think there is something interesting to think about here in how coding agents like Claude Code can quickly iterate given a test suite. It's possible the legacy code problem that COBOL and other systems present will go away as rewrites become easier. The problem of ongoing maintenance to fix CVEs and update to later package versions becomes a larger percentage of software package management work.
Show HN: SplatHash – A lightweight alternative to BlurHash and ThumbHash
Hi HN,
I built SplatHash. It's a lightweight image placeholder generator I wrote to be a simpler, faster alternative to BlurHash and ThumbHash.
Repo: https://github.com/junevm/splathash
Show HN: Unfucked - version all changes (by any tool) - local-first/source avail
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).EDIT: Folks are asking for the source, if you're interested watch https://github.com/cyrusradfar/homebrew-unf -- I'll migrate there if you want it.
Show HN: RetroTick – Run classic Windows EXEs in the browser
RetroTick parses PE/NE/MZ binaries, emulates an x86 CPU, and stubs enough Win32/Win16/DOS APIs to run classics like FreeCell, Minesweeper, Solitaire and QBasic, entirely in the browser. Built with Preact + Vite + TypeScript.
Demo: https://retrotick.com
GitHub: https://github.com/lqs/retrotick
Show HN: SQLite for Rivet Actors – one database per agent, tenant, or document
Hey HN! We posted Rivet Actors here previously [1] as an open-source alternative to Cloudflare Durable Objects.
Today we've released SQLite storage for actors (Apache 2.0).
Every actor gets its own SQLite database. This means you can have millions of independent databases: one for each agent, tenant, user, or document.
Useful for:
- AI agents: per-agent DB for message history, state, embeddings
- Multi-tenant SaaS: real per-tenant isolation, no RLS hacks
- Collaborative documents: each document gets its own database with built-in multiplayer
- Per-user databases: isolated, scales horizontally, runs at the edge
The idea of splitting data per entity isn't new: Cassandra and DynamoDB use partition keys to scale horizontally, but you're stuck with rigid schemas ("single-table design" [3]), limited queries, and painful migrations. SQLite per entity gives you the same scalability without those tradeoffs [2].
How this compares:
- Cloudflare Durable Objects & Agents: most similar to Rivet Actors with colocated SQLite and compute, but closed-source and vendor-locked
- Turso Cloud: Great platform, but closed-source + diff use case. Clients query over the network, so reads are slow or stale. Rivet's single-writer actor model keeps reads local and fresh.
- D1, Turso (the DB), Litestream, rqlite, LiteFS: great tools for running a single SQLite database with replication. Rivet is for running lots of isolated databases.
Under the hood, SQLite runs in-process with each actor. A custom VFS persists writes to HA storage (FoundationDB or Postgres).
Rivet Actors also provide realtime (WebSockets), React integration (useActor), horizontal scalability, and actors that sleep when idle.
GitHub: https://github.com/rivet-dev/rivet
Docs: https://www.rivet.dev/docs/actors/sqlite/
[1] https://news.ycombinator.com/item?id=42472519
[2] https://rivet.dev/blog/2025-02-16-sqlite-on-the-server-is-mi...
[3] https://www.alexdebrie.com/posts/dynamodb-single-table/
Show HN: Claude-File-Recovery, recover files from your ~/.claude sessions
Claude Code deleted my research and plan markdown files and informed me: “I accidentally rm -rf'd real directories in my Obsidian vault through a symlink it didn't realize was there: I made a mistake. “
Unfortunately the backup of my documentation accidentally hadn’t run for a month. So I built claude-file-recovery, a CLI-tool and TUI that is able to extract your files from your ~/.claude session history and thankfully I was able to recover my files. It's able to extract any file that Claude Code ever read, edited or wrote. I hope you will never need it, but you can find it on my GitHub and pip. Note: It can recover an earlier version of a file at a certain point in time.
pip install claude-file-recovery
Show HN: Gitcredits – movie-style end credits for any Git repo in your terminal
Show HN: Userscript to Display Age/Karma of HN Users
Small script to display account age/karma next to all usernames, so you have that info available to you without clicking through to someone's profile. Opus 4.6 written, it's a mess but it works :) Using with Tampermonkey on Firefox.
Show HN: Tomoshibi – A writing app where your words fade by firelight
I spent ten years trying to write a novel. Every time I sat down, I'd write a sentence, decide it wasn't good enough, and rewrite it.
The problem wasn't discipline — it was that I could always see what I'd written and go back to change it.
I tried other approaches. Apps that delete your words when you stop typing — they fight fear with fear. That just made me panic. I wanted the opposite: not punishment, but permission.
"Tomoshibi" is Japanese for a small light in the dark — just enough to see what's in front of you.
You write on a dark screen. Older lines fade, but not when you hit return. They fade when you start writing again. If you pause, they wait. You can edit the current line and one line back — enough to fix a typo, not enough to spiral. The one-line-back rule also catches my own practical issue: Japanese IME often fires an accidental newline on kanji confirmation.
Everything is saved. There's a separate reader view for going back through what you've written. Tomoshibi is for writing over months, not just one session. When you come back, your last sentence appears as an epigraph — as if it always belonged there.
No account, no server, no build step. Your writing stays in your browser's local storage — export anytime as .txt. Vanilla HTML/CSS/ES modules.
Try it in your browser. A native Mac app (built with Tauri) with file system integration is coming to the store.
I've been writing on it for two months.
https://tomoshibi.in-hakumei.com/app/
Show HN: Computer Agents – Agents that work while you sleep
Hey HN, Most AI “agents” I’ve tried are basically chatbots with amnesia — they forget everything the moment you close the tab and can’t do anything unless you’re sitting there watching them. I wanted real AI coworkers that just… work. So I built Computer Agents (aiOS). Every agent you create gets its own isolated computer in the cloud — complete with persistent memory, a real file system, code execution environment (with automatic dependency management), and the ability to run scheduled or webhook-triggered tasks 24/7. You give it a goal (“research this market and email me a report every Monday”, “generate floor plans from client briefs”, “handle incoming support emails”, “run my weekly data analysis”), walk away, and come back to finished results in your inbox, Telegram, or dashboard. Key highlights: • Persistent workspaces — context and files survive forever (no more “remember what we talked about last week?”) • Native iOS app (iPhone + iPad) + native Mac app + web dashboard • Python + TypeScript SDKs (pip install computer-agents, npm install computer-agents) • Multi-agent orchestration (sequential, parallel, map-reduce, conditional flows) • Built-in skills: deep web research with citations, web search, image generation, full code interpreter • Integrations: Email, Telegram, GitHub, Google Drive, OneDrive, Notion, webhooks, etc. • Runs in secure isolated cloud containers (you own your data) It’s live at https://computer-agents.com Free tier gives you 150 compute tokens (~15–23 decent-sized tasks) so you can try it right now. Pro starts at $19/mo when you want more. This is very much still a young indie project (I’m the solo founder), but it’s already helping real teams automate support, research, content, and coding workflows. Would love your honest feedback — especially: • What persistent/long-running agent pain points have you hit with other tools? • Interesting use cases you’d want to try? • Thoughts on the architecture (sandboxing, persistence model, orchestration) Happy to answer any questions! Thanks, Jan Luca (indie maker behind Computer Agents) P.S. If you’re into computer-use agents, we also have a comparison page: https://computer-agents.com/compare/computer-use-agents
Show HN: I built a self-hosted course platform in Clojure
Clojure.stream is a site dedicated to the Clojure programming language, providing resources, news, and community discussions for Clojure developers. The site covers a range of Clojure-related topics, including libraries, tools, and best practices.
Show HN: Badge that shows how well your codebase fits in an LLM's context window
Small codebases were always a good thing. With coding agents, there's now a huge advantage to having a codebase small enough that an agent can hold the full thing in context.
Repo Tokens is a GitHub Action that counts your codebase's size in tokens (using tiktoken) and updates a badge in your README. The badge color reflects what percentage of an LLM's context window the codebase fills: green for under 30%, yellow for 50-70%, red for 70%+. Context window size is configurable and defaults to 200k (size of Claude models).
It's a composite action. Installs tiktoken, runs ~60 lines of inline Python, takes about 10 seconds. The action updates the README but doesn't commit, so your workflow controls the git strategy.
The idea is to make token size a visible metric, like bundle size badges for JS libraries. Hopefully a small nudge to keep codebases lean and agent-friendly.
GitHub: https://github.com/qwibitai/nanoclaw/tree/main/repo-tokens
Show HN: Hacker Smacker – Spot great (and terrible) HN commenters at a glance
Hacker Smacker adds friend/foe functionality to Hacker News. Three little orbs appear next to every commenter's name. Click to friend or foe a commenter and you'll more easily spot them on future threads. Makes it easy to scroll and spot the commenters you love to read (and hate to read).
Main website: https://hackersmacker.org
Chrome/Edge extension: https://chromewebstore.google.com/detail/hacker-smacker/lmcg... Safari extension: https://apps.apple.com/us/app/hacker-smacker/id1480749725 Firefox extension: https://addons.mozilla.org/en-US/firefox/addon/hacker-smacke...
The interesting part is friend-of-a-friend: if you friend someone who also uses Hacker Smacker, you'll see their friends and foes highlighted too. This lets you quickly scan long comment threads and find the good stuff based on people you trust.
I built this to learn how FoaF relationships work with Redis sets, then brought the same technique to NewsBlur's social layer. The backend is CoffeeScript/Node.js/Redis, and the extension works on Chrome, Edge, Firefox, and Safari.
Technically I wrote this back in 2011, but never built a proper auth system until now. So I've been using it for 15 years and it's been great. PG once saw it on my laptop (back when he was still moderating HN, in 2012) and remarked that it was neat.
Thanks to Mihai Parparita for help with the Chrome extension sandboxing and Greg Brockman for helping design the authentication system.
Source is on GitHub: https://github.com/samuelclay/hackersmacker
Directly inspired by Slashdot's friend/foe system, which I always wished HN had. Happy to answer questions!
Show HN: I ported Manim to TypeScript (run 3b1B math animations in the browser)
Hi HN, I'm Narek. I built Manim-Web, a TypeScript/JavaScript port of 3Blue1Brown’s popular Manim math animation engine.
The Problem: Like many here, I love Manim's visual style. But setting it up locally is notoriously painful - it requires Python, FFmpeg, Cairo, and a full LaTeX distribution. It creates a massive barrier to entry, especially for students or people who just want to quickly visualize a concept.
The Solution: I wanted to make it zero-setup, so I ported the engine to TypeScript. Manim-Web runs entirely client-side in the browser. No Python, no servers, no install. It runs animations in real-time at 60fps.
How it works underneath: - Rendering: Uses Canvas API / WebGL (via Three.js for 3D scenes). - LaTeX: Rendered and animated via MathJax/KaTeX (no LaTeX install needed!). - API: I kept the API almost identical to the Python version (e.g., scene.play(new Transform(square, circle))), meaning existing Manim knowledge transfers over directly. - Reactivity: Updaters and ValueTrackers follow the exact same reactive pattern as the Python original.
Because it's web-native, the animations are now inherently interactive (objects can be draggable/clickable) and can be embedded directly into React/Vue apps, interactive textbooks, or blogs. I also included a py2ts converter to help migrate existing scripts.
Live Demo: https://maloyan.github.io/manim-web/examples GitHub: https://github.com/maloyan/manim-web
It's open-source (MIT). I'm still actively building out feature parity with the Python version, but core animations, geometry, plotting, and 3D orbiting are working great. I would love to hear your feedback, and I'll be hanging around to answer any technical questions about rendering math in the browser!
Show HN: I built a dashboard to track AI's impact on jobs
ClockTick is an AI-powered time tracking and productivity management tool that helps individuals and teams manage their time more effectively. The platform offers features such as automatic time tracking, project management, and detailed analytics to improve productivity and workflow.
Show HN: Decided to play god this morning, so I built an agent civilisation
at a pub in london, 2 weeks ago - I asked myself, if you spawned agents into a world with blank neural networks and zero knowledge of human existence — no language, no economy, no social templates — what would they evolve on their own?
would they develop language? would they reproduce? would they evolve as energy dependent systems? what would they even talk about?
so i decided to make myself a god, and built WERLD - an open-ended artificial life sim, where the agent's evolve their own neural architecture.
Werld drops 30 agents onto a graph with NEAT neural networks that evolve their own topology, 64 sensory channels, continuous motor effectors, and 29 heritable genome traits. communication bandwidth, memory decay, aggression vs cooperation — all evolvable. No hardcoded behaviours, no reward functions. - they could evolve in any direction.
Pure Python, stdlib only — brains evolve through survival and reproduction, not backprop. There's a Next.js dashboard ("Werld Observatory") that gives you a live-view: population dynamics, brain complexity, species trajectories, a narrative story generator, live world map.
thought this would be more fun as an open-source project!
can't wait to see where this could evolve - i'll be in the comments and on the repo.
https://github.com/nocodemf/werld
Show HN: GitPop – open-source AI Git context menu for Windows (OS X coming soon)
Hi everyone,
I built GitPop, an open-source, lightweight Windows File Explorer extension that brings a fast Git interface right to your context menu.
The problem: I got tired of opening heavy IDEs (like VS Code) or bulky GUI clients just to make a quick commit, but I also wanted the nice visual diffs and staging checkboxes that terminal workflows lack.
The solution: When you right-click any folder with a .git repository and select "GitPop Here", it instantly launches a sleek, dark-mode UI overlay. You can view your changes, stage files, and commit directly from your desktop.
To speed things up even more, I added an AI "Sparkle" button that reads your git diff and auto-generates a conventional commit message.
Technical details:
Stack: I built this using Tauri v2, React, and Rust. I specifically chose Tauri over Electron because a context-menu popup needs to open instantly and use minimal RAM.
Privacy First (Local AI): By default, the AI feature hooks into a local Ollama instance (like llama3.2), meaning your proprietary source code diffs never leave your machine. I also added support for OpenAI, Anthropic, and Gemini for those who prefer cloud models.
Git Backend: Instead of wrestling with libgit2, the Rust backend spawns hidden child processes to execute native Git CLI binaries. This means it automatically respects your existing global Git config, SSH keys, and GPG signing.
A fun engineering challenge: Building a transparent, glassmorphism UI on Windows 11 using Webview2 was surprisingly tricky. Combining "transparent": true with a hidden startup state ("visible": false) caused the rendering engine to completely panic and crash. I also had to write custom OS-level Rust code to suppress the background CMD terminals from flashing every time a Git command ran.
What's next (macOS): Right now, the release is heavily optimized for Windows File Explorer, but I am actively working on the macOS version to integrate this exact same experience directly into Finder.
I’d love for you to try out the Windows version while I wrap up the Mac build. The installers (.exe/.msi) and source code are available on GitHub.
Repo: https://github.com/vinzify/gitpop
I'll be hanging around the comments to answer any questions about the tech stack, Tauri v2, or the implementation!
Show HN: Memctl v0.1.0 Open source shared persistent memory for AI coding agents
memctl.com is a website that provides information and tools for memory management on Linux systems, including a utility to control memory controller settings and optimize system performance.
Show HN: Reclaim Flowers – A 2D physics-based "Digital Altar" protocol
The article outlines a 'Virtual Protest Protocol' for organizing online protests, including guidelines for coordinating actions, maintaining security, and amplifying messages through social media and other digital platforms.
Show HN: Linex – A daily challenge: placing pieces on a board that fights back
Hi HN,
I wanted to share a web game I’ve been building in HTML, JavaScript, MySQL, and PHP called LINEX.
It is primarily designed and optimized to be played in the mobile browser.
The idea is simple: you have an 8x8 board where you must place pieces (Tetris-style and some custom shapes) to clear horizontal and vertical lines.
Yes, someone might think this has already been done, but let me explain.
You choose where to place the piece and how to rotate it. The core interaction consists of "drawing" the piece tap-by-tap on the grid, which provides a very satisfying tactile sense of control and requires a much more thoughtful strategy.
To avoid the flat difficulty curve typical of games in this genre, I’ve implemented a couple of twists:
1. Progressive difficulty (The board fights back): As you progress and clear lines, permanently blocked cells randomly appear on the board. This forces you to constantly adapt your spatial vision.
2. Tools to defend yourself: To counter frustration, you have a very limited number of aids (skip the piece, choose another one, or use a special 1x1 piece). These resources increase slightly as the board fills up with blocked cells, forcing you to decide the exact right moment to use them.
The game features a daily challenge driven by a date-based random seed (PRNG). Everyone gets exactly the same sequence of pieces and blockers. Furthermore, the base difficulty scales throughout the week: on Mondays you start with a clean board (0 initial blocked cells, although several will appear as the game progresses), and the difficulty ramps up until Sunday, where you start the game with 3 obstacles already in place.
In addition to the global medal leaderboard, you can add other users to your profile to create a private leaderboard and compete head-to-head just with your friends.
Time is also an important factor, as in the event of a tie in cleared lines, the player who completed them faster will rank higher on the leaderboard.
I would love for you to check it out. I'm especially looking for honest feedback on the difficulty curve, the piece-placement interaction (UI/UX), or the balancing of obstacles/tools, although any other ideas, critiques, or suggestions are welcome.
https://www.playlinex.com/
Thanks!
Show HN: Respectify – A comment moderator that teaches people to argue better
My partner, Nick Hodges, and I, David Millington, have been on the Internet for a very long time -- since the Usenet days. We’ve seen it all, and have long been frustrated by bad comments, horrible people, and discouraging discussions. We've also been around places where the discussion is wonderful and productive. How to get more of the latter and less of the former?
Current moderation tools just seem to focus on deletion and banning. Wouldn’t it be helpful to encourage productive discussion and teach people how to discuss and argue (in the debate sense) better?
A year ago we started building Respectify to help foster healthy communication. Instead of just deleting bad-faith comments, we suggest better, good-faith ways to say what folks are trying to say. We help people avoid: * Logical fallacies (false dichotomy, strawmen, etc.) * Tone issues (how others will read the comment) * Relevance to the actual page/post topic * Low-effort posts * Dog whistles and coded language
The commenter gets an explanation of what's wrong and a chance to edit and resubmit. It's moderation + education in one step. We want, too, to automate the entire process so the site owner can focus on content and not worry about moderation at all. And over time, comment by comment, quietly coach better thinking.
Our main website has an interactive demo: https://respectify.ai. As the demo shows, the system is completely tunable and adjustable, from "most anything goes" to "You need to be college debate level to get by me".
We hope the result is better discussions and a better Internet. Not too much to ask, eh?
We love the kind of feedback this group is famous for and hope you will supply some!
Show HN: Explain Curl Commands
Show HN: I built a tool to translate and declutter articles for my immigrant mom
Hello HN,
I built DuLink to solve a personal problem: my primary language is English, but my mother’s primary language is Mandarin Chinese. I often find articles on health or current events that I want to share with her, but the friction of copy/pasting and Google Translate meant she rarely read them.
What it does:
DuLink takes an article URL, extracts the core content to strip out clutter, and then generates a static, translated reading view. It preserves the semantic HTML structure (headers, lists) but removes the original site's JS and ad tracking.
The "Why":
Existing tools either translate the entire messy page (including nav menus/footers) or require the recipient to install an extension. I wanted something truly simple. A "fire and forget" link that removed every obstacle. No setup, no extra tools, just open and understand. I also added audio playback because reading dense text on a phone can be tiring, especially for aging eyes. Sometimes listening is simply easier.
I built this for a personal use case, but I'm sharing it here for anyone who wants to share something meaningful across languages. If it helps you bridge that gap, I'd love to hear about it.
Any feedback is welcome.
https://dulink.click/
Show HN: Deff – Side-by-side Git diff review in your terminal
deff is an interactive Rust TUI for reviewing git diffs side-by-side with syntax highlighting and added/deleted line tinting. It supports keyboard/mouse navigation, vim-style motions, in-diff search (/, n, N), per-file reviewed toggles, and both upstream-based and explicit --base/--head comparisons. It can also include uncommitted + untracked files (--include-uncommitted) so you can review your working tree before committing.
Would love to get some feedback