The best Hacker News stories from Show from the past week
Latest posts:
Show HN: Ten years of running every day, visualized
Today marks ten years, 3653 consecutive days, of running at least one mile every day under the USRSA rules [1]. To celebrate, I built an interactive dashboard that turns a decade of GPX files into charts you can explore.<p>Running has truly changed my life: I've made lifelong friends, explored beautiful places, and more importantly invested into my own health and fitness, which I'm starting to see the positive benefits as I get older.<p>The stack is pretty simple: a NextJS app, with a Postgres database to keep all my running data, and all the stats are pre-computed and cached in Redis, so I effectively only hit the database once a day when a new run is ingested. On the fronted, I toyed with the idea of using D3 or pre-existing data viz libraries, but ended up rolling my own using SVGs directly, it gave me more control on the visualizations.<p>I used the Strava bulk export to pre-populate the database, and I'm using their webhook API to do incremental updates. I have to tap into OpenWeatherMap and OpenCageDate to enrich the running data a little bit.<p>Happy to answer anything about the stack, data pipeline, or how I stayed motivated for 10 years!<p>[1] <a href="https://www.runeveryday.com" rel="nofollow">https://www.runeveryday.com</a> Run Streak Association rules: ≥ 1 mile per day
Show HN: A Raycast-compatible launcher for Linux
Hey HN!<p>I'm a huge fan of Raycast, but as a Linux user, I was always disappointed it wasn't available on my main OS. This summer, I decided to just build it myself. This project has the goal of being interoperable with Raycast itself, including a majority of the extensions.<p>It's built with Tauri and Rust on the backend, with a Svelte frontend. The biggest challenge was getting it to run existing Raycast extensions, which required building a custom React renderer as well as making a custom API.<p>I also wrote a quick post, which I hope to expand on in the future, about this project. You can find it here: <a href="https://byteatatime.dev/posts/recreating-raycast" rel="nofollow">https://byteatatime.dev/posts/recreating-raycast</a><p>The project is still very rough, but I'm sharing it now to get any feedback you may have!
Show HN: Vibe Kanban – Kanban board to manage your AI coding agents
Hey HN! I'm Louis, one of the creators of Vibe Kanban.<p>We started working on this a few weeks ago. Personally, I was feeling pretty useless working synchronously with coding agents. The 2-5 minutes that they take to complete their work often led me to distraction and doomscrolling.<p>But there's plenty of productive work that we (human engineers) could be doing in that time, especially if we run coding agents in the background and parallelise them.<p>Vibe Kanban lets you effortlessly spin up multiple coding agents. While some agents handle tasks in the background, you can focus on planning future work or reviewing completed tasks.<p>After a few weeks of internal dog fooding and sharing it with friends, we've now open-sourced Vibe Kanban, and it's stable enough for day-to-day use.<p>I'd love to hear your feedback, feel free to open an issue on the github and we'll respond ASAP.
Show HN: Open source alternative to Perplexity Comet
Hey HN, we're a YC startup building an open-source, privacy-first alternative to Perplexity Comet.<p>No invite system unlike bunch of others – you can download it today from our website or GitHub: <a href="https://github.com/browseros-ai/BrowserOS">https://github.com/browseros-ai/BrowserOS</a><p>--- Why bother building an alternative? We believe browsers will become the new operating systems, where we offload much bunch of our work to AI agents. But these agents will have access to all your sensitive data – emails, docs, on top of your browser history. Open-source, privacy-first alternatives need to exist.<p>We're not a search or ad company, so no weird incentives. Your data stays on your machine. <i>You can use local LLMs with Ollama</i>. We also support BYOK (bring your own keys), so no $200/month plans.<p>Another big difference vs Perplexity Comet: our agent runs locally in your browser (not on their server). You can actually watch it click around and do stuff, which is pretty cool! Short demo here: <a href="https://bit.ly/browserOS-demo" rel="nofollow">https://bit.ly/browserOS-demo</a><p>--- How we built? We patch Chromium's C++ source code with our changes, so we have the same security as Google Chrome. We also have an auto-updater for security patches and regular updates.<p>Working with Chromium's 15M lines of C++ has been another fun adventure that I'm writing a blog post on. Cursor/VSCode breaks at this scale, so we're back to using grep to find stuff and make changes. Claude code works surprisingly well too.<p>Building the binary takes ~3 hours on our M4 Max MacBook.<p>--- Next? We're just 2 people with a lot of work ahead (Firefox started with 3 hackers, history rhymes!). But we strongly believe that a privacy-first browser with local LLM support is more important than ever – since agents will have access to so much sensitive data.<p>Looking forward to any and all comments!
Show HN: Pangolin – Open source alternative to Cloudflare Tunnels
Pangolin is an open source self-hosted tunneled reverse proxy management server with identity and access control, designed to securely expose private resources through encrypted WireGuard tunnels running in user space.<p>We made Pangolin so you retain full control over your infrastructure while providing a user-friendly and feature-rich solution for managing proxies, authentication, and access, all with a clean and simple dashboard web UI.<p>GitHub: <a href="https://github.com/fosrl/pangolin">https://github.com/fosrl/pangolin</a><p>Deployment takes about 5 minutes on a VPS: <a href="https://docs.fossorial.io/Getting Started/quick-install" rel="nofollow">https://docs.fossorial.io/Getting Started/quick-install</a><p>Demo by Lawrence Systems (YouTube): <a href="https://youtu.be/g5qOpxhhS7M?si=M1XTWLGLUZW0WzTv&t=723" rel="nofollow">https://youtu.be/g5qOpxhhS7M?si=M1XTWLGLUZW0WzTv&t=723</a><p>Some use cases:<p><pre><code> - Grant users access to your apps from anywhere using just a web-browser
- Proxy behind CGNAT
- One application load balancer across multiple clouds and on-premises
- Easily expose services on IoT and edge devices for field monitoring
- Bring localhost online for easy access
</code></pre>
A few key features:<p><pre><code> - No port forwarding and hide your public IP for self-hosting
- Create proxies to multiple different private networks
- OAuth2/OIDC identity providers
- Role-based access control
- Raw TCP and UDP support
- Resource-specific pin codes, passwords, email OTP
- Self-destructing shareable links
- API for automation
- WAF with CrowdSec and Geoblocking</code></pre>
Show HN: Petrichor – a free, open-source, offline music player for macOS
I have a large collection of music files gathered over the years, so I was sorely missing a decent offline music player that can serve as a frontend for the collection. I tried several Mac apps over the years, but since streaming music is mainstream now, there aren't good offline music players that meet my needs. So I spent the last 3 months building Petrichor! The idea is to solve my problem and learn Swift UI development along the way, while giving back to the community with this open-source project! Here's a list of features it has, with more getting added in future;<p>- Everything you'd expect from an offline music player!<p>- Map your music folders and browse your library in an organised view.<p>- Create playlists and manage the play queue interactively.<p>- Browse music using folder view when needed.<p>- Pin anything (almost!) to the sidebar for quick access to your favourite music.<p>- Navigate easily: right-click a track to go to its album, artist, year, etc.<p>- Native macOS integration with menubar and dock playback controls, plus dark mode support.<p>- Search quickly through large libraries containing thousands of songs.<p>The app is still in alpha, so things may look unpolished, but I've been testing the alpha builds for the past few weeks and fixing issues as I find them for v1 release. I welcome any feedback (and contributions!) on GitHub repo. Please give it a try and let me know what you think!
Show HN: MCP server for searching and downloading documents from Anna's Archive
I was looking around for an MCP server that could connect Anna's Archive to Claude Desktop, as I wanted to be able to search and download books directly through the interface.<p>I couldn't find any public implementations, so ended up building one myself.<p>What it does?<p>- It searches Anna's Archive by keywords.
- It downloads books from search results.
- It works directly in Claude Desktop through MCP.<p>Check out the repository's README for detailed installation and configuration instructions.<p>The code is fully open source and builds run on GitHub Actions for transparency.<p>I figured I'd share, since I couldn't be the only one wanting this functionality!
Show HN: FlopperZiro – A DIY open-source Flipper Zero clone
Show HN: OffChess – Offline chess puzzles app
Hi HN!<p>I'm the developer of rdx, a mildly popular ad-free, privacy and user friendly Reddit client. This time, I made something for a very specific use case: solving chess puzzles with no internet.<p>Why? Well, my Wi-Fi is terrible in the bathroom—and that's where I do some of my best thinking. I tried printing out “mate in X” puzzles to solve offline, but they weren’t fun without interaction. So I built OffChess.<p>OffChess is an iPhone/Android app that contains over 100,000 chess puzzles, fully offline and completely ad-free. You can solve puzzles by category (Mate in 1/2/3/4/5, tactics like pins/forks/skewers, or openings like Sicilian/French, etc). You gain or lose points based on how you perform, so there's a light rating system to keep things engaging.<p>No accounts, no tracking, no monthly subscriptions, no internet required. Just pure, old-school tactical chess training, wherever you are.<p>You can check out the iPhone/iPad app at <a href="https://apps.apple.com/us/app/chess-puzzles-offchess/id6744736661?platform=iphone">https://apps.apple.com/us/app/chess-puzzles-offchess/id67447...</a> or the Android app at <a href="https://play.google.com/store/apps/details?id=com.offchess">https://play.google.com/store/apps/details?id=com.offchess</a><p>Would love feedback, bug reports, or suggestions.<p>Thanks!
Show HN: I wrote a "web OS" based on the Apple Lisa's UI, with 1-bit graphics
<a href="https://lisagui.com/info.html" rel="nofollow">https://lisagui.com/info.html</a><p>This is a web OS I wrote in vanilla JS that looks like the Apple Lisa Office System (1983-85), with other contemporaneous influences and additional improvements and features. It's currently in alpha and isn't remotely bug free. I had been holding off on posting this here until it was somewhat presentable and useful. Please note; the Lisa conforms more literally to the desktop metaphor than most modern GUIs - some of the important differences are mentioned in the readme.<p>This is a complete recreation of the UI in JS; it all renders to a single canvas element. It's not a CSS theme, and not an emulator ported to JS. None of the code is written by Apple. I'll be happy to elaborate more in the comments, but the short version is the entire UI is defined outside the DOM using JS objects. Thus, every interface element - menus, windows, controls, and even typefaces - was recreated from scratch. There are no font files - I wrote my own typesetting system, which supports combining multiple text styles and generates new glyph variants on the fly.<p>Many of the technical decisions I made were motivated by a desire to have this look the same in every browser. That's harder to do with the DOM and CSS, and why I moved as much logic as I could to JS. Also, the only part of the project outside of vanilla JS and standard web APIs is the Gulp toolkit, which I'm using as a minification/build tool. No vibe coding was used to make this!<p>This is based on a UI from the 80s, and won't work well on your phone. If you insist on running it that way, turn on trackpad mode in the touchscreen settings panel of the preferences app. For best results, install it as a PWA (add it to your home screen). Also there are some odd Android bugs; the native touchscreen keyboard is currently broken, and there's an issue with the cursor when dragging windows.<p>I realize there's not a whole lot to do within LisaGUI right now; I've got a big list of additional features and apps I'll be adding in the future. I've been working on this project for a while, and I'm eager to hear people's feedback and answer questions about it.
Show HN: I wrote a "web OS" based on the Apple Lisa's UI, with 1-bit graphics
<a href="https://lisagui.com/info.html" rel="nofollow">https://lisagui.com/info.html</a><p>This is a web OS I wrote in vanilla JS that looks like the Apple Lisa Office System (1983-85), with other contemporaneous influences and additional improvements and features. It's currently in alpha and isn't remotely bug free. I had been holding off on posting this here until it was somewhat presentable and useful. Please note; the Lisa conforms more literally to the desktop metaphor than most modern GUIs - some of the important differences are mentioned in the readme.<p>This is a complete recreation of the UI in JS; it all renders to a single canvas element. It's not a CSS theme, and not an emulator ported to JS. None of the code is written by Apple. I'll be happy to elaborate more in the comments, but the short version is the entire UI is defined outside the DOM using JS objects. Thus, every interface element - menus, windows, controls, and even typefaces - was recreated from scratch. There are no font files - I wrote my own typesetting system, which supports combining multiple text styles and generates new glyph variants on the fly.<p>Many of the technical decisions I made were motivated by a desire to have this look the same in every browser. That's harder to do with the DOM and CSS, and why I moved as much logic as I could to JS. Also, the only part of the project outside of vanilla JS and standard web APIs is the Gulp toolkit, which I'm using as a minification/build tool. No vibe coding was used to make this!<p>This is based on a UI from the 80s, and won't work well on your phone. If you insist on running it that way, turn on trackpad mode in the touchscreen settings panel of the preferences app. For best results, install it as a PWA (add it to your home screen). Also there are some odd Android bugs; the native touchscreen keyboard is currently broken, and there's an issue with the cursor when dragging windows.<p>I realize there's not a whole lot to do within LisaGUI right now; I've got a big list of additional features and apps I'll be adding in the future. I've been working on this project for a while, and I'm eager to hear people's feedback and answer questions about it.
I extracted the safety filters from Apple Intelligence models
I managed to reverse engineer the encryption (refered to as “Obfuscation” in the framework) responsible for managing the safety filters of Apple Intelligence models. I have extracted them into a repository. I encourage you to take a look around.
Show HN: I AI-coded a tower defense game and documented the whole process
I'm a software developer with 20+ years of experience but during this time I never programmed any games, but I really wanted to for the longest time. With the advent of AI coding agents I thought that this is the best time to try and so I've learned a bit of Phaser.js (a Javascript based game engine) and entered Beginner's Jam Summer 2025 - a game jam for beginners in the game dev industry that allows AI coding. After around 25-30 hours (working mainly after my full-time day job) I managed to submit the game I called "Tower of Time" (the theme of the jam was "Time Travel").<p>You can play it in your browser here: <a href="https://m4v3k.itch.io/tower-of-time" rel="nofollow">https://m4v3k.itch.io/tower-of-time</a><p>The goal of this project for me was first and foremost to see if AI coding is good enough to help me with creating something that's actually fun to play and to my delight is turns out the answer is yes! I decided to document the whole process for myself and others to learn from my mistakes, so both the code AND all the prompts I used are published on GitHub (see submission link). The art assets are largely taken from itch.io artists who shared them for free, with some slight touch ups. Sounds came from freesound.org.<p>I've also streamed parts of the process, you can watch me working on the final stretch and submitting the finished game (warning, it's 5+ hours long):<p><a href="https://www.twitch.tv/videos/2503428478" rel="nofollow">https://www.twitch.tv/videos/2503428478</a><p>During this process I've learned a lot and I want to use this knowledge in my next project that will hopefully be more ambitious. If you have any comments or questions I'm here to answer!
Show HN: CSS generator for a high-def glass effect
There are lots of glassmorphism generators out there, but I wanted to push the effect further! This project is the result of months of experimenting with CSS property layering and battling browser quirks.<p>Cross-browser compatibility is actually the reason I rely on ::before and ::after pseudo-elements to build up the effect. Move the color/opacity to the main element, and you’ll get weird color bleed on the corners in Chrome. Move the texture, and it muddles the bevel’s specular highlight. Move the bevel, and it gets blurred out by the backdrop-filter. And so on!<p>Layers include:
* Adjustable blur, brightness, and saturation (backdrop-filter)
* Subtle translucent texture
* Faux 3D bevel (using box-shadows, not an outline)<p>Glassmorphism is rather heavy on resources, so it’s best used as an accent and avoided on wide desktop elements.
Should be compatible with recent versions of Chrome, Safari, and Firefox (desktop and mobile). If you spot bugs or rendering glitches, I’d love to know!<p>Side note: this is an early preview of a framework-agnostic glass SCSS/component library I’m building.
Show HN: Spegel, a Terminal Browser That Uses LLMs to Rewrite Webpages
Show HN: A continuation of IRS Direct File that can be self-hosted
the IRS recently open sourced most of Direct File, a tax tool it has been working on for a few years now. unfortunately, due to recent events, the IRS isn't working on it anymore. I decided to pick up where they left off and I'm trying to get it ready for next tax season<p>the work behind Direct File is really interesting and I made a lot of it available online to read as well - <a href="https://docs.openfile.tax/en/latest/" rel="nofollow">https://docs.openfile.tax/en/latest/</a>
Show HN: New Ensō – first public beta
Ensō is a writing tool that helps you enter a state of flow by separating writing from editing and thus making it harder for you to edit yourself - <a href="https://enso.sonnet.io/" rel="nofollow">https://enso.sonnet.io/</a><p>After 6 years and 2 million words of daily writing I feel like I've learned enough to make Ensō simpler and more accessible.<p>Related thread: <a href="https://news.ycombinator.com/item?id=38025073">https://news.ycombinator.com/item?id=38025073</a>
Show HN: New Ensō – first public beta
Ensō is a writing tool that helps you enter a state of flow by separating writing from editing and thus making it harder for you to edit yourself - <a href="https://enso.sonnet.io/" rel="nofollow">https://enso.sonnet.io/</a><p>After 6 years and 2 million words of daily writing I feel like I've learned enough to make Ensō simpler and more accessible.<p>Related thread: <a href="https://news.ycombinator.com/item?id=38025073">https://news.ycombinator.com/item?id=38025073</a>
Show HN: TokenDagger – A tokenizer faster than OpenAI's Tiktoken
TokenDagger is a drop-in replacement for OpenAI’s Tiktoken (the tokenizer behind Llama 3, Mistral, GPT-3.*, etc.). It’s written in C++ 17 with thin Python bindings, keeps the exact same BPE vocab/special-token rules, and focuses on raw speed.<p>I’m teaching myself LLM internals by re-implementing the stack from first principles. Profiling TikToken’s Python/Rust implementation showed a lot of time was spent doing regex matching. Most of my perf gains come from a) using a faster jit-compiled regex engine; and b) simplifying the algorithm to forego regex matching special tokens at all.<p>Benchmarking code is included. Notable results show:
- 4x faster code sample tokenization on a single thread.
- 2-3x higher throughput when tested on a 1GB natural language text file.
Show HN: TokenDagger – A tokenizer faster than OpenAI's Tiktoken
TokenDagger is a drop-in replacement for OpenAI’s Tiktoken (the tokenizer behind Llama 3, Mistral, GPT-3.*, etc.). It’s written in C++ 17 with thin Python bindings, keeps the exact same BPE vocab/special-token rules, and focuses on raw speed.<p>I’m teaching myself LLM internals by re-implementing the stack from first principles. Profiling TikToken’s Python/Rust implementation showed a lot of time was spent doing regex matching. Most of my perf gains come from a) using a faster jit-compiled regex engine; and b) simplifying the algorithm to forego regex matching special tokens at all.<p>Benchmarking code is included. Notable results show:
- 4x faster code sample tokenization on a single thread.
- 2-3x higher throughput when tested on a 1GB natural language text file.