Back to browse
GitHub Repository

A libre progressive web app offline dictionary platform from scratch in under 128kb.

59 starsC

Defeating AI by making knowledge accessible to Humans

by tnelsond4·Apr 27, 2026·4 points·1 comment

AI Analysis

●●SolidNiche GemBig BrainCozy

Replaces SQLite with a 38kb Wasm module for 2x faster offline dictionary lookups.

Strengths
  • Custom binary format and ZSTD compression reduce database size 90% versus SQLite.
  • Pure Wasm core avoids heavy JavaScript runtimes, enabling true offline-first PWA performance.
  • Targets underserved languages like Khmer and Lao where commercial apps fail completely.
Weaknesses
  • Custom .peak format creates friction when importing existing dictionary files from standard sources.
  • Defeating AI marketing rhetoric feels disconnected from the actual technical utility provided.
Category
Target Audience

Linguists, developers in low-bandwidth regions, PWA enthusiasts

Similar To

GoldenDict · Aard2 · StarDict

Post Description

PeakSlab is a libre pwa offline-first dictionary platform from scratch in under 128kb. The core wasm file of the app is written in C and is 38kb compiled which includes the ZSTD decoder and the custom dictionary format file loader and searcher.

I started writing this because I live in Cambodia and all the dictionary apps meet at least two of the following criteria: Slow, Online-only, Incomplete. So I started making .slob files for aard dictionary to help with learning the Khmer language. But aard only searches inside the headwords and there was no iOS port for my coworkers. I looked at other programs (like stardict), but they didn't seem to have any releases in ages and were super buggy. So a couple years ago I made a SQLite3 based web app so that it'd be easy to share with other people. But I couldn't help feeling like maybe SQLite wasn't the right solution. (SQLite databases aren't compressed, and the runtime for SQLite is 1.3mb and I still had to hack it to get it to work for my dictionary, kinda slow and if I was to make more indexes the file size would balloon drastically. Also I hate editing database files)

So a few months ago I wrote my own binary dictionary format and it's fast and tiny and has some really nice features. For the dictionaries I just write a tsv file and use my generator program to turn it into a .peak.zst file.

I put together examples for a bunch of different languages, but Khmer is the most complete one. See the list at https://peakslab.org

Similar Projects

Infrastructure●●●Banger

Wick – censorship circumvention tech repurposed for AI web access

Censorship circumvention tech stops AI agents getting blocked by bot detection systems.

Big BrainZero to OneSolve My Problem
adamfisk
422mo ago