The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Open-source, native audio turn detection model
Our goal with this project is to build a completely open source, state of the art turn detection model that can be used in any voice AI application.<p>I've been experimenting with LLM voice conversations since GPT-4 was first released. (There's a previous front page Show HN about Pipecat, the open source voice AI orchestration framework I work on. [1])<p>It's been almost two years, and for most of that time, I've been expecting that someone would "solve" turn detection. We all built initial, pretty good 80/20 versions of turn detection on top of VAD (voice activity detection) models. And then, as an ecosystem, we kind of got stuck.<p>A few production applications have recently started using Gemini 2.0 Flash to do context aware turn detection. [2] But because latency is ~500ms, that's a more complicated approach than using a specialized model. The team at LiveKit released an open weights model that does text-based turn detection. [3] I was really excited to see that, but I'm not super-optimistic that a text-input model will ever be good enough for this task. (A good rule of thumb in deep learning is that you should bet on end-to-end.)<p>So ... I spent Christmas break training several little proof of concept models, and experimenting with generating synthetic audio data. So, so, so much fun. The results were promising enough that I nerd-sniped a few friends and we started working in earnest on this.<p>The model now performs really well on a subset of turn detection tasks. Too well, really. We're overfitting on a not-terribly-broad initial data set of about 8,000 samples. Getting to this point was the initial bar we set for doing a public release and seeing if other people want to get involved in the project.<p>There are lots of ways to contribute. [4]<p>Medium-term goals for the project are:<p><pre><code> - Support for a wide range of languages
- Inference time of <50ms on GPU and <500ms on CPU
- Much wider range of speech nuances captured in training data
- A completely synthetic training data pipeline. (Maybe?)
- Text conditioning of the model, to support "modes" like credit card, telephone number, and address entry.
</code></pre>
If you're interested in voice AI or in audio model ML engineering, please try the model out and see what you think. I'd love to hear your thoughts and ideas.<p>[1] <a href="https://news.ycombinator.com/item?id=40345696">https://news.ycombinator.com/item?id=40345696</a><p>[2] <a href="https://x.com/kwindla/status/1870974144831275410" rel="nofollow">https://x.com/kwindla/status/1870974144831275410</a><p>[3] <a href="https://blog.livekit.io/using-a-transformer-to-improve-end-of-turn-detection/" rel="nofollow">https://blog.livekit.io/using-a-transformer-to-improve-end-o...</a><p>[4] <a href="https://github.com/pipecat-ai/smart-turn#things-to-do">https://github.com/pipecat-ai/smart-turn#things-to-do</a>
Show HN: Shelgon: A Framework for Building Interactive REPL Shells in Rust
I've been working on Shelgon, a framework that lets you build your own custom REPL shells and interactive CLI applications in Rust.<p>You can use Shelgon to:<p>- Create a custom shell with only a few lines of code
- Build interactive debugging tools with persistent state between commands
- Develop domain-specific language interpreters with shell-like interfaces
- Add REPL capabilities to existing applications<p>Getting started is straightforward - implement a single trait that handles your command execution logic, and Shelgon takes care of the terminal UI, input handling, and async runtime integration.<p>For example, a simple echo shell takes less than 50 lines of code, including a full implementation of command history, cursor movement, and tab completion.<p>Repository: <a href="https://github.com/nishantjoshi00/shelgon">https://github.com/nishantjoshi00/shelgon</a>
Show HN: Shelgon: A Framework for Building Interactive REPL Shells in Rust
I've been working on Shelgon, a framework that lets you build your own custom REPL shells and interactive CLI applications in Rust.<p>You can use Shelgon to:<p>- Create a custom shell with only a few lines of code
- Build interactive debugging tools with persistent state between commands
- Develop domain-specific language interpreters with shell-like interfaces
- Add REPL capabilities to existing applications<p>Getting started is straightforward - implement a single trait that handles your command execution logic, and Shelgon takes care of the terminal UI, input handling, and async runtime integration.<p>For example, a simple echo shell takes less than 50 lines of code, including a full implementation of command history, cursor movement, and tab completion.<p>Repository: <a href="https://github.com/nishantjoshi00/shelgon">https://github.com/nishantjoshi00/shelgon</a>
Show HN: Shelgon: A Framework for Building Interactive REPL Shells in Rust
I've been working on Shelgon, a framework that lets you build your own custom REPL shells and interactive CLI applications in Rust.<p>You can use Shelgon to:<p>- Create a custom shell with only a few lines of code
- Build interactive debugging tools with persistent state between commands
- Develop domain-specific language interpreters with shell-like interfaces
- Add REPL capabilities to existing applications<p>Getting started is straightforward - implement a single trait that handles your command execution logic, and Shelgon takes care of the terminal UI, input handling, and async runtime integration.<p>For example, a simple echo shell takes less than 50 lines of code, including a full implementation of command history, cursor movement, and tab completion.<p>Repository: <a href="https://github.com/nishantjoshi00/shelgon">https://github.com/nishantjoshi00/shelgon</a>
Show HN: Shelgon: A Framework for Building Interactive REPL Shells in Rust
I've been working on Shelgon, a framework that lets you build your own custom REPL shells and interactive CLI applications in Rust.<p>You can use Shelgon to:<p>- Create a custom shell with only a few lines of code
- Build interactive debugging tools with persistent state between commands
- Develop domain-specific language interpreters with shell-like interfaces
- Add REPL capabilities to existing applications<p>Getting started is straightforward - implement a single trait that handles your command execution logic, and Shelgon takes care of the terminal UI, input handling, and async runtime integration.<p>For example, a simple echo shell takes less than 50 lines of code, including a full implementation of command history, cursor movement, and tab completion.<p>Repository: <a href="https://github.com/nishantjoshi00/shelgon">https://github.com/nishantjoshi00/shelgon</a>
Show HN: Rust Vector and Quaternion Lib
I use this library I made for Vectors and Quaternions in many personal projects. I've open-sourced it, in case anyone else would get use out of it.<p>I use this on various projects, including quadcopter firmware, a graphics engine, a cosmology simulation, and several molecular dynamics applications. No_std compatible.
Show HN: Rust Vector and Quaternion Lib
I use this library I made for Vectors and Quaternions in many personal projects. I've open-sourced it, in case anyone else would get use out of it.<p>I use this on various projects, including quadcopter firmware, a graphics engine, a cosmology simulation, and several molecular dynamics applications. No_std compatible.
Show HN: Rust Vector and Quaternion Lib
I use this library I made for Vectors and Quaternions in many personal projects. I've open-sourced it, in case anyone else would get use out of it.<p>I use this on various projects, including quadcopter firmware, a graphics engine, a cosmology simulation, and several molecular dynamics applications. No_std compatible.
Show HN: CodeTracer – A time-traveling debugger implemented in Nim and Rust
Hey!<p>We are presenting CodeTracer - a user-friendly time-traveling debugger designed to support a wide range of programming languages:<p><a href="https://github.com/metacraft-labs/codetracer?tab=readme-ov-file#introduction">https://github.com/metacraft-labs/codetracer?tab=readme-ov-f...</a><p>CodeTracer records the execution of a program into a sharable self-contained trace file. You can load the produced trace files in a GUI environment that allows you to move forward and backward through the execution and to examine the history of all memory locations. They say a picture is worth a thousand words — well, a video is even better! Watch the demo below to see CodeTracer in action:<p><a href="https://www.youtube.com/watch?v=xZsJ55JVqmU" rel="nofollow">https://www.youtube.com/watch?v=xZsJ55JVqmU</a><p>The initial release is limited to the Noir programming language, but CodeTracer uses an open format for its trace files and we've started community-driven projects which aim to add support for Ruby and Python.<p>We are also developing an alternative back-end, capable of working with RR recordings, which will make CodeTracer suitable for debugging large-scale programs in a variety of system programming languages such as C/C++, Rust, Nim, D, Zig, Go, Fortran and FreePascal.
Show HN: CodeTracer – A time-traveling debugger implemented in Nim and Rust
Hey!<p>We are presenting CodeTracer - a user-friendly time-traveling debugger designed to support a wide range of programming languages:<p><a href="https://github.com/metacraft-labs/codetracer?tab=readme-ov-file#introduction">https://github.com/metacraft-labs/codetracer?tab=readme-ov-f...</a><p>CodeTracer records the execution of a program into a sharable self-contained trace file. You can load the produced trace files in a GUI environment that allows you to move forward and backward through the execution and to examine the history of all memory locations. They say a picture is worth a thousand words — well, a video is even better! Watch the demo below to see CodeTracer in action:<p><a href="https://www.youtube.com/watch?v=xZsJ55JVqmU" rel="nofollow">https://www.youtube.com/watch?v=xZsJ55JVqmU</a><p>The initial release is limited to the Noir programming language, but CodeTracer uses an open format for its trace files and we've started community-driven projects which aim to add support for Ruby and Python.<p>We are also developing an alternative back-end, capable of working with RR recordings, which will make CodeTracer suitable for debugging large-scale programs in a variety of system programming languages such as C/C++, Rust, Nim, D, Zig, Go, Fortran and FreePascal.
Show HN: CodeTracer – A time-traveling debugger implemented in Nim and Rust
Hey!<p>We are presenting CodeTracer - a user-friendly time-traveling debugger designed to support a wide range of programming languages:<p><a href="https://github.com/metacraft-labs/codetracer?tab=readme-ov-file#introduction">https://github.com/metacraft-labs/codetracer?tab=readme-ov-f...</a><p>CodeTracer records the execution of a program into a sharable self-contained trace file. You can load the produced trace files in a GUI environment that allows you to move forward and backward through the execution and to examine the history of all memory locations. They say a picture is worth a thousand words — well, a video is even better! Watch the demo below to see CodeTracer in action:<p><a href="https://www.youtube.com/watch?v=xZsJ55JVqmU" rel="nofollow">https://www.youtube.com/watch?v=xZsJ55JVqmU</a><p>The initial release is limited to the Noir programming language, but CodeTracer uses an open format for its trace files and we've started community-driven projects which aim to add support for Ruby and Python.<p>We are also developing an alternative back-end, capable of working with RR recordings, which will make CodeTracer suitable for debugging large-scale programs in a variety of system programming languages such as C/C++, Rust, Nim, D, Zig, Go, Fortran and FreePascal.
Show HN: Appstat – Process Monitor for Windows
Hey HN, I made a Windows process monitor for app developers and advanced end users. I wanted a taskmgr system-level graph view per app. Windows procmon, while capable, has always been tedious to set up (esp. if not used often). That's pretty much the whole idea behind the app--to simplify app-level monitoring, to make it easy. I hope some of you find it useful!
Show HN: Leaflet.pub – a web app for creating and sharing rich documents
Hi HN!<p>For the last 8 months we've been working on leaflet.pub, a web app for making delightful documents. We're trying to strike a balance between Notion and Google Docs — very fast, ultralight and easy to share, but also supporting rich blocks and multiple pages.<p>Weirdly, none of the many notetaking/document apps that we could find hit this combination, so we made Leaflet. With it you can:<p>- Instantly create a doc, without an account
- Share read and edit links
- Sign-in with email to sync your docs to different devices
- Add rich blocks, like canvases, subpages, rsvps, and polls<p>It's really useful for one-off collaborations, running events, or just when you need a blank page without having to buy into a whole organizational system.<p>We also spent a lot of time making sure Leaflets look good. We've found that there's a pretty blurry boundary between a document and a website, so making something that people can feel proud to publish online was key.<p>Here's a couple examples!<p>- Jake's presentation on Slöjd, traditional handcraft pedagogy (<a href="https://leaflet.pub/3d28b4a7-3703-4ae5-aaf6-d270ffe1151f" rel="nofollow">https://leaflet.pub/3d28b4a7-3703-4ae5-aaf6-d270ffe1151f</a>)
- Laura's documentation of her website redesign (<a href="https://leaflet.pub/14aba696-e894-440a-9d06-917641a2bfce" rel="nofollow">https://leaflet.pub/14aba696-e894-440a-9d06-917641a2bfce</a>)<p>Some technical details that might be interesting:<p>- We do sync and all our client-side state via Replicache, which I really love!
- Data is modeled as a set of facts about entities, a la Datomic, forming a graph. This has been flexible enough for us to quickly build new features, like canvases and nested pages, without committing to a single document structure.
- We use ProseMirror, but not for the entire document. Instead every text block is a separate ProseMirror instance. This lets us keep the document structure in our database and our schema, without having to dive into ProseMirror's every time we want to modify things.<p>Our (somewhat messy) source is available here: <a href="https://github.com/hyperlink-academy/leaflet">https://github.com/hyperlink-academy/leaflet</a> if you want to dig deeper!<p>On the horizon:<p>- Better home and document organizing features — things like search, tagging, collections etc.
- We're really excited about ATProto and Bluesky and are working on a set of lexicons and an AppView for document publishing! This will include a lexicon for rich text documents, as well as one publications, and some concept of memberships or subscriptions.
- More blocks! Tables, code blocks, etc.<p>Some things we're particularly proud of:<p>- Our list handling
- Custom theming
- Keyboard handling on iOS Safari (and generally works excellently on mobile)
- Side-scrolling multi-page interface
- Works as a PWA!<p>Some things that still need work:<p>- While faster than others, still a lot of work we can do on performance, both speed when working with very large documents and loading docs generally
- Drag and drop and selection in general could be a lot nicer
- Keyboard navigation across multiple pages
- Multiplayer cursors, and generally real-time sync could be sped up greatly leveraging CRDTs (we already use YJS, just could move updates around faster)<p>You can create a new document just by visiting <a href="https://leaflet.pub" rel="nofollow">https://leaflet.pub</a> (or <a href="https://leaflet.pub/new" rel="nofollow">https://leaflet.pub/new</a> if you're signed in) — would love to hear your thoughts and any feedback if you give it a try!
Show HN: Leaflet.pub – a web app for creating and sharing rich documents
Hi HN!<p>For the last 8 months we've been working on leaflet.pub, a web app for making delightful documents. We're trying to strike a balance between Notion and Google Docs — very fast, ultralight and easy to share, but also supporting rich blocks and multiple pages.<p>Weirdly, none of the many notetaking/document apps that we could find hit this combination, so we made Leaflet. With it you can:<p>- Instantly create a doc, without an account
- Share read and edit links
- Sign-in with email to sync your docs to different devices
- Add rich blocks, like canvases, subpages, rsvps, and polls<p>It's really useful for one-off collaborations, running events, or just when you need a blank page without having to buy into a whole organizational system.<p>We also spent a lot of time making sure Leaflets look good. We've found that there's a pretty blurry boundary between a document and a website, so making something that people can feel proud to publish online was key.<p>Here's a couple examples!<p>- Jake's presentation on Slöjd, traditional handcraft pedagogy (<a href="https://leaflet.pub/3d28b4a7-3703-4ae5-aaf6-d270ffe1151f" rel="nofollow">https://leaflet.pub/3d28b4a7-3703-4ae5-aaf6-d270ffe1151f</a>)
- Laura's documentation of her website redesign (<a href="https://leaflet.pub/14aba696-e894-440a-9d06-917641a2bfce" rel="nofollow">https://leaflet.pub/14aba696-e894-440a-9d06-917641a2bfce</a>)<p>Some technical details that might be interesting:<p>- We do sync and all our client-side state via Replicache, which I really love!
- Data is modeled as a set of facts about entities, a la Datomic, forming a graph. This has been flexible enough for us to quickly build new features, like canvases and nested pages, without committing to a single document structure.
- We use ProseMirror, but not for the entire document. Instead every text block is a separate ProseMirror instance. This lets us keep the document structure in our database and our schema, without having to dive into ProseMirror's every time we want to modify things.<p>Our (somewhat messy) source is available here: <a href="https://github.com/hyperlink-academy/leaflet">https://github.com/hyperlink-academy/leaflet</a> if you want to dig deeper!<p>On the horizon:<p>- Better home and document organizing features — things like search, tagging, collections etc.
- We're really excited about ATProto and Bluesky and are working on a set of lexicons and an AppView for document publishing! This will include a lexicon for rich text documents, as well as one publications, and some concept of memberships or subscriptions.
- More blocks! Tables, code blocks, etc.<p>Some things we're particularly proud of:<p>- Our list handling
- Custom theming
- Keyboard handling on iOS Safari (and generally works excellently on mobile)
- Side-scrolling multi-page interface
- Works as a PWA!<p>Some things that still need work:<p>- While faster than others, still a lot of work we can do on performance, both speed when working with very large documents and loading docs generally
- Drag and drop and selection in general could be a lot nicer
- Keyboard navigation across multiple pages
- Multiplayer cursors, and generally real-time sync could be sped up greatly leveraging CRDTs (we already use YJS, just could move updates around faster)<p>You can create a new document just by visiting <a href="https://leaflet.pub" rel="nofollow">https://leaflet.pub</a> (or <a href="https://leaflet.pub/new" rel="nofollow">https://leaflet.pub/new</a> if you're signed in) — would love to hear your thoughts and any feedback if you give it a try!
Show HN: Leaflet.pub – a web app for creating and sharing rich documents
Hi HN!<p>For the last 8 months we've been working on leaflet.pub, a web app for making delightful documents. We're trying to strike a balance between Notion and Google Docs — very fast, ultralight and easy to share, but also supporting rich blocks and multiple pages.<p>Weirdly, none of the many notetaking/document apps that we could find hit this combination, so we made Leaflet. With it you can:<p>- Instantly create a doc, without an account
- Share read and edit links
- Sign-in with email to sync your docs to different devices
- Add rich blocks, like canvases, subpages, rsvps, and polls<p>It's really useful for one-off collaborations, running events, or just when you need a blank page without having to buy into a whole organizational system.<p>We also spent a lot of time making sure Leaflets look good. We've found that there's a pretty blurry boundary between a document and a website, so making something that people can feel proud to publish online was key.<p>Here's a couple examples!<p>- Jake's presentation on Slöjd, traditional handcraft pedagogy (<a href="https://leaflet.pub/3d28b4a7-3703-4ae5-aaf6-d270ffe1151f" rel="nofollow">https://leaflet.pub/3d28b4a7-3703-4ae5-aaf6-d270ffe1151f</a>)
- Laura's documentation of her website redesign (<a href="https://leaflet.pub/14aba696-e894-440a-9d06-917641a2bfce" rel="nofollow">https://leaflet.pub/14aba696-e894-440a-9d06-917641a2bfce</a>)<p>Some technical details that might be interesting:<p>- We do sync and all our client-side state via Replicache, which I really love!
- Data is modeled as a set of facts about entities, a la Datomic, forming a graph. This has been flexible enough for us to quickly build new features, like canvases and nested pages, without committing to a single document structure.
- We use ProseMirror, but not for the entire document. Instead every text block is a separate ProseMirror instance. This lets us keep the document structure in our database and our schema, without having to dive into ProseMirror's every time we want to modify things.<p>Our (somewhat messy) source is available here: <a href="https://github.com/hyperlink-academy/leaflet">https://github.com/hyperlink-academy/leaflet</a> if you want to dig deeper!<p>On the horizon:<p>- Better home and document organizing features — things like search, tagging, collections etc.
- We're really excited about ATProto and Bluesky and are working on a set of lexicons and an AppView for document publishing! This will include a lexicon for rich text documents, as well as one publications, and some concept of memberships or subscriptions.
- More blocks! Tables, code blocks, etc.<p>Some things we're particularly proud of:<p>- Our list handling
- Custom theming
- Keyboard handling on iOS Safari (and generally works excellently on mobile)
- Side-scrolling multi-page interface
- Works as a PWA!<p>Some things that still need work:<p>- While faster than others, still a lot of work we can do on performance, both speed when working with very large documents and loading docs generally
- Drag and drop and selection in general could be a lot nicer
- Keyboard navigation across multiple pages
- Multiplayer cursors, and generally real-time sync could be sped up greatly leveraging CRDTs (we already use YJS, just could move updates around faster)<p>You can create a new document just by visiting <a href="https://leaflet.pub" rel="nofollow">https://leaflet.pub</a> (or <a href="https://leaflet.pub/new" rel="nofollow">https://leaflet.pub/new</a> if you're signed in) — would love to hear your thoughts and any feedback if you give it a try!
Show HN: Beating Pokemon Red with RL and <10M Parameters
Hi everyone!<p>After spending hundreds of hours, we're excited to finally share our progress in developing a reinforcement learning system to beat Pokémon Red. Our system successfully completes the game using a policy under 10M parameters, PPO, and a few novel techniques. With the release of Claude Plays Pokémon, now feels like the perfect time to showcase our work.<p>We'd love to get feedback!
Show HN: Beating Pokemon Red with RL and <10M Parameters
Hi everyone!<p>After spending hundreds of hours, we're excited to finally share our progress in developing a reinforcement learning system to beat Pokémon Red. Our system successfully completes the game using a policy under 10M parameters, PPO, and a few novel techniques. With the release of Claude Plays Pokémon, now feels like the perfect time to showcase our work.<p>We'd love to get feedback!
Show HN: Beating Pokemon Red with RL and <10M Parameters
Hi everyone!<p>After spending hundreds of hours, we're excited to finally share our progress in developing a reinforcement learning system to beat Pokémon Red. Our system successfully completes the game using a policy under 10M parameters, PPO, and a few novel techniques. With the release of Claude Plays Pokémon, now feels like the perfect time to showcase our work.<p>We'd love to get feedback!
Show HN: Open-source Deep Research across workplace applications
I’ve been using deep research on OpenAI and Perplexity and it’s been just amazing at gathering data across a lot of related and chained searches. Just earlier today, I asked “What are some marquee tech companies / hot startups (not including the giants like FAAMG, Samsung, Nvidia etc.)”. It’s a pretty involved question and looking up “marquee tech startups” or "hot tech startups" on Google gave me nothing useful. Deep research on both ChatGPT and Perplexity gave really high quality responses with ChatGPT siding on slightly larger scaleups and Perplexity siding more on up and coming companies.<p>Given how useful AI research agents are across the internet, we decided to build an open-source equivalent for the workplace since a ton of questions at work also cannot be easily resolved with a single search. Onyx supports deep research connected to company applications like Google Drive, Salesforce, Sharepoint, GitHub, Slack, and 30+ others.<p>For example, an engineer may want to know “What’s happening with the verification email failure?” Onyx’s AI agent would first figure out what it needs to answer this question: What is the cause of the failure, what has been done to address it, has this come up before, and what’s the latest status on the issue. The agent would run parallel searches through Confluence, email, Slack, and GitHub to get the answers to these then combine them to build a coherent overview. If the agent finds that there was a technical blocker that will delay the resolution, it will adjust mid-flight and research to get more context on the blocker.<p>Here’s a video demo I recorded: <a href="https://www.youtube.com/watch?v=drvC0fWG4hE" rel="nofollow">https://www.youtube.com/watch?v=drvC0fWG4hE</a><p>If you want to get started with the GitHub repo, you can check out our guides at <a href="https://docs.onyx.app">https://docs.onyx.app</a>. Or to play with it without needing to deploy anything, you can go to <a href="https://cloud.onyx.app/signup">https://cloud.onyx.app/signup</a><p>P.S. There’s a lot of cool technical details behind building a system like this so I’ll continue the conversation in the comments.
Show HN: Open-source Deep Research across workplace applications
I’ve been using deep research on OpenAI and Perplexity and it’s been just amazing at gathering data across a lot of related and chained searches. Just earlier today, I asked “What are some marquee tech companies / hot startups (not including the giants like FAAMG, Samsung, Nvidia etc.)”. It’s a pretty involved question and looking up “marquee tech startups” or "hot tech startups" on Google gave me nothing useful. Deep research on both ChatGPT and Perplexity gave really high quality responses with ChatGPT siding on slightly larger scaleups and Perplexity siding more on up and coming companies.<p>Given how useful AI research agents are across the internet, we decided to build an open-source equivalent for the workplace since a ton of questions at work also cannot be easily resolved with a single search. Onyx supports deep research connected to company applications like Google Drive, Salesforce, Sharepoint, GitHub, Slack, and 30+ others.<p>For example, an engineer may want to know “What’s happening with the verification email failure?” Onyx’s AI agent would first figure out what it needs to answer this question: What is the cause of the failure, what has been done to address it, has this come up before, and what’s the latest status on the issue. The agent would run parallel searches through Confluence, email, Slack, and GitHub to get the answers to these then combine them to build a coherent overview. If the agent finds that there was a technical blocker that will delay the resolution, it will adjust mid-flight and research to get more context on the blocker.<p>Here’s a video demo I recorded: <a href="https://www.youtube.com/watch?v=drvC0fWG4hE" rel="nofollow">https://www.youtube.com/watch?v=drvC0fWG4hE</a><p>If you want to get started with the GitHub repo, you can check out our guides at <a href="https://docs.onyx.app">https://docs.onyx.app</a>. Or to play with it without needing to deploy anything, you can go to <a href="https://cloud.onyx.app/signup">https://cloud.onyx.app/signup</a><p>P.S. There’s a lot of cool technical details behind building a system like this so I’ll continue the conversation in the comments.