Urgent.News

What's breaking now, across thousands of outlets.

Tech

Building an offline snag-list app with Expo, Skia and pdf-lib

A snag list (a punch list in the US) is the walk-round at the end of a job: you photograph every defect, mark it up, note where it is, and send the builder one numbered report. Electricians do it for clients, site managers do it at handover, and new-home buyers in the UK do it before the builder's warranty clock runs out. The apps for this split into two camps. Some are team platforms with an…

A snag list is a post-construction inspection, where any issues are photographed, marked up, and noted for the builder to address before the warranty expires. There are two types of snag list apps - those that require an account and a monthly fee, and those that are free but charge for the PDF output. PunchSheet aims to be the third option: a one-time purchase, no account needed, and fully functional offline.

Offline functionality is essential, and the app is designed to never reach for the internet. The build script checks the Android APK permissions and fails if any unexpected permissions are detected. Only Expo SQLite is used for data storage, and photos are stored locally.

Markup for the snag list is stored as vector shapes and drawn with React Native Skia. Each snag can contain multiple photos, and when a photo is added, a JPEG copy with flattened markup is created. The PDF is limited to 15 MB, and the app uses a prediction algorithm to optimize the number of encodings used.

The app runs entirely on the phone, with no cloud storage or syncing. Backup is achieved through a single .punchsheet file that contains all data, which can be imported onto another device. The app is priced at $9.99, and Google Play does not require a license check even in airplane mode. PunchSheet offers a complete offline snag list solution for a one-time fee.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

From a phone app to a cluster

Originally published at eyosias.me . This is a chapter in the Ivyk8 series. TL;DR Ivyk8 is Ivy + k8s: a read-only desktop dashboard for the backups my phone app writes to Google Drive.

  • Ivy Wallet+ began as Android open-source money manager, archived by owner.
  • Author forked, added features, inspired desktop dashboard idea.
  • Project scaled down to 3 stateless TypeScript services, Kubernetes.

More from Thursday 29 October →