Back to Projects

PixoPDF (ZeroPDF)

Live AppGitHub

A fast, client-side PDF processing suite for editing, merging, and converting PDF documents.

WebAssemblyPrivacy-FirstClient-SideNext.js

Overview

PixoPDF is a privacy-first web application that utilizes WebAssembly to process PDF files entirely within the user's browser, ensuring that sensitive documents never touch external servers.

The Problem

Many online PDF tools compromise privacy by uploading sensitive documents (like tax returns or legal contracts) to external servers for processing. This creates a massive data exfiltration risk.

System Architecture

Engineering Trade-offs

Traded broader device compatibility (e.g., very old mobile devices with limited RAM) for absolute privacy guarantees by forcing client-side processing.

Lessons Learned & Future

Production Learnings

Managing memory leaks in WebAssembly within a React environment is non-trivial. Required deep dive into manual garbage collection and object URL revocation.

Future Improvements

Implementing a local-first encrypted storage feature via IndexedDB to allow users to save workspaces safely.

Database Layer

None. Zero-state architecture. All operations happen ephemerally in the browser's RAM.

API Design

No external APIs for processing. Utilized Web Workers to offload heavy WebAssembly computations from the main UI thread.

Security Decisions

1. CSP (Content Security Policy) strictly forbids outbound data connections, mathematically proving zero data exfiltration. 2. Implemented strict memory limits to prevent browser crashing (OOM) on malicious files.

Scale & Metrics

Processes 20MB PDFs in under 2 seconds. Zero network latency.