Gabay kahit walang signal.
An offline typhoon companion for Filipino households on budget Android phones: sourced answers in Taglish, fitted to your family, with no signal.
Product film · Quick start · Docs · Product rules
Watch the 30-second film |
Tap, switch, checklist, answer |
Bago ang bagyo · Habang may bagyo · Pagkatapos ng bagyo
Checklist · Ask · Family · Guide
When a typhoon cuts power and signal, Filipino households lose preparedness guidance exactly when they need it. Official guidance exists, but it lives online, is written for a general reader, and rarely says what a family with an infant, a senior on maintenance medicine and a house by a river should do at Signal No. 2 with an orange rainfall warning.
- Online-only at the worst time. Data is the first thing to go and the last to come back.
- Generic, not household-fitted. Checklists ignore infants, pregnancy, seniors' medicines, pets and homes by a river.
- Wind-only thinking. Signals describe wind; floods come from rain and storm surge, each with its own PAGASA warning.
- Language. Guides use English or formal Filipino. People ask in Taglish.
| Evidence | Figure | Source |
|---|---|---|
| Tropical cyclones entering the Philippine area each year | About 20 | TCRR, citing PAGASA |
| Typhoon Odette (2021): mobile service down on day one | 369 areas across six regions | New Straits Times, NDRRMC |
| Odette: cities and towns that lost electricity | 281 | DZRH, NDRRMC |
| Severe Tropical Storm Kristine (2024): rain on Naga City | Over 700 mm in 24 hours | GMA |
| LGU preparedness budget | At least 5% of regular revenue goes to the Local DRRM Fund | RA 10121, Sec. 21 |
Full evidence and root causes: docs/problem.md.
Sipat runs in three bagyo phases (Bago, Habang may bagyo, Pagkatapos); the phase changes the whole theme, the checklist and the answers.
- Household profile, once. Each member is set up with a face photo. Photos and names never leave the phone.
- Tap the warning you heard on the radio. Wind signal 1 to 5, rainfall, storm surge or gale, and get a checklist fitted to your household.
- Ask in Taglish. Answers come only from official guides bundled in the app (PAGASA, NDRRMC and OCD, DOH, PHIVOLCS, BFP), with the source one tap away. When nothing matches: "Wala ito sa gabay."
- Useful without AI. The vetted summary always shows first; Llama 3.2 1B on the phone puts it in plain words second.
- Safety lives in code. Routing, answer checks and phase switching are enforced in code; hotlines and bulletins are rendered from data, never from the model.
- Hybrid when there is signal. A signed feed from our server is cached for offline use. Households never pay; LGUs pay for a localized pack.
What is Sipat? Sipat is a free, offline-first typhoon (bagyo) preparedness app for Filipino families on budget Android phones. It turns the PAGASA warning you heard into a checklist for your household and answers Taglish questions from official guides, with no signal.
Does Sipat work without internet? Yes. Household setup, phases, warnings, checklists, Ask in Taglish, hotlines and the bundled guide all work in airplane mode. The network is used only when you tap an action while the app is open.
Where do the answers come from? Only from official guides bundled in the app: PAGASA, NDRRMC and OCD, DOH, PHIVOLCS and BFP. Every answer links to its source. When nothing matches, Sipat says "Wala ito sa gabay" instead of guessing.
Which warnings does it cover? PAGASA tropical cyclone wind signals 1 to 5, rainfall warnings, storm surge and gale warnings.
Does it need AI? No. The vetted summary always shows first. Llama 3.2 1B runs on the phone to put it in plain words, and is an optional one-time download.
Is my family's data private? Yes. No account is needed and there are no analytics. Names, face photos and location stay on the phone; face detection only crops photos and never identifies anyone.
Who pays for it? Households never pay. LGUs pay for a localized pack with their evacuation centers, hotlines and advisories (docs/BMC.md).
Demo, no device needed (Node.js 22+):
git clone https://github.com/Jimuelle07/Sipat.git
cd Sipat
npm install
npm run demo # then open http://localhost:8081The demo starts with a seeded household, a DEMO bulletin and DEMO evacuation centers (docs/seed_data.md). The web preview has no AI model, so answers show the vetted summary. Port taken? npm run demo -- --port 8082.
Checks:
npm run validate:content && npm run typecheck && npm testExpo Go will not work: the app uses native modules (react-native-mmkv, llama.rn, ML Kit), so it needs a development build. You need Android Studio (SDK, platform tools), JDK 17, and a phone with USB debugging or an emulator.
npx expo run:android # first time: builds and installs the dev build
npm start # afterwards: press "a" to open on Android
npx expo run:android --variant release # release buildOn a phone over USB, adb reverse tcp:8081 tcp:8081 connects it to Metro. After changing native modules, run npx expo run:android again; for a stale bundle, npx expo start --clear.
In Settings, tap I-download ang AI (0.81 GB). The app downloads Llama-3.2-1B-Instruct-Q4_K_M.gguf once from Hugging Face, checks its size and SHA-256, and logs the request on screen. Offline, Mula sa file sa telepono imports a copy already on the phone. Without the model, on low battery or with AI off, Sipat shows vetted summaries only.
| Script | What it does |
|---|---|
npm run demo |
Web preview with the demo seed |
npm run web |
Web preview |
npm start / npm run android |
Metro / open on Android |
npm test |
Vitest unit tests |
npm run typecheck · npm run lint |
TypeScript and ESLint |
npm run validate:content |
Validate bundled content |
npm run eval |
Question-set evaluation |
| Area | Tools |
|---|---|
| App | Expo dev build, React Native (New Architecture), TypeScript, Hermes, React Navigation |
| On-device AI | llama.rn with Llama 3.2 1B Instruct (Q4_K_M, about 0.81 GB) |
| Retrieval | MiniSearch (BM25+) with Taglish synonyms |
| Storage and photos | react-native-mmkv; expo-image-picker; ML Kit face detection (detection only, no recognition) |
| Feed security | @noble/ed25519, @noble/hashes (signed feed and packs) |
| Tooling | Node + tsx scripts, Vitest, ESLint, Playwright; the product film is made with Remotion |
app/ engine facade, core logic, services, UI
content/ bundled guide, checklist, warnings, hotlines, sources
plugins/ Expo config plugins
scripts/ content validation, feed and pack build, scraper, evaluation
eval/ question sets and results
docs/ product and system design; docs/media holds the film poster and demo GIF
motion/ the product film's source (Remotion)
| GitHub | Name | Role |
|---|---|---|
| @Jimuelle07 | Jimuelle Patron | Dev |
| @Mikael1206 | An-joe Mikael Albino | Assets |
| @Kao-Kao04 | Emmanuel Mutas | Research |









