flâneur — a map of the web's best reading

Reverse Engineering iWork - by Andrew Sampson - ./make

andrews.substack.com · 4,655 words · saved by 1 readers

The app I’m working on ingests a lot of files, and there’s no good solution for parsing .key, .numbers, or .pages files. Every existing approach requires you to first export your document to PDF (or some other format), then upload it for server-side processing. At that point, you’re either running it through a vision model or a PDF parser, both of which lose significant information or don’t work particularly well. This isn’t my first time solving distribution problems by going directly to the source. I previously ported Perl to WebAssembly so ExifTool could run client-side for metadata extraction, avoiding the need to upload files or have Perl installed. Same principle applies here: if you want high-quality extraction from iWork files without round-tripping through export formats or sending data to a server, you need to parse the native format. Thanks for reading ./make! Subscribe for free to receive new posts and support my work. I am not held back by the conventional wisdom for the s

Reverse Engineering iWork So you don't have to. Andrew Sampson Oct 15, 2025 12 2 1 Share The app I’m working on ingests a lot of files, and there’s no good solution for parsing .key , .numbers , or .pages files. Every existing approach requires you to first export your document to PDF (or some other format), then upload it for server-side processing. At that point, you’re either running it through a vision model or a PDF parser, both of which lose significant information or don’t work particularly well. This isn’t my first time solving distribution problems by going directly to the source. I p

Explore this link on the map →

saved by

related reading