The evacuation bag is a traditional part of household crisis preparedness -
a suitcase or backpack with water, food, documents and a first-aid kit that a
family keeps within reach in case they have to leave their home within minutes.
The problem isn't what belongs in it: lists circulate from the Czech fire service
(HZS ČR) and from civic initiatives. The problem is keeping it up to date. Water
and long-life food expire, medication changes with prescriptions, the battery in
a smoke detector needs checking from time to time, and your documents are best
backed up as photos after every renewal. As a paper or Excel checklist, this
stays current for only a few weeks after you put it together.
The Ember Omnia app (working project name: Evakuační zavazadlo, i.e. “Evacuation Bag”) solves this as a living inventory - it keeps track of what the household should have, how much it actually has, when items start to expire and what needs regular checking. It is aimed at individuals and families (adults, children, seniors, pets) and built offline-first: the app has to work without a connection, because relying on the internet makes no sense in a crisis. The app is currently available as a web app (PWA) at blog.myscriptorium.cz/en/apps/evac/ - anyone can try it for free, currently in test operation. A native Android version is being developed alongside it, which the end of this article covers.
From idea to specification
Development began with a classic product-requirements process - the author and Claude first pinned down the scope of phase 1 in an MRD document: a single device with no cloud sync, one profile per user, offline-first operation except for the news tab. The onboarding flow got a fixed shape: a welcome screen, household setup (number of adults, children, seniors, pets by type, sustainability period from 48 hours to 10 days or a custom value), a choice of category templates to import, automatic quantity calculation based on the profile, and finally the dashboard.
The data model was designed to scale to multiple profiles later, even though phase 1 counted on only one. Explicitly ruled out of scope from the start: multi-profile, cloud sync between devices, OCR reading of expiry dates from a photo of a document, a location-based news feed and profile sharing between users - all deferred to phase 2.
Three open questions remained at the start: which platform to choose (native or cross-platform), where to get a source of crisis news, and what visual style the app would get. The agreed direction was “calm, trustworthy” - with a choice of light/dark/color themes and no blanket “panic red”, reserved only for truly critical states.
Data model and templates
The core of the app is a seed file with ready-made templates - a JSON structure
versioned via template_version, divided into eight categories:
Documents and finance, Water, Long-life food, First aid, Equipment and tools,
Hygiene, Clothing and Other, plus a conditional Pets category that is imported
only when the profile contains at least one animal.
Every item has a type - consumable, durable, document or task - and the app treats it differently according to type. Consumable items (water, food, medication) have a defined consumption per person per day; from it the app calculates the required quantity during onboarding using the formula:
Durable and document items (a fire blanket, a multi-tool, a copy of a birth certificate) don't scale with the number of days - only with the number of people or animals, or they have a fixed quantity. Items of the task type (checking the fuel tank in the car, replacing the battery in the smoke detector, updating photos of documents) have no expiry, but a check interval in days, from which the app derives a reminder counted from the date of the last check.
The app derives an item's resulting status on its own: OK, missing, expiring soon, expired or to check. After import, the user can manually override any calculated value, turn off scaling and enter a fixed quantity, or create their own category and item from scratch.
What the app can do today
The first launch walks the user through a four-step wizard. First the app learns the household's makeup - the number of adults, children, seniors and pets (with a choice of species: dog, cat, other) using simple +/− counters. Next comes the supply sustainability period (48 h, 72 h, 5, 7 or 10 days, or a custom number of days). The third step offers a choice of template categories to import, and the last step is a summary; once you confirm it, the quantities are calculated from the profile and the app opens the Dashboard. After import, any calculated quantity can be adjusted manually at any time on the individual item.
The main screen, Overview, shows the bag's readiness as a percentage, a Needs attention section with items that are missing, expiring soon or need checking, and an overview of categories with each one's own readiness percentage. The user can add a custom category at any time; inside a category, items can be added, edited and deleted. For each item the app records its type, unit, required and current quantity, an optional expiry date, its own notification lead time, the check interval for tasks, a note and a photo.
From Overview the app switches to Checklist mode - a simplified view for a real evacuation. It holds only packed/not packed checkboxes with a percentage packing progress and an Uncheck all button, with no option to edit: quick orientation under stress.
A separate News tab shows a feed of crisis and general news with manual refresh. In the current test version, the source for all users is uniformly BBC World News; the app plans a custom feed engine with user-configurable sources in the future.
Settings, personalization and backups
Settings let you tune the app to your liking. Besides the language switch and the choice of visual themes - the app carries on from fifteen colour variants with their own fonts and a CRT scanline effect for the retro themes, which first appeared in the original web version - you can also edit the household profile (adults, children, seniors, pets, sustainability period). The test version has one limitation: changing the profile does not yet retroactively recalculate quantities of existing items, so those have to be adjusted by hand.
Notifications are set globally (the default number of days' notice before expiry) and individually on a given item. They work differently across platforms, though: the app can notify you once a day about an expiry or a check even when it isn't open, but only when it is installed through Chrome or Edge on Android or on the desktop - and even there it depends on how often the browser actually runs the background task. On iOS Safari this isn't possible without a server of its own; the app only notifies you when it is opened.
The app also lets you adjust the consumption coefficients for a child and a senior (as a share of an adult's consumption), mark the annual bag review as done with one click, and work with the data outside the app - export a backup to a JSON file, re-import it, or wipe all data and start from scratch.
Installation and test operation
The app runs as a Progressive Web App on the author's blog, at blog.myscriptorium.cz/en/apps/evac/ - a static site built from a GitHub repository and deployed through Vercel. The current test version is labelled RCv0.771 and the app is open to anyone who wants to try it for free, with no registration.
On Android and desktop, the PWA offers installation to the home screen via a button in Settings; if it's already installed, Settings confirms it with a tick. On iPhone and iPad the app cannot offer installation itself - it works only through Safari (not Chrome on iOS) and takes three manual steps: tap Share, choose Add to Home Screen, and confirm. The installed app runs entirely offline, except for fetching news.
Android version
Alongside the web app, a native Android version is being developed in parallel -
Ember Omnia for Android
(Kotlin, Jetpack Compose, Room, WorkManager; package cz.ember.evakuace),
now already publicly released on
Google Play, free for everyone.
The installed app goes further than the PWA: it adds the World Health module - a
composite global-risk score ported from the author's website
newsandradio.cz,
and offers other features too - it protects sensitive data with a PIN lock and
backs it up as a ZIP archive. The app is in development, and besides fixing bugs
we will keep developing further features.
The native app is meant to be the reference, main version - the web app on the blog is updated manually and as needed, not automatically, so it may lag slightly behind Android.
You can try the app right away at blog.myscriptorium.cz/en/apps/evac/. And if you enjoy a medieval atmosphere, try the Scriptorium game.