The best Hacker News stories from Show from the past day
Latest posts:
Show HN: I built a free alternative to Adobe Acrobat PDF viewer
I built EmbedPDF: an MIT-licensed, open-source PDF viewer that aims to match all of Adobe Acrobat’s paid features… for free.<p>Already working:<p>- Annotations (highlight, sticky notes, free text, ink)<p>- True redaction (content actually removed)<p>- Search, text selection, zoom, rotation<p>- Runs fully in the browser, no server needed<p>- Drop-in SDK for React, Vue, Preact, vanilla JS<p>Why? Acrobat is heavy, closed, and pricey. I wanted something lightweight, hackable, and embeddable anywhere.<p>Demo: <a href="https://app.embedpdf.com/" rel="nofollow">https://app.embedpdf.com/</a>
Website: <a href="https://www.embedpdf.com/" rel="nofollow">https://www.embedpdf.com/</a>
GitHub: <a href="https://github.com/embedpdf/embed-pdf-viewer" rel="nofollow">https://github.com/embedpdf/embed-pdf-viewer</a><p>Feedback, bug reports, and feature requests welcome!
Show HN: I built a free alternative to Adobe Acrobat PDF viewer
I built EmbedPDF: an MIT-licensed, open-source PDF viewer that aims to match all of Adobe Acrobat’s paid features… for free.<p>Already working:<p>- Annotations (highlight, sticky notes, free text, ink)<p>- True redaction (content actually removed)<p>- Search, text selection, zoom, rotation<p>- Runs fully in the browser, no server needed<p>- Drop-in SDK for React, Vue, Preact, vanilla JS<p>Why? Acrobat is heavy, closed, and pricey. I wanted something lightweight, hackable, and embeddable anywhere.<p>Demo: <a href="https://app.embedpdf.com/" rel="nofollow">https://app.embedpdf.com/</a>
Website: <a href="https://www.embedpdf.com/" rel="nofollow">https://www.embedpdf.com/</a>
GitHub: <a href="https://github.com/embedpdf/embed-pdf-viewer" rel="nofollow">https://github.com/embedpdf/embed-pdf-viewer</a><p>Feedback, bug reports, and feature requests welcome!
Show HN: I built a free alternative to Adobe Acrobat PDF viewer
I built EmbedPDF: an MIT-licensed, open-source PDF viewer that aims to match all of Adobe Acrobat’s paid features… for free.<p>Already working:<p>- Annotations (highlight, sticky notes, free text, ink)<p>- True redaction (content actually removed)<p>- Search, text selection, zoom, rotation<p>- Runs fully in the browser, no server needed<p>- Drop-in SDK for React, Vue, Preact, vanilla JS<p>Why? Acrobat is heavy, closed, and pricey. I wanted something lightweight, hackable, and embeddable anywhere.<p>Demo: <a href="https://app.embedpdf.com/" rel="nofollow">https://app.embedpdf.com/</a>
Website: <a href="https://www.embedpdf.com/" rel="nofollow">https://www.embedpdf.com/</a>
GitHub: <a href="https://github.com/embedpdf/embed-pdf-viewer" rel="nofollow">https://github.com/embedpdf/embed-pdf-viewer</a><p>Feedback, bug reports, and feature requests welcome!
Show HN: I built a free alternative to Adobe Acrobat PDF viewer
I built EmbedPDF: an MIT-licensed, open-source PDF viewer that aims to match all of Adobe Acrobat’s paid features… for free.<p>Already working:<p>- Annotations (highlight, sticky notes, free text, ink)<p>- True redaction (content actually removed)<p>- Search, text selection, zoom, rotation<p>- Runs fully in the browser, no server needed<p>- Drop-in SDK for React, Vue, Preact, vanilla JS<p>Why? Acrobat is heavy, closed, and pricey. I wanted something lightweight, hackable, and embeddable anywhere.<p>Demo: <a href="https://app.embedpdf.com/" rel="nofollow">https://app.embedpdf.com/</a>
Website: <a href="https://www.embedpdf.com/" rel="nofollow">https://www.embedpdf.com/</a>
GitHub: <a href="https://github.com/embedpdf/embed-pdf-viewer" rel="nofollow">https://github.com/embedpdf/embed-pdf-viewer</a><p>Feedback, bug reports, and feature requests welcome!
Show HN: Inworld Runtime – A C++ graph-based runtime for production AI apps
Hey HN, this is Igor, one of the engineers behind Inworld Runtime, which we're releasing today in public preview.<p>We built it to solve the common problem we and our customers had: engineers spend more time on AI ops and plumbing than on actual feature development. This was often due to the challenge of using Python for I/O-bound, high-concurrency workloads and complexity maintaining pipelines with streams that use always-changing ML models.<p>Our solution is a high-performance runtime written in C++ with the core idea of defining AI logic as graphs. For instance, a basic voice-to-voice agent consists of STT → LLM → TTS nodes, while the connecting edges stream data and enforce conditions. This graph engine is portable (Linux, Windows, macOS) and can run on-device.<p>We built a few key features on top of this C++ core:<p>- Extensions. Runtime architecture decouples graph definition from implementation. If a pre-built component doesn't exist, you can register your own custom node/code and reuse it in any graph without writing any glue code.<p>- Routers. You can dynamically select models/settings on the per-node basis depending on the traffic as well as configure policies for fallbacks and retries to get the app ready for production.<p>- The Portal. A web-based control plane UI to deploy graphs, push config changes instantly, run A/B tests on live traffic, and monitor your app with logs, traces, and metrics.<p>- Unified API. Use our optimized models or route to providers like OpenAI, Anthropic, and Google through a single, consistent interface and one API key.<p>We have a Node.js SDK out now, with Python, Unity, Unreal, and native C++ coming soon. We plan to open-source the SDKs, starting with Node.js.<p>The docs are here: <a href="https://docs.inworld.ai/docs/runtime/overview" rel="nofollow">https://docs.inworld.ai/docs/runtime/overview</a><p>We're eager for feedback from fellow engineers and builders. What do you think?
Show HN: I built LMArena for Motion Graphics
A motion-graphic comparison website in the vein of LMArena. The videos are rendered via Remotion.<p>We hope that AI will be used in interesting ways to help with video production, so we wanted to give some of the models available today a shot at some basic graphics.
Show HN: Turn your iPhone into a local OCR server using Vision Framework
Built an iOS app that runs a local OCR server using Apple's Vision Framework.<p>Creates a REST API endpoint accessible from any device on your network. No cloud services needed - everything processes locally on the phone.<p>Available on App Store (searching "OCR Server").<p>Would appreciate feedback on the architecture or similar mobile-as-server projects you've seen.
Show HN: Move to dodge the bullets. How long can you survive?
Show HN: Move to dodge the bullets. How long can you survive?
Show HN: Move to dodge the bullets. How long can you survive?
Show HN: Doom port to pure Go – Gore
Hi HN,
I’ve been working on Gore – a port of the classic Doom engine written in pure Go, based on a ccgo C-to-Go translation of Doom Generic. It loads original WAD files, uses a software renderer (no SDL or CGO, or Go dependencies outside the standard library). Still has a bit of unsafe code that I'm trying to get rid of, and various other caveats.<p>In the examples is a terminal-based renderer, which is entertaining, even though it's very hard to play with terminal-style input/output.<p>The goal is a clean, cross-platform, Go-native take on the Doom engine – fun to hack on, easy to read, and portable.<p>Code and instructions are at <a href="https://github.com/AndreRenaud/Gore" rel="nofollow">https://github.com/AndreRenaud/Gore</a><p>Would love feedback or thoughts.
Show HN: Doom port to pure Go – Gore
Hi HN,
I’ve been working on Gore – a port of the classic Doom engine written in pure Go, based on a ccgo C-to-Go translation of Doom Generic. It loads original WAD files, uses a software renderer (no SDL or CGO, or Go dependencies outside the standard library). Still has a bit of unsafe code that I'm trying to get rid of, and various other caveats.<p>In the examples is a terminal-based renderer, which is entertaining, even though it's very hard to play with terminal-style input/output.<p>The goal is a clean, cross-platform, Go-native take on the Doom engine – fun to hack on, easy to read, and portable.<p>Code and instructions are at <a href="https://github.com/AndreRenaud/Gore" rel="nofollow">https://github.com/AndreRenaud/Gore</a><p>Would love feedback or thoughts.
Show HN: Doom port to pure Go – Gore
Hi HN,
I’ve been working on Gore – a port of the classic Doom engine written in pure Go, based on a ccgo C-to-Go translation of Doom Generic. It loads original WAD files, uses a software renderer (no SDL or CGO, or Go dependencies outside the standard library). Still has a bit of unsafe code that I'm trying to get rid of, and various other caveats.<p>In the examples is a terminal-based renderer, which is entertaining, even though it's very hard to play with terminal-style input/output.<p>The goal is a clean, cross-platform, Go-native take on the Doom engine – fun to hack on, easy to read, and portable.<p>Code and instructions are at <a href="https://github.com/AndreRenaud/Gore" rel="nofollow">https://github.com/AndreRenaud/Gore</a><p>Would love feedback or thoughts.
Show HN: Omnara – Run Claude Code from anywhere
Hey ya’ll, Ishaan and Kartik here. We're building Omnara (<a href="https://omnara.com/">https://omnara.com/</a>), an “agent command center” that lets you launch and control Claude Code from anywhere: terminal, web, or mobile — and easily switch between them.<p>Run 'pip install omnara && omnara', and you'll have a regular Claude Code session. But you can continue that same session from our web dashboard (<a href="https://omnara.com/">https://omnara.com/</a>) or mobile app (<a href="https://apps.apple.com/us/app/omnara-ai-command-center/id6748426727">https://apps.apple.com/us/app/omnara-ai-command-center/id674...</a>).<p>Check out a demo here: <a href="https://www.loom.com/share/03d30efcf8e44035af03cbfebf840c73" rel="nofollow">https://www.loom.com/share/03d30efcf8e44035af03cbfebf840c73</a>.<p>Before Omnara, we felt stuck watching Claude Code think and write code, waiting 5-10 minutes just to provide input when needed. Now with Omnara, I can start a Claude Code session and if I need to leave my laptop, I can respond from my phone anywhere. Some places I've coded from include my bed, on a walk, in an Uber, while doing laundry, and even on the toilet.<p>There are many new Claude Code wrappers (e.g., Crystal, Conductor), but none keep the native Claude Code terminal experience while allowing interaction outside the terminal, especially on mobile. On the other hand, tools like Vibetunnel or Termius replicate the terminal experience but lack push notifications, clean UIs for answering questions or viewing git diffs, and easy setup.<p>We wanted our integration to fully mirror the native Claude Code experience, including terminal output, permissions, notifications, and mode switching. The Claude Code SDK and hooks don't support all of this, so we made a CLI wrapper that parses the session file at ~/.claude/projects and the terminal output to capture user and agent messages. We send these messages to our platform, where they're displayed in the web and mobile apps in real time via SSE. Our CLI wrapper monitors for input from both the Omnara platform and the Claude Code CLI, continuing execution when the user responds from either location. Our entire backend is open source: <a href="https://github.com/omnara-ai/omnara" rel="nofollow">https://github.com/omnara-ai/omnara</a>.<p>Omnara isn't just for Claude Code. It's a general framework for any AI agent to send messages and push notifications to humans when they need input. For example, I've been using it as a human-in-the-loop node in n8n workflows for replying to emails. But every Claude Code user we show it to gets excited about that application specifically so that’s why we’re launching that first :)<p>Omnara is free for up to 10 agent sessions per month, then $9/month for unlimited sessions. Looking forward to your feedback and hearing your thoughts and comments!
Show HN: Omnara – Run Claude Code from anywhere
Hey ya’ll, Ishaan and Kartik here. We're building Omnara (<a href="https://omnara.com/">https://omnara.com/</a>), an “agent command center” that lets you launch and control Claude Code from anywhere: terminal, web, or mobile — and easily switch between them.<p>Run 'pip install omnara && omnara', and you'll have a regular Claude Code session. But you can continue that same session from our web dashboard (<a href="https://omnara.com/">https://omnara.com/</a>) or mobile app (<a href="https://apps.apple.com/us/app/omnara-ai-command-center/id6748426727">https://apps.apple.com/us/app/omnara-ai-command-center/id674...</a>).<p>Check out a demo here: <a href="https://www.loom.com/share/03d30efcf8e44035af03cbfebf840c73" rel="nofollow">https://www.loom.com/share/03d30efcf8e44035af03cbfebf840c73</a>.<p>Before Omnara, we felt stuck watching Claude Code think and write code, waiting 5-10 minutes just to provide input when needed. Now with Omnara, I can start a Claude Code session and if I need to leave my laptop, I can respond from my phone anywhere. Some places I've coded from include my bed, on a walk, in an Uber, while doing laundry, and even on the toilet.<p>There are many new Claude Code wrappers (e.g., Crystal, Conductor), but none keep the native Claude Code terminal experience while allowing interaction outside the terminal, especially on mobile. On the other hand, tools like Vibetunnel or Termius replicate the terminal experience but lack push notifications, clean UIs for answering questions or viewing git diffs, and easy setup.<p>We wanted our integration to fully mirror the native Claude Code experience, including terminal output, permissions, notifications, and mode switching. The Claude Code SDK and hooks don't support all of this, so we made a CLI wrapper that parses the session file at ~/.claude/projects and the terminal output to capture user and agent messages. We send these messages to our platform, where they're displayed in the web and mobile apps in real time via SSE. Our CLI wrapper monitors for input from both the Omnara platform and the Claude Code CLI, continuing execution when the user responds from either location. Our entire backend is open source: <a href="https://github.com/omnara-ai/omnara" rel="nofollow">https://github.com/omnara-ai/omnara</a>.<p>Omnara isn't just for Claude Code. It's a general framework for any AI agent to send messages and push notifications to humans when they need input. For example, I've been using it as a human-in-the-loop node in n8n workflows for replying to emails. But every Claude Code user we show it to gets excited about that application specifically so that’s why we’re launching that first :)<p>Omnara is free for up to 10 agent sessions per month, then $9/month for unlimited sessions. Looking forward to your feedback and hearing your thoughts and comments!
Show HN: Omnara – Run Claude Code from anywhere
Hey ya’ll, Ishaan and Kartik here. We're building Omnara (<a href="https://omnara.com/">https://omnara.com/</a>), an “agent command center” that lets you launch and control Claude Code from anywhere: terminal, web, or mobile — and easily switch between them.<p>Run 'pip install omnara && omnara', and you'll have a regular Claude Code session. But you can continue that same session from our web dashboard (<a href="https://omnara.com/">https://omnara.com/</a>) or mobile app (<a href="https://apps.apple.com/us/app/omnara-ai-command-center/id6748426727">https://apps.apple.com/us/app/omnara-ai-command-center/id674...</a>).<p>Check out a demo here: <a href="https://www.loom.com/share/03d30efcf8e44035af03cbfebf840c73" rel="nofollow">https://www.loom.com/share/03d30efcf8e44035af03cbfebf840c73</a>.<p>Before Omnara, we felt stuck watching Claude Code think and write code, waiting 5-10 minutes just to provide input when needed. Now with Omnara, I can start a Claude Code session and if I need to leave my laptop, I can respond from my phone anywhere. Some places I've coded from include my bed, on a walk, in an Uber, while doing laundry, and even on the toilet.<p>There are many new Claude Code wrappers (e.g., Crystal, Conductor), but none keep the native Claude Code terminal experience while allowing interaction outside the terminal, especially on mobile. On the other hand, tools like Vibetunnel or Termius replicate the terminal experience but lack push notifications, clean UIs for answering questions or viewing git diffs, and easy setup.<p>We wanted our integration to fully mirror the native Claude Code experience, including terminal output, permissions, notifications, and mode switching. The Claude Code SDK and hooks don't support all of this, so we made a CLI wrapper that parses the session file at ~/.claude/projects and the terminal output to capture user and agent messages. We send these messages to our platform, where they're displayed in the web and mobile apps in real time via SSE. Our CLI wrapper monitors for input from both the Omnara platform and the Claude Code CLI, continuing execution when the user responds from either location. Our entire backend is open source: <a href="https://github.com/omnara-ai/omnara" rel="nofollow">https://github.com/omnara-ai/omnara</a>.<p>Omnara isn't just for Claude Code. It's a general framework for any AI agent to send messages and push notifications to humans when they need input. For example, I've been using it as a human-in-the-loop node in n8n workflows for replying to emails. But every Claude Code user we show it to gets excited about that application specifically so that’s why we’re launching that first :)<p>Omnara is free for up to 10 agent sessions per month, then $9/month for unlimited sessions. Looking forward to your feedback and hearing your thoughts and comments!
Show HN: Building a web search engine from scratch with 3B neural embeddings
Show HN: Building a web search engine from scratch with 3B neural embeddings
Show HN: Building a web search engine from scratch with 3B neural embeddings
Show HN: 1 Million Rows