Skip to content
←back to projects
desktop·2026

PDFForge Viewer Case Study

A fast, private, offline desktop PDF viewer built with Electron and pdf.js. Ships as a Windows NSIS installer with file association for .pdf files.

Situation

Modern desktop PDF viewers are often bloated with unnecessary cloud synchronization features, telemetry background processes, and aggressive upsells. For many users and developers, opening a local PDF should be instantaneous, private, and completely disconnected from third-party cloud servers. Mainstream viewers often take seconds to launch and consume substantial memory just to display text.

Task

I set out to engineer a minimalist, offline-first desktop PDF viewer that:

  1. Launches instantaneously and views documents without internet connectivity or external analytics.
  2. Integrates directly into Windows with proper .pdf file associations and shell context menus.
  3. Packages into a lightweight, standalone Windows installer (NSIS) under 65MB.
  4. Provides smooth page rendering, continuous scrolling, zooming, search, and page rotation.

Action

To deliver a desktop-grade experience without bloat, I architected PDFForge Viewer using Electron and Mozilla's pdf.js:

  • Sandboxed Rendering Engine: Decoupled the document viewer from Node.js system privileges using Electron's context isolation. The UI renders via an embedded, optimized canvas stream powered by pdf.js.
  • Inter-Process Communication (IPC): Built a secure IPC protocol between the main process and the renderer to handle local filesystem operations, document loading, and print dialogs without exposing native system APIs.
  • Windows Packaging & File Association: Configured electron-builder with custom NSIS installer scripts to register PDFForge Viewer as an official Windows default app option for .pdf files.
  • Memory Management: Implemented viewport canvas recycling and virtualized page rendering so that multi-hundred-page documents do not crash the renderer process or exceed memory limits.

Result

  • Privacy Guaranteed: Zero cloud uploads, zero telemetry, and 100% offline document processing.
  • Startup Latency: Cold launch time under 600ms, delivering documents ~3x faster than heavy commercial readers.
  • Memory Footprint: Average RAM usage remains under 95MB for typical 50-page technical documents.
  • Availability: Released as a Windows installer and distributed via pdfforge.acharyanischal.com.np/download and open-sourced on GitHub.