← all apps v0.1.0 · released
COSLU Reader // built by coslu labz

Opens any file. No cloud, no account, no error.

PDF, DOCX, XLSX, PSD, Parquet, SQLite, glTF, EPUB, recursive ZIP — 80+ formats in a 12 MB binary. Heavy formats load on demand, so the app starts fast regardless of catalog size. Whatever the viewer can't render falls back to text. Whatever isn't text falls back to hex. **Nothing ends in error.**

COSLU Reader · vol. I icon
fig. 1 · COSLU Reader · vol. I icon
§ 01
why

Opening a file became a drama of time and license.

Viewers live in silos: PDF here, spreadsheet there, image somewhere else. Office charges money, some take 5 seconds to open, others demand a login. When the format is exotic — Parquet, PSD, glTF, SQLite — you end up on Stack Overflow looking for "online converter" that either charges or wants an upload. We wanted a local app that opens **anything** without asking. So we built it.

§ 02
features

What this product actually does.

№ 01

80+ formats · viewer families

Code, data, documents, images, audio, video, 3D, archives. Each family has its own optimized viewer, and the app picks the right one without needing the file extension to be correct.

pdf · docx · xlsx · psd · parquet · sqlite · gltf · epub
№ 02

On-demand loading · 12 MB base

Every heavy format is a lazy chunk. The entry stays at ~198 KB even as the catalog grows. Cold-start O(1) on the number of supported formats.

№ 03

Nothing ends in error

Fallback chain: family viewer → best-effort text extraction → virtualized hex. Even unknown proprietary formats show up — just not pretty-rendered.

№ 04

Detection before load

Rust reads the first bytes (magic bytes) in microseconds, picks the family, then injects only the right chunk via initialization_script. No trying everything, no silent failures.

№ 05

Local-first, optional integration

No cloud, no account, no telemetry. If you have LibreOffice installed, DOCX and PPTX run at full fidelity via local conversion. Without it, they fall to text extraction. Your call.

№ 06

Recursive ZIP · and safe

ZIP-in-ZIP, TAR-in-ZIP, GZIP-in-ZIP work transparently. With zip-bomb and zip-slip protection: depth caps and cumulative byte budget on decompression.

§ 03
under the hood

Why these technical choices.

01 Tauri 2 · Rust · WebView2

Why Tauri (again)

Electron bundles Chromium + Node.js. Tauri uses native WebView2 on Windows, no Node — structural isolation against RCE. 12 MB base instead of 200+. Same decision as the other COSLU apps, same reason: respect for the end user.

02 Magic-byte sniff em Rust

The secret behind O(1) startup

Rust sniffs the first 8 KB of the file. Picks the family in microseconds, before any JavaScript runs. Then injects the right global boot via dynamic initialization_script. Only the viewer that's needed loads — no matter how the catalog grows, cold-start stays flat.

03 Shiki · pdf.js · sqlite-wasm · SheetJS · three.js

Family, not format

It's not 1-format = 1-viewer. It's family (tabular, document, 3D) with normalized model and fine-grained decoders. Shiki is a shared chunk across 50+ languages. PapaParse, sqlite-wasm, apache-arrow each live in their own chunk — entry stays stable regardless of growth.

04 DOMPurify · CSP · anti zip-bomb

Hardened security

pdf.js with isEvalSupported:false and enableScripting:false (CVE-2024-4367 mitigated). All untrusted HTML goes through DOMPurify ≥3.4. SheetJS vendored via CDN with a hash (the vulnerable npm version is avoided). SQLite from the official sqlite.org build. Anti-DoS budgets on archives.

§ 04
specs

The spec sheet.

Base size
12 MB
Entry chunk
~198 KB · estável
Cold start
< 1s · O(1) no catálogo
Supported formats
80+ (com 50+ linguagens via Shiki)
Platforms
Windows 10/11 · WebView2
License
MIT
Current version
v0.1.0 · pré-release
§ 05
roadmap

Where we are · where we’re going.

  • [×] Phase 1 · text, code, data, image, hex, recursive archive, fallback chain done
  • [×] Phase 2 · SQLite, XLSX, A/V media, fonts, Arrow/Feather, full archive done
  • [×] Phase 3 · PDF, DOCX/PPTX, .ipynb, EPUB, 3D/CAD, PSD, structured binary done
  • [ ] Strict CSP + Isolation Pattern + lockdowns planned
  • [ ] Windows code signing (Azure Trusted Signing) planned
  • [ ] Camera RAW (CR2, NEF, ARW, DNG via libraw-wasm) planned
  • [ ] Mobile (iOS / Android) with file picker planned
  • [ ] Legacy Office (.doc, .ppt, .xls) and Apple suites (.pages, .key, .numbers) planned
§ 06 · next The next COSLU product. MarkdownReader