The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Donobu – Mac App for Web Automation and Testing
Been working on a desktop app for Mac that lets you create web flows and rerun them (<a href="https://www.donobu.com/" rel="nofollow">https://www.donobu.com/</a>).<p>You can optionally use AI (BYOK: bring your own keys) to create flows for you and to do other interesting things, like making vision-based semantic assertions. Also, your data lives on your own filesystem, and we do not see any of it (further still, there is no phoning home at all). A nice benefit of this being a desktop app rather than a SAAS product, is that if you happen to be developing/iterating on a webpage locally, this has no problem hooking into it.<p>What this intends to be a good fit for:
- Testing web pages, especially locally.
- Exploring random webpages with a stated objective.
- Automating tedious flows. Rerunning a flow won't get caught up on using a single selector (many websites randomize element IDs, for instance), there is smart failover using a prioritized list of selectors.
- Getting a quick draft of an end-to-end test in Javascript.<p>What this is a bad fit for:
- Mass web scraping (too slow).
- Adversarial websites.<p>What we are still working out:
- Click-and-drag operations.
- Websites that are primarily controlled from canvas.
- Smoothing out UI/UX (we are two backend engineers trying our best, and are handedly outgunned by real frontend engineers).<p>Fun things to try:
- Asking it to assert that a webpage has a certain theme.
- Asking it to run an accessibility report for a page (uses <a href="https://github.com/dequelabs/axe-core">https://github.com/dequelabs/axe-core</a>).
- Asking it to run a cookie report for a page.<p>The tech:
- Java 21 for the main business logic.
- Javalin 6 for the web framework (<a href="https://javalin.io/" rel="nofollow">https://javalin.io/</a>).
- Playwright for controlling the browser (<a href="https://playwright.dev/java/" rel="nofollow">https://playwright.dev/java/</a>).
- Axe for running accessibility reports (<a href="https://github.com/dequelabs/axe-core">https://github.com/dequelabs/axe-core</a>).<p>Critical feedback is welcome. Thanks for trying it out!<p>Cheers,
-Justin and Vaz
Show HN: Donobu – Mac App for Web Automation and Testing
Been working on a desktop app for Mac that lets you create web flows and rerun them (<a href="https://www.donobu.com/" rel="nofollow">https://www.donobu.com/</a>).<p>You can optionally use AI (BYOK: bring your own keys) to create flows for you and to do other interesting things, like making vision-based semantic assertions. Also, your data lives on your own filesystem, and we do not see any of it (further still, there is no phoning home at all). A nice benefit of this being a desktop app rather than a SAAS product, is that if you happen to be developing/iterating on a webpage locally, this has no problem hooking into it.<p>What this intends to be a good fit for:
- Testing web pages, especially locally.
- Exploring random webpages with a stated objective.
- Automating tedious flows. Rerunning a flow won't get caught up on using a single selector (many websites randomize element IDs, for instance), there is smart failover using a prioritized list of selectors.
- Getting a quick draft of an end-to-end test in Javascript.<p>What this is a bad fit for:
- Mass web scraping (too slow).
- Adversarial websites.<p>What we are still working out:
- Click-and-drag operations.
- Websites that are primarily controlled from canvas.
- Smoothing out UI/UX (we are two backend engineers trying our best, and are handedly outgunned by real frontend engineers).<p>Fun things to try:
- Asking it to assert that a webpage has a certain theme.
- Asking it to run an accessibility report for a page (uses <a href="https://github.com/dequelabs/axe-core">https://github.com/dequelabs/axe-core</a>).
- Asking it to run a cookie report for a page.<p>The tech:
- Java 21 for the main business logic.
- Javalin 6 for the web framework (<a href="https://javalin.io/" rel="nofollow">https://javalin.io/</a>).
- Playwright for controlling the browser (<a href="https://playwright.dev/java/" rel="nofollow">https://playwright.dev/java/</a>).
- Axe for running accessibility reports (<a href="https://github.com/dequelabs/axe-core">https://github.com/dequelabs/axe-core</a>).<p>Critical feedback is welcome. Thanks for trying it out!<p>Cheers,
-Justin and Vaz
Show HN: Donobu – Mac App for Web Automation and Testing
Been working on a desktop app for Mac that lets you create web flows and rerun them (<a href="https://www.donobu.com/" rel="nofollow">https://www.donobu.com/</a>).<p>You can optionally use AI (BYOK: bring your own keys) to create flows for you and to do other interesting things, like making vision-based semantic assertions. Also, your data lives on your own filesystem, and we do not see any of it (further still, there is no phoning home at all). A nice benefit of this being a desktop app rather than a SAAS product, is that if you happen to be developing/iterating on a webpage locally, this has no problem hooking into it.<p>What this intends to be a good fit for:
- Testing web pages, especially locally.
- Exploring random webpages with a stated objective.
- Automating tedious flows. Rerunning a flow won't get caught up on using a single selector (many websites randomize element IDs, for instance), there is smart failover using a prioritized list of selectors.
- Getting a quick draft of an end-to-end test in Javascript.<p>What this is a bad fit for:
- Mass web scraping (too slow).
- Adversarial websites.<p>What we are still working out:
- Click-and-drag operations.
- Websites that are primarily controlled from canvas.
- Smoothing out UI/UX (we are two backend engineers trying our best, and are handedly outgunned by real frontend engineers).<p>Fun things to try:
- Asking it to assert that a webpage has a certain theme.
- Asking it to run an accessibility report for a page (uses <a href="https://github.com/dequelabs/axe-core">https://github.com/dequelabs/axe-core</a>).
- Asking it to run a cookie report for a page.<p>The tech:
- Java 21 for the main business logic.
- Javalin 6 for the web framework (<a href="https://javalin.io/" rel="nofollow">https://javalin.io/</a>).
- Playwright for controlling the browser (<a href="https://playwright.dev/java/" rel="nofollow">https://playwright.dev/java/</a>).
- Axe for running accessibility reports (<a href="https://github.com/dequelabs/axe-core">https://github.com/dequelabs/axe-core</a>).<p>Critical feedback is welcome. Thanks for trying it out!<p>Cheers,
-Justin and Vaz
Show HN: Itineraries.io – I built a joint trip planner in between surgeries
Hey HN,<p>For the last several weeks, I have just been sleeping, eating, operating and developing itineraries.io. Rinse and repeat.<p>I work as a surgeon in the UK. My main other passions are travel and programming. Recently, when I haven't been stitching someone up, I've been working on my project.<p>Having always dreamed of exploring the world as a child, I struck a goldmine when I found a wife who shared the same love of adventure as me. We couldn't afford to travel much when we first met at university. Over the last couple of years, since both entering the workforce, we have been able to live out some of our dreams. It has been wonderful. We now have a little one coming along and I can't wait to adventure as a family.<p>I created itineraries.io because my wife and I usually rely on making Excel spreadsheets for our travels. These eventually become quite detailed. I thought a better user experience could be designed, and a community could grow from it centred around adventure.<p>Here are the main benefits I envision of using itineraires.io:<p>- Everything you need for your trip stored in one location (tickets, driving directions, travel documents, etc)<p>- Collaborative planning: plan your trip with your companions by sending a joining link via email<p>- Community: save your favourite itineraries made by others, clone them with a single click, and make them your own<p>I'd love to hear your thoughts and feedback :)<p>Samar
Show HN: Itineraries.io – I built a joint trip planner in between surgeries
Hey HN,<p>For the last several weeks, I have just been sleeping, eating, operating and developing itineraries.io. Rinse and repeat.<p>I work as a surgeon in the UK. My main other passions are travel and programming. Recently, when I haven't been stitching someone up, I've been working on my project.<p>Having always dreamed of exploring the world as a child, I struck a goldmine when I found a wife who shared the same love of adventure as me. We couldn't afford to travel much when we first met at university. Over the last couple of years, since both entering the workforce, we have been able to live out some of our dreams. It has been wonderful. We now have a little one coming along and I can't wait to adventure as a family.<p>I created itineraries.io because my wife and I usually rely on making Excel spreadsheets for our travels. These eventually become quite detailed. I thought a better user experience could be designed, and a community could grow from it centred around adventure.<p>Here are the main benefits I envision of using itineraires.io:<p>- Everything you need for your trip stored in one location (tickets, driving directions, travel documents, etc)<p>- Collaborative planning: plan your trip with your companions by sending a joining link via email<p>- Community: save your favourite itineraries made by others, clone them with a single click, and make them your own<p>I'd love to hear your thoughts and feedback :)<p>Samar
Show HN: FinetuneDB – AI fine-tuning platform to create custom LLMs
Hey HN! We’re building FinetuneDB (<a href="https://finetunedb.com/" rel="nofollow">https://finetunedb.com/</a>), an LLM fine-tuning platform. It enables teams to easily create and manage high-quality datasets, and streamlines the entire workflow from fine-tuning to serving and evaluating models with domain experts. You can check out our docs here: (<a href="https://docs.finetunedb.com/" rel="nofollow">https://docs.finetunedb.com/</a>)<p>FinetuneDB exists because creating and managing high-quality datasets is a real bottleneck when fine-tuning LLMs. The quality of your data directly impacts the performance of your fine-tuned models, and existing tools didn’t offer an easy way for teams to build, organize, and iterate on their datasets. We’ve been working closely with our pilot customers, both AI startups and more traditional businesses like a large newspaper, which is fine-tuning models on their articles to automate content generation in their tone of voice.<p>The platform is built with an end-to-end workflow in mind, from dataset building, fine-tuning, serving, and evaluating outputs. The centerpiece is a version-controlled, no-code dataset manager where you can upload existing datasets in JSONL, use production data, or collaborate with domain experts to create high-quality datasets for custom use cases. We also offer evaluation workflows that allow non-technical contributors to annotate data, review model outputs, and refine responses (LLM-as-judge also available).<p>We offer:<p>- A free tier for developers and hobbyists who want to streamline dataset management.<p>- Business-tier with full feature access for teams, using per-seat pricing.<p>- A custom tier for model hosting, custom integrations, and self-hosting.<p>Most users still use OpenAI models, but if you're working with open-source LLMs, we offer pay-as-you-go pricing for serverless inference for Llama and Mistral models with up to €100 in free credits to get started.<p>We're in public beta right now, so any feedback—whether it’s about features, usability, or anything else—would be incredibly valuable.<p>If you've worked on fine-tuning models before or are curious about custom LLMs, we’d love to hear from you. Our goal is to make the fine-tuning process more accessible and help more companies leverage their data and domain experts to create custom LLMs.<p>Thanks for checking it out!
Show HN: FinetuneDB – AI fine-tuning platform to create custom LLMs
Hey HN! We’re building FinetuneDB (<a href="https://finetunedb.com/" rel="nofollow">https://finetunedb.com/</a>), an LLM fine-tuning platform. It enables teams to easily create and manage high-quality datasets, and streamlines the entire workflow from fine-tuning to serving and evaluating models with domain experts. You can check out our docs here: (<a href="https://docs.finetunedb.com/" rel="nofollow">https://docs.finetunedb.com/</a>)<p>FinetuneDB exists because creating and managing high-quality datasets is a real bottleneck when fine-tuning LLMs. The quality of your data directly impacts the performance of your fine-tuned models, and existing tools didn’t offer an easy way for teams to build, organize, and iterate on their datasets. We’ve been working closely with our pilot customers, both AI startups and more traditional businesses like a large newspaper, which is fine-tuning models on their articles to automate content generation in their tone of voice.<p>The platform is built with an end-to-end workflow in mind, from dataset building, fine-tuning, serving, and evaluating outputs. The centerpiece is a version-controlled, no-code dataset manager where you can upload existing datasets in JSONL, use production data, or collaborate with domain experts to create high-quality datasets for custom use cases. We also offer evaluation workflows that allow non-technical contributors to annotate data, review model outputs, and refine responses (LLM-as-judge also available).<p>We offer:<p>- A free tier for developers and hobbyists who want to streamline dataset management.<p>- Business-tier with full feature access for teams, using per-seat pricing.<p>- A custom tier for model hosting, custom integrations, and self-hosting.<p>Most users still use OpenAI models, but if you're working with open-source LLMs, we offer pay-as-you-go pricing for serverless inference for Llama and Mistral models with up to €100 in free credits to get started.<p>We're in public beta right now, so any feedback—whether it’s about features, usability, or anything else—would be incredibly valuable.<p>If you've worked on fine-tuning models before or are curious about custom LLMs, we’d love to hear from you. Our goal is to make the fine-tuning process more accessible and help more companies leverage their data and domain experts to create custom LLMs.<p>Thanks for checking it out!
Show HN: FinetuneDB – AI fine-tuning platform to create custom LLMs
Hey HN! We’re building FinetuneDB (<a href="https://finetunedb.com/" rel="nofollow">https://finetunedb.com/</a>), an LLM fine-tuning platform. It enables teams to easily create and manage high-quality datasets, and streamlines the entire workflow from fine-tuning to serving and evaluating models with domain experts. You can check out our docs here: (<a href="https://docs.finetunedb.com/" rel="nofollow">https://docs.finetunedb.com/</a>)<p>FinetuneDB exists because creating and managing high-quality datasets is a real bottleneck when fine-tuning LLMs. The quality of your data directly impacts the performance of your fine-tuned models, and existing tools didn’t offer an easy way for teams to build, organize, and iterate on their datasets. We’ve been working closely with our pilot customers, both AI startups and more traditional businesses like a large newspaper, which is fine-tuning models on their articles to automate content generation in their tone of voice.<p>The platform is built with an end-to-end workflow in mind, from dataset building, fine-tuning, serving, and evaluating outputs. The centerpiece is a version-controlled, no-code dataset manager where you can upload existing datasets in JSONL, use production data, or collaborate with domain experts to create high-quality datasets for custom use cases. We also offer evaluation workflows that allow non-technical contributors to annotate data, review model outputs, and refine responses (LLM-as-judge also available).<p>We offer:<p>- A free tier for developers and hobbyists who want to streamline dataset management.<p>- Business-tier with full feature access for teams, using per-seat pricing.<p>- A custom tier for model hosting, custom integrations, and self-hosting.<p>Most users still use OpenAI models, but if you're working with open-source LLMs, we offer pay-as-you-go pricing for serverless inference for Llama and Mistral models with up to €100 in free credits to get started.<p>We're in public beta right now, so any feedback—whether it’s about features, usability, or anything else—would be incredibly valuable.<p>If you've worked on fine-tuning models before or are curious about custom LLMs, we’d love to hear from you. Our goal is to make the fine-tuning process more accessible and help more companies leverage their data and domain experts to create custom LLMs.<p>Thanks for checking it out!
Show HN: I made an SSH tunnel manager to learn Go
Show HN: I made an SSH tunnel manager to learn Go
Show HN: I made an SSH tunnel manager to learn Go
Show HN: GoSQL – A query engine in 319 LoC
I've always been curious about how SQL engines actually work.<p>So I built a minimum viable SQL engine in Go.<p>- Supports CSV files as tables<p>- Supports SELECT, FROM, WHERE, LIMIT<p>It's very simple:<p>1. Parses query string<p>2. Converts it into an AST representation<p>3. Executes the query against the CSV<p>4. Returns the results
Show HN: ServerlessAI – Build, scale, and monetize AI apps without back end
Hello HN,<p>I’ve always loved building frontend-only apps—those you can prototype over a weekend, host for free on GitHub Pages, and scale to millions of users. Unfortunately, AI-enabled apps complicate things, as exposing your OpenAI key to the world is obviously a no-go. This also means mobile developers often have to run their own servers.<p>That’s why I built ServerlessAI, an API gateway that lets you securely call multiple AI providers directly from client side using OpenAI-compatible APIs. You can authenticate users through any identity provider, like Google or Apple, and set per-user request or spending quotas. You can also define an allowlist for endpoints and models. To monetize, you can apply different quotas for various user tiers.<p>To start, I recommend checking out our tutorials, where we walk you through building a complete, deployment-ready AI app in 5 minutes. We’ve got tutorials for React, Next.js, and iOS: <a href="https://serverlessai.dev/docs/tutorials/" rel="nofollow">https://serverlessai.dev/docs/tutorials/</a><p>Our long term vision is to offer the best toolkit for AI developers at every stage of their project’s lifecycle. If OpenAI / Anthropic / etc are AWS, we want to be the Supabase / Upstash / etc. We are building optional out-of-box tools for authentication and payment management, so you can roll out your prototype faster. In the future, we want to provide the best prompt engineering tools for fine-tuning, A/B testing, and backtesting, as well as the best observability tools.<p>We’d love to hear your feedback. Thanks for stopping by!
Show HN: ServerlessAI – Build, scale, and monetize AI apps without back end
Hello HN,<p>I’ve always loved building frontend-only apps—those you can prototype over a weekend, host for free on GitHub Pages, and scale to millions of users. Unfortunately, AI-enabled apps complicate things, as exposing your OpenAI key to the world is obviously a no-go. This also means mobile developers often have to run their own servers.<p>That’s why I built ServerlessAI, an API gateway that lets you securely call multiple AI providers directly from client side using OpenAI-compatible APIs. You can authenticate users through any identity provider, like Google or Apple, and set per-user request or spending quotas. You can also define an allowlist for endpoints and models. To monetize, you can apply different quotas for various user tiers.<p>To start, I recommend checking out our tutorials, where we walk you through building a complete, deployment-ready AI app in 5 minutes. We’ve got tutorials for React, Next.js, and iOS: <a href="https://serverlessai.dev/docs/tutorials/" rel="nofollow">https://serverlessai.dev/docs/tutorials/</a><p>Our long term vision is to offer the best toolkit for AI developers at every stage of their project’s lifecycle. If OpenAI / Anthropic / etc are AWS, we want to be the Supabase / Upstash / etc. We are building optional out-of-box tools for authentication and payment management, so you can roll out your prototype faster. In the future, we want to provide the best prompt engineering tools for fine-tuning, A/B testing, and backtesting, as well as the best observability tools.<p>We’d love to hear your feedback. Thanks for stopping by!
Show HN: Winamp and other media players, rebuilt for the web with Web Components
Hey all, creator of Video.js and co-founder of Mux & Zencoder here. My team and I built this. I hope you like the themes we’ve built so far, and maybe even get inspired to build your own.<p>I know Web Components are in a bit of a drama cycle right now. I’m happy to see them get any attention really. I’ve been pretty bullish on them since ~2013 when I started working with them, at least in the context of a <i>widget</i> like a video player. I’ve even given many related talks on them like this one (<a href="https://www.youtube.com/watch?v=N6Mh84SRoDg" rel="nofollow">https://www.youtube.com/watch?v=N6Mh84SRoDg</a>).<p>I would never push them for a large app or as a full replacement for React, but they’ve been incredible for making video players that are compatible across many contexts, and Player.style is a clear demonstration of that when you get to the step of embedding a theme. Web components really shine for building bits of UI that can be shared between projects. They also are the best way to avoid the long term JS framework thrash that’s a challenge for any developer who works on the web for long enough. One of the best decisions I ever made for Video.js was to <i>not</i> build it with jQuery. Video.js is 15 years old now and still in use, while all the jQuery players are not.<p>For some added context of this project, when I was building Video.js back in 2010 I put a lot of thought into how other developers would customize the player controls. I was excited to use web technologies (instead of Flash) to build a player and I <i>knew</i> other web devs would be too.<p>Fast forward 14 years — Video.js has been used on millions of websites including Twitter, Instagram, Amazon, Dropbox, Linkedin and even in United Airlines headrests. In 99.99% of those cases the default Video.js controls were used with little to no customization. So…huge adoption success, utter failure in sparking creativity. In retrospect, asking people to learn a new UI framework just to style their player was too much.<p>Media Chrome and Player.style are my answer to that friction.<p>- Media Chrome - A suite of Web Components and React Components that let you easily build a media player UI from scratch, using components you’re already familiar with.<p>- Player.stye - Themes built with Media Chrome, showing the cross-player and cross-framework flexibility of Media Chrome<p>Media Chrome is already used on sites like TED.com, Syntax.fm, and anywhere the Mux Player is used. We’ve spent the last few months building some great themes for Player.style. I probably had the most fun recreating the Youtube icon animations from scratch using SVGs and CSS. (Whoever made the originals, nicely done!)<p>It’s all free and open source, so don’t hesitate to jump in if you’re interested in the project. And of course I’m happy to answer any questions.
Show HN: Winamp and other media players, rebuilt for the web with Web Components
Hey all, creator of Video.js and co-founder of Mux & Zencoder here. My team and I built this. I hope you like the themes we’ve built so far, and maybe even get inspired to build your own.<p>I know Web Components are in a bit of a drama cycle right now. I’m happy to see them get any attention really. I’ve been pretty bullish on them since ~2013 when I started working with them, at least in the context of a <i>widget</i> like a video player. I’ve even given many related talks on them like this one (<a href="https://www.youtube.com/watch?v=N6Mh84SRoDg" rel="nofollow">https://www.youtube.com/watch?v=N6Mh84SRoDg</a>).<p>I would never push them for a large app or as a full replacement for React, but they’ve been incredible for making video players that are compatible across many contexts, and Player.style is a clear demonstration of that when you get to the step of embedding a theme. Web components really shine for building bits of UI that can be shared between projects. They also are the best way to avoid the long term JS framework thrash that’s a challenge for any developer who works on the web for long enough. One of the best decisions I ever made for Video.js was to <i>not</i> build it with jQuery. Video.js is 15 years old now and still in use, while all the jQuery players are not.<p>For some added context of this project, when I was building Video.js back in 2010 I put a lot of thought into how other developers would customize the player controls. I was excited to use web technologies (instead of Flash) to build a player and I <i>knew</i> other web devs would be too.<p>Fast forward 14 years — Video.js has been used on millions of websites including Twitter, Instagram, Amazon, Dropbox, Linkedin and even in United Airlines headrests. In 99.99% of those cases the default Video.js controls were used with little to no customization. So…huge adoption success, utter failure in sparking creativity. In retrospect, asking people to learn a new UI framework just to style their player was too much.<p>Media Chrome and Player.style are my answer to that friction.<p>- Media Chrome - A suite of Web Components and React Components that let you easily build a media player UI from scratch, using components you’re already familiar with.<p>- Player.stye - Themes built with Media Chrome, showing the cross-player and cross-framework flexibility of Media Chrome<p>Media Chrome is already used on sites like TED.com, Syntax.fm, and anywhere the Mux Player is used. We’ve spent the last few months building some great themes for Player.style. I probably had the most fun recreating the Youtube icon animations from scratch using SVGs and CSS. (Whoever made the originals, nicely done!)<p>It’s all free and open source, so don’t hesitate to jump in if you’re interested in the project. And of course I’m happy to answer any questions.
Show HN: Winamp and other media players, rebuilt for the web with Web Components
Hey all, creator of Video.js and co-founder of Mux & Zencoder here. My team and I built this. I hope you like the themes we’ve built so far, and maybe even get inspired to build your own.<p>I know Web Components are in a bit of a drama cycle right now. I’m happy to see them get any attention really. I’ve been pretty bullish on them since ~2013 when I started working with them, at least in the context of a <i>widget</i> like a video player. I’ve even given many related talks on them like this one (<a href="https://www.youtube.com/watch?v=N6Mh84SRoDg" rel="nofollow">https://www.youtube.com/watch?v=N6Mh84SRoDg</a>).<p>I would never push them for a large app or as a full replacement for React, but they’ve been incredible for making video players that are compatible across many contexts, and Player.style is a clear demonstration of that when you get to the step of embedding a theme. Web components really shine for building bits of UI that can be shared between projects. They also are the best way to avoid the long term JS framework thrash that’s a challenge for any developer who works on the web for long enough. One of the best decisions I ever made for Video.js was to <i>not</i> build it with jQuery. Video.js is 15 years old now and still in use, while all the jQuery players are not.<p>For some added context of this project, when I was building Video.js back in 2010 I put a lot of thought into how other developers would customize the player controls. I was excited to use web technologies (instead of Flash) to build a player and I <i>knew</i> other web devs would be too.<p>Fast forward 14 years — Video.js has been used on millions of websites including Twitter, Instagram, Amazon, Dropbox, Linkedin and even in United Airlines headrests. In 99.99% of those cases the default Video.js controls were used with little to no customization. So…huge adoption success, utter failure in sparking creativity. In retrospect, asking people to learn a new UI framework just to style their player was too much.<p>Media Chrome and Player.style are my answer to that friction.<p>- Media Chrome - A suite of Web Components and React Components that let you easily build a media player UI from scratch, using components you’re already familiar with.<p>- Player.stye - Themes built with Media Chrome, showing the cross-player and cross-framework flexibility of Media Chrome<p>Media Chrome is already used on sites like TED.com, Syntax.fm, and anywhere the Mux Player is used. We’ve spent the last few months building some great themes for Player.style. I probably had the most fun recreating the Youtube icon animations from scratch using SVGs and CSS. (Whoever made the originals, nicely done!)<p>It’s all free and open source, so don’t hesitate to jump in if you’re interested in the project. And of course I’m happy to answer any questions.
Show HN: Winamp and other media players, rebuilt for the web with Web Components
Hey all, creator of Video.js and co-founder of Mux & Zencoder here. My team and I built this. I hope you like the themes we’ve built so far, and maybe even get inspired to build your own.<p>I know Web Components are in a bit of a drama cycle right now. I’m happy to see them get any attention really. I’ve been pretty bullish on them since ~2013 when I started working with them, at least in the context of a <i>widget</i> like a video player. I’ve even given many related talks on them like this one (<a href="https://www.youtube.com/watch?v=N6Mh84SRoDg" rel="nofollow">https://www.youtube.com/watch?v=N6Mh84SRoDg</a>).<p>I would never push them for a large app or as a full replacement for React, but they’ve been incredible for making video players that are compatible across many contexts, and Player.style is a clear demonstration of that when you get to the step of embedding a theme. Web components really shine for building bits of UI that can be shared between projects. They also are the best way to avoid the long term JS framework thrash that’s a challenge for any developer who works on the web for long enough. One of the best decisions I ever made for Video.js was to <i>not</i> build it with jQuery. Video.js is 15 years old now and still in use, while all the jQuery players are not.<p>For some added context of this project, when I was building Video.js back in 2010 I put a lot of thought into how other developers would customize the player controls. I was excited to use web technologies (instead of Flash) to build a player and I <i>knew</i> other web devs would be too.<p>Fast forward 14 years — Video.js has been used on millions of websites including Twitter, Instagram, Amazon, Dropbox, Linkedin and even in United Airlines headrests. In 99.99% of those cases the default Video.js controls were used with little to no customization. So…huge adoption success, utter failure in sparking creativity. In retrospect, asking people to learn a new UI framework just to style their player was too much.<p>Media Chrome and Player.style are my answer to that friction.<p>- Media Chrome - A suite of Web Components and React Components that let you easily build a media player UI from scratch, using components you’re already familiar with.<p>- Player.stye - Themes built with Media Chrome, showing the cross-player and cross-framework flexibility of Media Chrome<p>Media Chrome is already used on sites like TED.com, Syntax.fm, and anywhere the Mux Player is used. We’ve spent the last few months building some great themes for Player.style. I probably had the most fun recreating the Youtube icon animations from scratch using SVGs and CSS. (Whoever made the originals, nicely done!)<p>It’s all free and open source, so don’t hesitate to jump in if you’re interested in the project. And of course I’m happy to answer any questions.
Show HN: Kotlin Money
Manipulating monetary amounts is a common computing chore. However, no mainstream language has a first-class data type for representing money, it’s up to programmers to code abstractions for it. This isn’t an issue per se until dealing with rounding issues from operations like installment payments (e.g., buy now, pay later), foreign exchange, or even simple things like fee processing and tax collection.<p>Inspired by my days at N26 Brasil dealing with these challenges, I introduce Money: a Kotlin library that makes monetary calculations and allocations easy.
Show HN: Kotlin Money
Manipulating monetary amounts is a common computing chore. However, no mainstream language has a first-class data type for representing money, it’s up to programmers to code abstractions for it. This isn’t an issue per se until dealing with rounding issues from operations like installment payments (e.g., buy now, pay later), foreign exchange, or even simple things like fee processing and tax collection.<p>Inspired by my days at N26 Brasil dealing with these challenges, I introduce Money: a Kotlin library that makes monetary calculations and allocations easy.