Wednesday, July 2, 2025

Show HN: Issue Duration Labeler – a GitHub Action that labels issue by age https://ift.tt/GteJCs2

Show HN: Issue Duration Labeler – a GitHub Action that labels issue by age I’ve built *Issue Duration Labeler*, a GitHub Action that automatically adds *color-coded duration labels* to every issue in a repo: Default label thresholds: Green – ≤ 7 days (configurable) Orange – ≤ 30 days Red – > 30 days For open issues we compute “age” (creation → now). You can adjust the day thresholds and label colors in the workflow file, and choose whether labels update daily or only when they cross the next threshold. *Why?* I often lost track of how long tickets had been lingering, especially in older projects. A quick glance at the issue list or github project now tells us what’s fresh, what’s getting stale, and what’s officially ancient. It’s also handy for post-mortems: sort by red labels to see which bugs took the longest to close. *Link* https://ift.tt/sdl59P0... https://ift.tt/kA07Jyq July 3, 2025 at 03:15AM

Tuesday, July 1, 2025

Show HN: Core – open source memory graph for LLMs – shareable, user owned https://ift.tt/mVZIBn6

Show HN: Core – open source memory graph for LLMs – shareable, user owned I keep running in the same problem of each AI app “remembers” me in its own silo. ChatGPT knows my project details, Cursor forgets them, Claude starts from zero… so I end up re-explaining myself dozens of times a day across these apps. The deeper problem 1. Not portable – context is vendor-locked; nothing travels across tools. 2. Not relational – most memory systems store only the latest fact (“sticky notes”) with no history or provenance. 3. Not yours – your AI memory is sensitive first-party data, yet you have no control over where it lives or how it’s queried. Demo video: https://youtu.be/iANZ32dnK60 Repo: https://ift.tt/K7tV82w What we built - CORE (Context Oriented Relational Engine): An open source, shareable knowledge graph (your memory vault) that lets any LLM (ChatGPT, Cursor, Claude, SOL, etc.) share and query the same persistent context. - Temporal + relational: Every fact gets a full version history (who, when, why), and nothing is wiped out when you change it—just timestamped and retired. - Local-first or hosted: Run it offline in Docker, or use our hosted instance. You choose which memories sync and which stay private. Try it - Hosted free tier (HN launch): https://core.heysol.ai - Docs: https://ift.tt/aoA8Mvx https://ift.tt/K7tV82w July 1, 2025 at 09:54PM

Show HN: Fixstars AIBooster – Accelerate AI Training and Cut GPU Costs https://ift.tt/87iNcvG

Show HN: Fixstars AIBooster – Accelerate AI Training and Cut GPU Costs Hi HN, We're excited to introduce Fixstars AIBooster, our new performance engineering tool designed to significantly accelerate AI model training while optimizing GPU utilization. AIBooster provides: Real-time monitoring of GPU, CPU, memory, and power consumption. Clear visibility into performance bottlenecks, helping developers optimize AI workloads. Proven acceleration of AI training processes—users commonly achieve up to 2-3x speed improvements. Significant cost savings by maximizing infrastructure efficiency. It's free to try, requires minimal setup, and integrates seamlessly into your existing infrastructure. We've built this tool to empower AI developers to get the most from their GPU infrastructure without complicated tuning. We'd love your feedback, questions, or suggestions! https://ift.tt/fY2nmQr July 2, 2025 at 12:15AM

Show HN: Runik – Turn fan wikis into e-reader dictionaries https://ift.tt/F92wi7Y

Show HN: Runik – Turn fan wikis into e-reader dictionaries Hey HN! As a reader of epic fantasy and sci-fi, I often find myself reaching for my phone to look up an obscure side character — or the difference between “Genebackis” and “Genebaris”. So I built runik to bring in-world definitions directly onto my e-reader and stay immersed in the story. Runik parses the contents of fan wikis into Kobo and Kindle compatible dictionaries. It uses the device’s built-in word lookup feature, so there’s no jailbreaking required and definitions can be used offline. It’s still in early development and is built with Go (Wails) + Svelte + Dictutil — feedback is appreciated! Note: Kindle support requires kindlegen, which comes bundled with the Kindle Previewer app (details in the README). https://runik.app/ https://ift.tt/xSp8JGZ https://ift.tt/xSp8JGZ July 1, 2025 at 11:25PM

Monday, June 30, 2025

Show HN: C.O.R.E – Opensource, user owned, shareable memory for Claude, Cursor https://ift.tt/VogWu3E

Show HN: C.O.R.E – Opensource, user owned, shareable memory for Claude, Cursor Hi HN, I keep running in the same problem of each AI app “remembers” me in its own silo. ChatGPT knows my project details, Cursor forgets them, Claude starts from zero… so I end up re-explaining myself dozens of times a day across these apps. The deeper problem 1. Not portable – context is vendor-locked; nothing travels across tools. 2. Not relational – most memory systems store only the latest fact (“sticky notes”) with no history or provenance. 3. Not yours – your AI memory is sensitive first-party data, yet you have no control over where it lives or how it’s queried. Demo video: https://youtu.be/iANZ32dnK60 Repo: https://ift.tt/K7tV82w What we built - CORE (Context Oriented Relational Engine): An open source, shareable knowledge graph (your memory vault) that lets any LLM (ChatGPT, Cursor, Claude, SOL, etc.) share and query the same persistent context. - Temporal + relational: Every fact gets a full version history (who, when, why), and nothing is wiped out when you change it—just timestamped and retired. - Local-first or hosted: Run it offline in Docker, or use our hosted instance. You choose which memories sync and which stay private. Why this matters - Ask “What’s our roadmap now?” and “What was it last quarter?” — timeline and authorship are always preserved. - Change a preference (e.g. “I no longer use shadcn”) — assistants see both old and new memory, so no more stale facts or embarrassing hallucinations. - Every answer is traceable: hover a fact to see who/when/why it got there. Try it - Hosted free tier (HN launch): https://core.heysol.ai - Docs: https://ift.tt/aoA8Mvx https://ift.tt/K7tV82w July 1, 2025 at 02:40AM

Show HN: Audiopipe – Pipeline for audio diarization, denoising and transcription https://ift.tt/L8R2jXN

Show HN: Audiopipe – Pipeline for audio diarization, denoising and transcription Audiopipe is a one-liner for denoising, diarization and transcription with demucs + pyannote + insanely-fast-whisper. Made it to transcribe podcasts and Dungeons And Dragons sessions, figured it could be useful. It also has a wasm UI to load transcriptions and audio. Feel free to contribute! Feedback appreciated. https://ift.tt/b1Yk5GW July 1, 2025 at 01:02AM

Show HN: Attach Gateway – one-command OIDC/DID auth for local LLMs https://ift.tt/WzLAplN

Show HN: Attach Gateway – one-command OIDC/DID auth for local LLMs We’ve been building local and on-prem agent workflows for open-source LLMs. Engines like Ollama or vLLM ship with no auth, so every team ends up writing the same JWT proxy. Attach Gateway is a single process that sits in front of any model server and handles the boring bits: - verifies OIDC / DID JWTs - adds X-Attach-User and X-Attach-Session headers so downstream agents share the same identity - optional /a2a/tasks/send endpoint for Google-style A2A hand-offs - mirrors prompts + completions to Weaviate (runs in Docker) One `pip install attach-dev`, export a token, run `attach-gateway`, and your local Ollama is protected in under 60 seconds. Repo: https://ift.tt/mtpIW4k PyPI: https://ift.tt/VZDsrIY Would love feedback – especially from teams doing multi-agent or on-prem work. https://ift.tt/mtpIW4k June 30, 2025 at 11:38PM

Sunday, June 29, 2025

Show HN: Tablr – Supabase with AI Features https://ift.tt/ltABMro

Show HN: Tablr – Supabase with AI Features https://www.tablr.dev/ June 30, 2025 at 04:35AM

Show HN: Summle – A little maths Game https://ift.tt/pelw48M

Show HN: Summle – A little maths Game https://summle.net June 26, 2025 at 04:28PM

Show HN: Sharpe Ratio Calculation Tool https://ift.tt/JMkqalb

Show HN: Sharpe Ratio Calculation Tool I built a simple but effective Sharpe Ratio calculator that gives the full historical variation of it. Should I add other rations like Calmar and Sortino? https://ift.tt/YwTa9xX June 29, 2025 at 11:08PM

Saturday, June 28, 2025

Show HN: Anti-Cluely – Detect virtual devices and cheating tools on exam systems https://ift.tt/sikVIqQ

Show HN: Anti-Cluely – Detect virtual devices and cheating tools on exam systems Anti-Cluely is a lightweight tool designed to detect common virtual environments, device emulators, and system manipulation tools often used to bypass or cheat in online exams. https://ift.tt/GedFhmN June 29, 2025 at 01:11AM

Show HN: Query your Rust codebase and generate types for anything https://ift.tt/LgQ4tDh

Show HN: Query your Rust codebase and generate types for anything Hello HN! As a long-time professional Rust developer. I've always been frustrated by the difficulty and "hackiness" of producing bindings to other languages, whether a frontend, an FFI library, etc. Not just in Rust but in any language. After many years of trying existing solutions and trying to make my own, I've finally developed a solution I'm very happy with. RTK (aka Rust Type Kit) allows you to write Lua scripts that perform queries on your code, such as method calls to Axum's `.route`, function definitions, and more, and then receive rich type information including all argument types, function paths, proc macro attributes, and more. Your Lua script can then read this information and emit an output file in any language of your choosing. Or, you can emit compiler errors and use it as a linter of sorts. You can even directly re-emit Rust code itself and use this as a richer proc macro solution! The code example is a bit verbose, so I encourage you to take a look at the repo's README. I look forward to hearing your thoughts, or any usecases you may come up with! https://ift.tt/qMOTg3f June 29, 2025 at 12:25AM

Show HN: A Go service that exposes a FIFO message queue in RAM https://ift.tt/WfkuE69

Show HN: A Go service that exposes a FIFO message queue in RAM https://ift.tt/o5qPZ6C June 25, 2025 at 05:04PM

Friday, June 27, 2025

Show HN: GPU market is absurd! So I built a dashboard of pricing/restock trends https://ift.tt/dYNbrXT

Show HN: GPU market is absurd! So I built a dashboard of pricing/restock trends Hey HN! This idea started with me not being able to buy a GPU and constantly losing to bots/scalpers. I figured I'd use this as way to see how far I can get with 'vibe-coding and designing'*. The end result was pretty far! Here are more details of behind the scenes. In a future blog post, I'll detail behind the scenes process of building this. - The landing page is React/Typescript/Tailwind.css (which I've never used before) - The dashboard is based on Evidence.dev - which is SQL queries in Markdown + little bit of custom Javascript for chart formatting (again never used before :) - Just being able to get an idea like this in my head into existence would have taken me many months of Stack overflow/Google research to first learn React/Typescript/Javascript but this took about a month (~1-2 hr a day) * 'Vibe-coded' is often a misnomer i.e. people sometime think it's a magic pill. From building this I can tell you that you can't just will the site into existence like a genie's wish. It still took significant effort to guide the LLM, debug when things go wrong, need to have an idea of design and taste of what to build and how to make it look good, work on many iterations. There were probably 500 iterations between the first and the final iteration. https://ift.tt/b9XURxi June 28, 2025 at 12:32AM

Show HN: I built Hispi, an app to design custom jewellery https://ift.tt/ctbV0Xi

Show HN: I built Hispi, an app to design custom jewellery Designing is free and gives you a breakdown of material choices and costs, then you can get a quote if you want to buy the ring. I'm working with around 50 jewellers in London and the UK's Jewellery Quarter but I think just designing a ring is pretty nice. https://hispi.app June 24, 2025 at 07:08PM

Show HN: Do You Know RGB? https://ift.tt/7Md3jpc

Show HN: Do You Know RGB? https://ift.tt/RTsHi0L June 24, 2025 at 01:49PM

Show HN: IssuePay – Get paid for open-source contributions https://ift.tt/83LBIKa

Show HN: IssuePay – Get paid for open-source contributions Hi HN! I’m Mario, and I’m about to launch IssuePay. Problem: Open-source contributors don’t get direct financial recognition for their work. Solution: IssuePay lets maintainers post bounties on GitHub/GitLab issues. Contributors pick tasks, merge code, and get paid automatically. You can then withdraw your earnings directly to your Bank Account. Try it out: https://issuepay.app Questions: Would love feedback on our UX, payout reliability, or any scaling tips. Note: Open to partnerships with OSS communities! Thank you, guys ! <3 https://issuepay.app June 28, 2025 at 12:01AM

Thursday, June 26, 2025

Show HN: I built a JSON-RPC library for Zig with compile time reflection https://ift.tt/gyEKN3T

Show HN: I built a JSON-RPC library for Zig with compile time reflection Doing dynamic dispatching in a strict static typing language is hard. Something as simple as, map.put("add", add); map.put("hello", hello); fn add(a: i32, b: i32) i32 { return a + b; } fn hello() []const u8 { return "Hello World"; } is impossible because the value type of key/value of the map needs to be the same but all the function types are different. Calling functions with different number of parameters, different parameter types, and different return type dynamically is difficult. Other languages either use dynamic typing, runtime reflection, macro, or passing in one big generic parameter and let the function figure it out. In ZigJR, I use Zig's comptime feature to do compile time reflection to figure out a function's parameter types, return types, and return errors. I package them up into a specific call object and use the interface pattern to produce a uniformly typed object to be put into the map. It's not easy but doable. [1] [1] https://ift.tt/TZ5eXfg... https://ift.tt/SENLgf7 June 26, 2025 at 11:54PM

Show HN: Pocket2Linkding – Migrate from Mozilla Pocket to Linkding https://ift.tt/gUnI4KO

Show HN: Pocket2Linkding – Migrate from Mozilla Pocket to Linkding With the Mozilla Pocket shutdown coming up in about two weeks, I thought I'd share this quick tool to migrate to linkding in case it's helpful to others. After reviewing self-hosted options to Pocket, I decided linkding has the best combination of features. (The creator/author of linkding has done a great job -- however, I plan to eventually create a new tool that is based on linkding but adds some new features that the author has indicated he doesn't want to include [I’m currently using a fork, but I want to expand on it further].) HN thread about shutdown announcement: https://ift.tt/ijmJbZx Mozilla announcement: https://ift.tt/3jDOqT8 linkding: https://linkding.link/ Note that Pocket is shutting down July 8, 2025, but the export service will remain available until October 8, 2025. [edit] fix typo in title & formatting https://ift.tt/q8svX6u June 26, 2025 at 10:33PM

Show HN: Magnitude – open-source AI browser automation framework https://ift.tt/OPzl8bT

Show HN: Magnitude – open-source AI browser automation framework Hey HN, Anders and Tom here. We had a post about our AI test automation framework 2 months ago that got a decent amount of traction ( https://ift.tt/Q2Wy746 ). We got some great feedback from the community, with the most positive response being about our vision-first approach used in our browser agent. However, many wanted to use the underlying agent outside the testing domain. So today, we're releasing our fully featured AI browser automation framework. You can use it to automate tasks on the web, integrate between apps without APIs, extract data, test your web apps, or as a building block for your own browser agents. Traditionally, browser automation could only be done via the DOM, even though that’s not how humans use browsers. Most browser agents are still stuck in this paradigm. With a vision-first approach, we avoid relying on flaky DOM navigation and perform better on complex interactions found in a broad variety of sites, for example: - Drag and drop interactions - Data visualizations, charts, and tables - Legacy apps with nested iframes - Canvas and webGL-heavy sites (like design tools or photo editing) - Remote desktops streamed into the browser To interact accurately with the browser, we use visually grounded models to execute precise actions based on pixel coordinates. The model used by Magnitude must be smart enough to plan out actions but also able to execute them. Not many models are both smart *and* visually grounded. We highly recommend Claude Sonnet 4 for the best performance, but if you prefer open source, we also support Qwen-2.5-VL 72B. Most browser agents never make it to production. This is because of (1) the flaky DOM navigation mentioned above, but (2) the lack of control most browser agents offer. The dominant paradigm is you give the agent a high-level task + tools and hope for the best. This quickly falls apart for production automations that need to be reliable and specific. With Magnitude, you have fine-grained control over the agent with our `act()` and `extract()` syntax, and can mix it with your own code as needed. You also have full control of the prompts at both the action and agent level. ```ts // Magnitude can handle high-level tasks await agent.act('Create an issue', { // Optionally pass data that the agent will use where appropriate data: { title: 'Use Magnitude', description: 'Run "npx create-magnitude-app" and follow the instructions', }, }); // It can also handle low-level actions await agent.act('Drag "Use Magnitude" to the top of the in progress column'); // Intelligently extract data based on the DOM content matching a provided zod schema const tasks = await agent.extract( 'List in progress issues', z.array(z.object({ title: z.string(), description: z.string(), // Agent can extract existing data or new insights difficulty: z.number().describe('Rate the difficulty between 1-5') })), ); ``` We have a setup script that makes it trivial to get started with an example, just run "npx create-magnitude-app". We’d love to hear what you think! Repo: https://ift.tt/uahTk2P https://ift.tt/uahTk2P June 27, 2025 at 12:00AM

Show HN: Nibble https://ift.tt/fN5T23V

Show HN: Nibble An attempt at a single pass LLVM frontend in ~3000 lines of C without external dependencies, malloc, or an AST. Included are...