The best Hacker News stories from Show from the past week
Latest posts:
Show HN: A store that generates products from anything you type in search
Show HN: I made a generative online drum machine with ClojureScript
After two years of development, I'm super excited to release Beat Maker! This is my take on what I hope is the best free, web-based drum machine.<p>My goal was to build something that was not only fun and easy to use for beginners but also powerful enough for serious producers. I did extensive research on existing drum machines, analyzed their UX, and tried to build something that adds something new.<p>It's a nearly 100% client-side app, written in ClojureScript, and is a PWA so you can install it to your home screen for an app-like experience.<p>Besides the standard grid editor, Beat Maker has some unique features that I think HN readers might find interesting:<p>- Procedural sample generation. One annoying thing about writing beats is searching through folders full of samples. I wanted to improve this and so I added the ability to generate new samples with a single click, giving you an infinite supply of unique drum samples.
* Generative beat creation. If you're looking for inspiration, Beat Maker can generate entire patterns for you as a starting point. You can then edit and tweak the beat to your liking. Great for solving the "blank canvas" problem and giving you something good to start from.
* Advanced export options. This is where it really shines for producers. You can export your work as:
* A standard WAV loop
* Individual stems (ZIP)
* A MIDI file
* A ZIP file of all your samples as WAVs
* A SoundFont (.sf2) drum kit from your generated samples
* An Impulse Tracker (.it) file for use in trackers like Renoise, OpenMPT or a Polyend
* Pocket Operator/Volca sync. It can output a sync signal on the left audio channel to sync with these hardware devices for perfect timing.
* Per-Note FX. You can add effects like volume slides, repeats, and start volume changes to individual notes for more complex drum phrases incorporating flam and roll.<p>As an old school tracker guy, I'm particularly excited about the Impulse Tracker export mode. I was surprised to discover how many DAWs (including hardware like Polyend) can import this format. Of course, you can also pull up Impulse Tracker on DOSBox, or the more modern re-implementation, Schismtracker for that retro experience.<p>By the way, the beat generator feature is not trained on any artists or anything like that. It's an algorithm I built from scratch myself.<p>The audio engine is built on a declarative audio graph (using `virtual-audio-graph`), inspired by React's virtual DOM, which makes managing the Web Audio API much cleaner. If you're building web based audio apps I highly recommend checking out this library.<p>I'd love for you to try it out and let me know what you think. Feedback (and the inevitable bug reports) most welcome! Thank you!<p>P.S. Also, here's a video summary: <a href="https://youtu.be/qVmEn9z3H24" rel="nofollow">https://youtu.be/qVmEn9z3H24</a>
Show HN: Small Transfers – charge from 0.000001 USD per request for your SaaS
Hi HN,<p>I built <i>Small Transfers</i>, a payments platform for SaaS / API makers who want to bill customers per request instead of pushing them into subscriptions or pre-buy packages.<p>*Why?*<p><pre><code> - Many customers hate subscriptions and/or want to use a service occasionally.
- Traditional payment processors add a fixed fee to every charge, making charges below 1 USD impractical.
- Stripe UBB tracks usage, but you still need to write your own auth, add spending limits, and each merchant charges cards separately (extra fees for customers).
</code></pre>
*How it works?*<p><pre><code> - Each merchant has a Small Transfers account linked to their Stripe account via Stripe Connect, which is used to transfer payouts to merchants.
- Each customer has a Small Transfers account where we verify them using Google Sign-In, 3-D Secure, and Stripe Radar to minimise the chances of a customer not paying their balance.
- Customers allow your service to identify and charge them via platform's own OAuth. This also removes the need for your service to implement its own auth. (Simple services don't even need their own database.)
- Merchants call a simple REST API to authorize and capture a charge with a minimum amount of 0.000001 USD. Note that you can authorize more than you capture, allowing you to authorize the max amount your request might use, and then capture your actual cost plus margin (great for many use cases, e.g., AI).
- The platform takes care of charging customers and sending payouts to merchants.
- Merchants pay a flat 3% fee. Customers pay payment processing fees when they pay for their balance.
</code></pre>
There's a Next.js Starter project (<a href="https://github.com/smalltransfers/nextjs-starter" rel="nofollow">https://github.com/smalltransfers/nextjs-starter</a>) and a live demo (<a href="https://nextjs-starter.smalltransfers.com/" rel="nofollow">https://nextjs-starter.smalltransfers.com/</a>).<p>I've been dog-fooding the platform with my own service (<a href="https://unattach.com/" rel="nofollow">https://unattach.com/</a>) and would love your feedback, specifically:<p><pre><code> - The general approach and whether there is anything I should do differently.
- Any concerns and how I could mitigate them.
- Any other feedback.
</code></pre>
I'm also looking for more merchants to try out the platform, and can help you with the integration.<p>Thank you for your time! Happy to answer questions here.
Show HN: Term.everything – Run any GUI app in the terminal
I made a built-from scratch Wayland Compositor to display any GUI app* in the terminal! I think there is a lot of unexplored potential in custom Wayland compositors, a lot of really cool things you can embed existing applications into! So, I started with embedding apps into the terminal because that is the easiest input/output (output is just utf-8 and I use the great `chafa` library for that, and I just read from stdin for the input).<p>If you have any other ideas for cool Wayland compositors, let me know. I purposedly wrote 80% the app in Typescript to appeal to the most developers and attract cool contributions (I do all drawing with the familiar Canvas2D api, so if there is interest, I can also fork this out into a cool Terminal canvas, let me know!)<p>I have a blog post here about how I did it, but it’s pretty high level and non technical, so please ask if you have any questions.<p>[How I Did It](<<a href="https://github.com/mmulet/term.everything/blob/main/resources/HowIDidIt.md" rel="nofollow">https://github.com/mmulet/term.everything/blob/main/resource...</a>>)<p>*technically only Wayland apps and x11 apps with Xwayland. But on Linux that’s mostly everything.
Show HN: Semantic grep with local embeddings
Show HN: Semantic grep with local embeddings
Show HN: I'm making an open-source platform for learning Japanese
The idea is actually quite simple. As a Japanese learner and a coder, I've always wanted there to be an open-source, 100% free for learning Japanese, similar to Monkeytype in the typing community.<p>Unfortunately, pretty much all language learning apps are closed-sourced and paid these days, and the ones that are free have unfortunately been abandoned.<p>But of course, just creating yet another language learning app was not enough - there has to be a unique selling point. And then I thought to myself: why not make it crazy and do what no other language learning app ever did by adding a gazillion different color themes and fonts, to really hit it home and honor the app's original inspiration, Monkeytype?<p>And so I did. Now, I'm looking to find contributors and testers for the early stages of the app.<p>Why? Because weebs and otakus deserve to have a 100% free, beautiful, quality language learning app too!<p>For anyone interested, you can check it out at --> <a href="https://kanadojo.com" rel="nofollow">https://kanadojo.com</a> and let me know what you think ^ ^
Show HN: I'm making an open-source platform for learning Japanese
The idea is actually quite simple. As a Japanese learner and a coder, I've always wanted there to be an open-source, 100% free for learning Japanese, similar to Monkeytype in the typing community.<p>Unfortunately, pretty much all language learning apps are closed-sourced and paid these days, and the ones that are free have unfortunately been abandoned.<p>But of course, just creating yet another language learning app was not enough - there has to be a unique selling point. And then I thought to myself: why not make it crazy and do what no other language learning app ever did by adding a gazillion different color themes and fonts, to really hit it home and honor the app's original inspiration, Monkeytype?<p>And so I did. Now, I'm looking to find contributors and testers for the early stages of the app.<p>Why? Because weebs and otakus deserve to have a 100% free, beautiful, quality language learning app too!<p>For anyone interested, you can check it out at --> <a href="https://kanadojo.com" rel="nofollow">https://kanadojo.com</a> and let me know what you think ^ ^
Show HN: I'm a dermatologist and I vibe coded a skin cancer learning app
Coded using Gemini Pro 2.5 (free version) in about 2-3 hours.<p>Single file including all html/js/css, Vanilla JS, no backend, scores persisted with localStorage.<p>Deployed using ubuntu/apache2/python/flask on a £5 Digital Ocean server (but could have been hosted on a static hosting provider as it's just a single page with no backend).<p>Images / metadata stored in an AWS S3 bucket.
Show HN: I'm a dermatologist and I vibe coded a skin cancer learning app
Coded using Gemini Pro 2.5 (free version) in about 2-3 hours.<p>Single file including all html/js/css, Vanilla JS, no backend, scores persisted with localStorage.<p>Deployed using ubuntu/apache2/python/flask on a £5 Digital Ocean server (but could have been hosted on a static hosting provider as it's just a single page with no backend).<p>Images / metadata stored in an AWS S3 bucket.
Show HN: I recreated Windows XP as my portfolio
Years ago I stumbled across a basic version of this concept and it stuck with me. I knew if I was ever going to take on such a project, it would need to be flawless, but without coding experience it was just another idea that would never happen. By the end of 2024, as AI coding tools exploded everywhere, I finally had a way to make it real.<p>I started from zero knowledge and spent months collaborating with AI agents as a learning experience. Every pixel and every function went through me. The AI translated what I asked for into code, but every decision was human. I didn't use existing OS frameworks because the goal was learning how basic coding languages worked while also developing my skills with AI collaboration. Apart from basic libraries like xp.css and paint.js, it's all original code.<p>The result is a fully functional Windows XP recreation running in your browser. Complete experience with sounds, animations, and working applications. Even works properly on mobile, which required rebuilding everything to maintain the authentic feel without becoming unusable on touchscreens.<p>This project taught me more about coding and AI collaboration than I ever expected. Would love to hear your thoughts on the execution and any feedback on the technical approach.
Show HN: I recreated Windows XP as my portfolio
Years ago I stumbled across a basic version of this concept and it stuck with me. I knew if I was ever going to take on such a project, it would need to be flawless, but without coding experience it was just another idea that would never happen. By the end of 2024, as AI coding tools exploded everywhere, I finally had a way to make it real.<p>I started from zero knowledge and spent months collaborating with AI agents as a learning experience. Every pixel and every function went through me. The AI translated what I asked for into code, but every decision was human. I didn't use existing OS frameworks because the goal was learning how basic coding languages worked while also developing my skills with AI collaboration. Apart from basic libraries like xp.css and paint.js, it's all original code.<p>The result is a fully functional Windows XP recreation running in your browser. Complete experience with sounds, animations, and working applications. Even works properly on mobile, which required rebuilding everything to maintain the authentic feel without becoming unusable on touchscreens.<p>This project taught me more about coding and AI collaboration than I ever expected. Would love to hear your thoughts on the execution and any feedback on the technical approach.
Show HN: Open-sourcing our text-to-CAD app
Hey HN! I'm Zach from Adam (<a href="https://adam.new/">https://adam.new/</a>). We’re building an AI co-pilot for mechanical CAD software.<p>As part of our broader research, we built a browser-based Text-to-CAD app (<a href="https://news.ycombinator.com/item?id=44182206">https://news.ycombinator.com/item?id=44182206</a>) and are now open sourcing it. This is a React SPA with a Supabase backend.<p>What it does:<p>* Generates parametric 3D models from natural language descriptions, with support for both text prompts and image references<p>* Outputs OpenSCAD code with automatically extracted parameters that surface as interactive sliders for instant dimension tweaking<p>* Exports as .STL or .SCAD<p>Under the hood:<p>* Separate agents for conversation and code generation; simple parameter tweaks bypass AI entirely using deterministic regex-based updates<p>* Runs fully in-browser by compiling OpenSCAD to WebAssembly and integrating Three.js with React Three Fiber for 3D rendering<p>* Supports BOSL, BOSL2, MCAD libraries and custom font support (Geist) for text in models<p>We’ve seen many developers trying to replicate this kind of functionality, so we’re releasing this to give the community a solid foundation to build on.<p>Future improvements:<p>* Expand geometry support - Move beyond CSG primitives to support curved surfaces, fillets, lofts, and constraint-driven modeling through CadQuery/Build123D<p>* Better spatial context - UI for face/edge selection and viewport image integration to give LLMs spatial understanding<p>* Enhanced capabilities - RAG on documentation and integration with more OpenSCAD libraries for features like proper threading<p>You can clone the repo and run it locally! Contributions are welcome, and we’ll keep merging PRs as they come in.
Show HN: Open-sourcing our text-to-CAD app
Hey HN! I'm Zach from Adam (<a href="https://adam.new/">https://adam.new/</a>). We’re building an AI co-pilot for mechanical CAD software.<p>As part of our broader research, we built a browser-based Text-to-CAD app (<a href="https://news.ycombinator.com/item?id=44182206">https://news.ycombinator.com/item?id=44182206</a>) and are now open sourcing it. This is a React SPA with a Supabase backend.<p>What it does:<p>* Generates parametric 3D models from natural language descriptions, with support for both text prompts and image references<p>* Outputs OpenSCAD code with automatically extracted parameters that surface as interactive sliders for instant dimension tweaking<p>* Exports as .STL or .SCAD<p>Under the hood:<p>* Separate agents for conversation and code generation; simple parameter tweaks bypass AI entirely using deterministic regex-based updates<p>* Runs fully in-browser by compiling OpenSCAD to WebAssembly and integrating Three.js with React Three Fiber for 3D rendering<p>* Supports BOSL, BOSL2, MCAD libraries and custom font support (Geist) for text in models<p>We’ve seen many developers trying to replicate this kind of functionality, so we’re releasing this to give the community a solid foundation to build on.<p>Future improvements:<p>* Expand geometry support - Move beyond CSG primitives to support curved surfaces, fillets, lofts, and constraint-driven modeling through CadQuery/Build123D<p>* Better spatial context - UI for face/edge selection and viewport image integration to give LLMs spatial understanding<p>* Enhanced capabilities - RAG on documentation and integration with more OpenSCAD libraries for features like proper threading<p>You can clone the repo and run it locally! Contributions are welcome, and we’ll keep merging PRs as they come in.
Show HN: Swimming in Tech Debt
This is the first half of my book, “Swimming in Tech Debt”. It is available at a pre-launch sale price of $0.99 (<a href="https://loufranco.com/tech-debt-book" rel="nofollow">https://loufranco.com/tech-debt-book</a>).<p>I have been working on it since January 2024. It is based on some posts in my blog, but expands on my ideas quite a bit.<p>In September 2024, excerpts appeared in Gergely Orosz’s Pragmatic Engineer newsletter, which helped me get a lot of feedback that expanded the book from my initial idea. This half is about what I expected to do before that —- the rest of the book goes into team and CTO practices.
Show HN: Swimming in Tech Debt
This is the first half of my book, “Swimming in Tech Debt”. It is available at a pre-launch sale price of $0.99 (<a href="https://loufranco.com/tech-debt-book" rel="nofollow">https://loufranco.com/tech-debt-book</a>).<p>I have been working on it since January 2024. It is based on some posts in my blog, but expands on my ideas quite a bit.<p>In September 2024, excerpts appeared in Gergely Orosz’s Pragmatic Engineer newsletter, which helped me get a lot of feedback that expanded the book from my initial idea. This half is about what I expected to do before that —- the rest of the book goes into team and CTO practices.
Tell HN: Use "-f**k" to kill Google AI Overview
Not sure this is the right way to post this, but I'm sure quite a few people are as frustrated as I am by the AI enshittification of Google search and would like to know this.<p>I accidentally discovered in a fit of rage against Google Search that if you add an expletive to a search term, the SERP will avoid showing ads and also an AI overview.<p>The good thing is that it works also with the "-" (minus) operator, so you can make sure the expletive is actually not included in the result pages.<p>Try it yourself: search for a fairly generic query that gives you ads and AI overview, and add "-f*k" at the end, uncensored of course.<p>Enjoy a much better search experience.
It might be placebo, but it feels like the results are actually better sorted.<p>Edit: edited to avoid HN pro-expletives filter :D
Show HN: I made an Animal Crossing style letter editor
I made a simple open-source letter editor inspired by Animal Crossing NH. Took me forever to look over each card, but I'm quite pleased with how it turned out. You can even click the bottle in the bottom right to see a random letter design shared by other users! Now to see how long it stays up...<p>Check out the source code here: <a href="https://github.com/IdreesInc/Animal-Crossing-Letter-Generator" rel="nofollow">https://github.com/IdreesInc/Animal-Crossing-Letter-Generato...</a>
Show HN: I made an Animal Crossing style letter editor
I made a simple open-source letter editor inspired by Animal Crossing NH. Took me forever to look over each card, but I'm quite pleased with how it turned out. You can even click the bottle in the bottom right to see a random letter design shared by other users! Now to see how long it stays up...<p>Check out the source code here: <a href="https://github.com/IdreesInc/Animal-Crossing-Letter-Generator" rel="nofollow">https://github.com/IdreesInc/Animal-Crossing-Letter-Generato...</a>
Show HN: Hacker News em dash user leaderboard pre-ChatGPT
The use of the em dash (—) now raises suspicions that a text might have been AI-generated. Inspired by a suggestion from dang [1], I created a leaderboard of HN users according to how many of their posts before November 30, 2022—that is, before the release of ChatGPT—contained em dashes. Dang himself comes in number 2—by a very slim margin.<p>Credit to Claude Code for showing me how to search the HN database through Google BigQuery and for writing the HTML for the leaderboard.<p>[1] <a href="https://news.ycombinator.com/item?id=45053933">https://news.ycombinator.com/item?id=45053933</a>