Veil – Dark mode PDFs without destroying images, runs in the browser
Hi HN! here's a tool I just deployed that renders PDFs in dark mode without destroying the images. Internal and external links stay intact, and I decided to implement export since I'm not a fan of platform lock-in: you can view your dark PDF in your preferred reader, on any device. It's a side project born from a personal need first and foremost. When I was reading in the factory the books that eventually helped me get out of it, I had the problem that many study materials and books contained images and charts that forced me, with the dark readers available at the time, to always keep the original file in multitasking since the images became, to put it mildly, strange. I hope it can help some of you who have this same need. I think it could be very useful for researchers, but only future adoption will tell.With that premise, I'd like to share the choices that made all of this possible. To do so, I'll walk through the three layers that veil creates from the original PDF:- Layer 1: CSS filter. I use invert(0.86) hue rotate(180deg) on the main canvas. I use 0.86 instead of 1.0 because I found that full inversion produces a pure black and pure white that are too aggressive for prolonged reading. 0.86 yields a soft dark grey (around #242424, though it depends on the document's white) and a muted white (around #DBDBDB) for the text, which I found to be the most comfortable value for hours of reading.- Layer 2: image protection. A second canvas is positioned on top of the first, this time with no filters. Through PDF.js's public API getOperatorList(), I walk the PDF's operator list and reconstruct the CTM stack, that is the save, restore and transform operations the PDF uses to position every object on the page. When I encounter a paintImageXObject (opcode 85 in PDF.js v5), the current transformation matrix gives me the exact bounds of the image. At that point I copy those pixels from a clean render onto the overlay. I didn't f
FL score
out of 100
Verdict
high confidence
Competition
8
competitors found, emerging market, funded players
Trend
No signal yet
A browser-based tool for dark mode PDFs that preserves images, targeting frustrated readers and researchers.
The pain
The gap
Build angle
Strengths
- Addresses a specific, frequently articulated pain point (distorted images in dark mode PDFs).
- Clear value proposition: dark mode without compromising visual data.
- Founder has deep technical expertise and personal experience with the problem.
- Solution is already built and deployed, providing immediate validation opportunities.
Risks
- The broader dark mode and PDF reader market is crowded with free options and large incumbents (Adobe).
- High technical complexity for a solo builder to maintain and scale, especially cross-browser/device.
- Monetization strategy is unclear; users are accustomed to free dark mode features.
- Distribution challenging against entrenched browser extensions and built-in PDF viewers.
- The 'AI' tag might be misleading if the core value isn't AI-driven, potentially diluting messaging.
Next steps
- Conduct user interviews with identified target audience (researchers, students) to validate willingness to pay for this specific solution.
- Explore potential integrations or partnerships with academic platforms or research tools where this problem is most acute.
- A/B test different pricing models, potentially starting with a one-time purchase for the export feature or a small subscription for premium features.
- Gather extensive user feedback on the current tool's performance and identify the most requested advanced features.
- Clarify the 'AI' tag; if no AI is involved in the core image preservation, remove it to avoid confusion.
Fly Labs Method
Is the pain real, is there a gap, is it the right time, can one person build it.
- Problem clarity
- 27
- Solution gap
- 19
- Willingness to pay
- 21
- Buildability
- 11
A highly specific problem for dark mode PDF users (distorted images) that is real and painful, with a clear solution gap. Willingness to pay exists, but the technical complexity for a solo builder and strong incumbents in the broader market are notable risks.
Value Equation
Dream outcome and how likely it feels, against the time and effort it costs.
Strong value proposition and market need, but faces significant build complexity and a crowded broader market.
One-Person Business
Curiosity pull, identity fit, and a path from free value to paid for a solo creator.
Strong problem clarity and creator fit for a complex niche, but faces challenges in simplicity, monetization, and market leverage.
Viral Frameworks
Hook strength, shareability, and how cheaply it can be tested.
Clear value proposition for a specific audience, but distribution and business model against strong competition are key challenges.
Builder Lens
Evidence the problem exists, timing, defensibility, and a model that fits on a napkin.
Addresses a real, specific pain for a clear user with a viable initial solution, showing promise for future growth.
Why this verdict
Five lenses, one composite. How scoring works
The angle
This weekend
- Conduct user interviews with identified target audience (researchers, students) to validate willingness to pay for this specific solution.
- Explore potential integrations or partnerships with academic platforms or research tools where this problem is most acute.
- A/B test different pricing models, potentially starting with a one-time purchase for the export feature or a small subscription for premium features.
- Gather extensive user feedback on the current tool's performance and identify the most requested advanced features.
- Clarify the 'AI' tag; if no AI is involved in the core image preservation, remove it to avoid confusion.
Who is already there, emerging market
- Dark ReaderVisit
A free and open-source browser extension that enables dark mode on all websites, including PDFs, by inverting bright colors to be high contrast and easy to read.
Pricing: Free
- Night EyeVisit
A browser extension that applies dark mode to nearly any website and PDFs, utilizing a new approach that aims to improve the browsing experience without simply inverting colors.
Pricing: Free (Lite version with 5-website limit) / Paid (Pro version with 3-month free trial, then subscription)
- Shadow ReaderVisit
A free dark mode PDF reader designed for comfortable nighttime reading, offering clean PDF color inversion that preserves image readability and allows local annotation.
Pricing: Free
- Midnight LizardVisit
A web extension for Chrome and Firefox that provides custom color schemes for all websites, including PDFs, offering full color control and community themes.
Pricing: Free and Open Source
- PDFgearVisit
A free PDF viewer and editor with a dark mode, also notable for its AI-powered Copilot feature.
Pricing: Free
- SwifDoo PDFVisit
A comprehensive PDF reader and editor that includes a one-click dark mode feature and an AI assistant.
Pricing: Free version with limited features; $16/month; $96.75 one-time purchase.
A leading PDF solution offering various features, including the ability to view PDFs in dark mode by adjusting the PDF background or interface color.
Pricing: High fee for advanced features; subscription-based.
- Foxit PDF ReaderVisit
A full-featured alternative to Adobe Acrobat that includes dark mode options for document viewing, alongside annotation, form filling, and editing tools.
Pricing: Not explicitly stated, but often offers a free reader with paid upgrades for advanced features.
What they charge
Recent news
- Veil – Dark mode PDFs without destroying images, runs in the browser
Hacker News, March 26, 2026
- Best Night Eye Alternatives 2026 | Free & Private - Zovo
Zovo, March 13, 2026
- Best Dark Reader Alternatives 2026 | Free & Private - Zovo
Zovo, March 21, 2026
- Top 4 Dark Mode PDF Readers You Should Try in 2026 - SwifDoo PDF
SwifDoo PDF, January 16, 2026
- How to Convert PDF into Dark Mode (Easy & Free) Read PDFs in Dark Mode - YouTube
YouTube, January 20, 2026
Market signals
The market for dark mode PDF readers and browser extensions is growing, driven by increasing awareness of eye strain from bright screens and a preference for dark mode across various applications. Recent news and product updates from multiple companies, including those with AI integration, indicate continued investment and development in this space. This suggests a large and expanding market, moving beyond niche, as dark mode becomes a standard expectation for digital content consumption.
What frustrates people
- Dark Reader can slow down the browser and be slow to load on some websites.
- Dark Reader's color inversion method can distort images or highlights in PDFs.
- Night Eye's free tier is limited to 5 websites, and the paid version has a subscription model after a trial.
- Some dark mode extensions can screw up logins on websites.
- General dark mode workarounds often miss embedded PDFs or wreck screenshots, charts, and diagrams through system-wide inversion.
Semble – Code search for agents that uses 98% fewer tokens than grep
Hey HN! We (Stephan and Thomas) recently open-sourced Semble. We kept running into the same problem while using Claude Code on large codebases: when the agent can't find something directly, it falls back to grep, reading full files or launching subagents. This uses a lot of tokens, and often still misses the relevant code. There are existing tools for this, but they were either too slow to index on demand, needed API keys, or had poor retrieval quality.Semble is our solution for this. It combines static Model2Vec embeddings (using our latest static model: potion-code-16M) with BM25, fused via RRF and reranked with code-aware signals. Everything runs on CPU since there's no transformers involved. On our benchmark of ~1250 query/document pairs across 63 repos and 19 languages, it uses 98% fewer tokens than grep+read and reaches 99% of the retrieval quality of a 137M-parameter code-trained transformer, while being ~200x faster.Main features:- Token-efficient: 98% fewer tokens than grep+read- Fast: ~250ms to index a typical repo on our benchmark, ~1.5ms per query on CPU (very large repos may take longer)- Accurate: 0.854 NDCG@10, 99% of the best transformer setup we tested- MCP server: drop-in for Claude Code, Cursor, Codex, OpenCode- Zero config: no API keys, no GPU, no external servicesInstall in Claude Code with: claude mcp add semble -s user -- uvx --from "semble[mcp]" sembleOr check our README for other installation instructions, benchmarks, and methodology:Semble: https://github.com/MinishLab/sembleBenchmarks: https://github.com/MinishLab/semble/tree/main/benchmarksModel: https://huggingface.co/minishlab/potion-code-16MLet us know if you have any feedback or questions!
AI
Postgres extension for BM25 relevance-ranked full-text search
Last summer we faced a conundrum at my company, Tiger Data, a Postgres cloud vendor whose main business is in timeseries data. We were trying to grow our business towards emerging AI-centric workloads and wanted to provide a state-of-the-art hybrid search stack in Postgres. We'd already built pgvectorscale in house with the goal of scaling semantic search beyond pgvector's main memory limitations. We just needed a scalable ranked keyword search solution too.The problem: core Postgres doesn't provide this; the leading Postgres BM25 extension, ParadeDB, is guarded behind AGPL; developing our own extension appeared daunting. We'd need a small team of sharp engineers and 6-12 months, I figured. And we'd probably still fall short of the performance of a mature system like Parade/Tantivy.Or would we? I'd be experimenting long enough with AI-boosted development at that point to realize that with the latest tools (Claude Code + Opus) and an experienced hand (I've been working in database systems internals for 25 years now), the old time estimates pretty much go out the window.I told our CTO I thought I could solo the project in one quarter. This raised some eyebrows.It did take a little more time than that (two quarters), and we got some real help from the community (amazing!) after open-sourcing the pre-release. But I'm thrilled/exhausted today to share that pg_textsearch v1.0 is freely available via open source (Postgres license), on Tiger Data cloud, and hopefully soon, a hyperscalar near you:https://github.com/timescale/pg_textsearchIn the blog post accompanying the release, I overview the architecture and present benchmark results using MS-MARCO. To my surprise, we were not only able to meet Parade/Tantivy's query performance, but exceed it substantially, measuring a 4.7x advantage on query throughput at scale:https://www.tigerdata.com/blog/pg-textsearch-bm25-fu
AI
Consus (YC F24) – LLM gateway for companies handling sensitive data
Hey Hacker News! I'm Eric, the founder of Consus. We route all AI requests to ITAR restricted and controlled unclassified information (CUI) compliant infrastructure. Consus itself satisfies ITAR restrictions, and we recently completed our FedRAMP equivalency audit against the 410 FedRAMP High controls. FedRAMP High is the U.S. government’s strictest security baseline for cloud services handling sensitive unclassified data. A breach of this data could cause severe or catastrophic harm. Achieving FedRAMP equivalency, or authorization, is required before processing CUI information.Demo: https://youtu.be/6MYxJe6P4oYAerospace and defense is experiencing rapid growth. Unfortunately, most companies are struggling to use AI because of necessary data protections & compliance risk. These companies can move even faster if they could use the AI tools that most other industries take for granted.I spent most of my career prior to Consus in aerospace & defense. I launched national security payloads at SpaceX, and was an early employee at Castelion. I’ve watched first hand how compliance red-tape makes it difficult for companies to adopt new technologies and trust vendors that touch their sensitive data. For example, I worked with a satellite manufacturer that doesn’t allow any AI tools, even for non-sensitive work.Even as AI has become extremely useful over the past 9-12 months, I was surprised by how many aerospace & defense companies refused to touch it. They could see how it could be helpful, but they were scared about model providers training on their data, violating an ITAR rule, or risk losing new business because of a failed cyber assessment. These are all rational fears.There were a lot of ways to solve some/all of these problems, but we focused on building a compliant AI inference layer that can "plug" into any AI tool or workflow. Just as OpenRouter integrates with most tools, Consus can connect to tools like ChatGPT or Clau
AI
Questions about this idea?
FlyBot reads the scoring and gives you a second opinion on “Veil – Dark mode PDFs without destroying images, runs in the browser”.