Inspiration
The emergency-prep challenge gave a concrete four-part brief: find local help, make a plan, read practical guides, and keep the experience usable on low bandwidth. ReadyHOU treats a person without an account or a reliable connection as the primary user.
What it does
ReadyHOU provides a searchable local resource directory, an on-device plan builder for mobility and medical-equipment needs, accessible disaster guides, five language paths including Arabic, high-contrast and text-size controls, and a Data-Saver mode that supports offline reuse after the first visit.
How I built it
The resident experience is hand-written HTML, CSS, and vanilla JavaScript with no runtime framework or web fonts. Vite bundles the partner portal, while Node.js, Express, TypeScript, PostgreSQL, Drizzle ORM, a service worker, and Google Identity Services support partner and administrator workflows.
Challenges
Emergency information is only useful when the source, date, and access needs are clear. The implementation keeps the public path zero-barrier, separates private staged workbook records from public listings, makes the plan device-only by default, and labels machine-assisted translation and event-dependent entries honestly.
Accomplishments
The working prototype serves 25 public resources across 11 types, a local plan, multilingual guides, offline and Data-Saver paths, and accessible display controls. It also includes a separate partner surface for maintaining owned listings without forcing residents through sign-in.
What I learned
Low bandwidth and accessibility are product architecture decisions rather than a final polish step. A last-verified date and a clear call to verify can be as important as the resource name itself.
What's next
The next phase would add maintained live alerts and feeds, community review of translations, a careful review of staged records, and an SMS or other low-connectivity channel where a responsible partner can maintain it.
Explore
Built With
- and-vanilla-javascript
- css
- drizzle-orm
- express.js
- google-identity-services
- html
- node.js-22
- postgresql
- service-worker-offline-cache
- typescript
- vite
Log in or sign up for Devpost to join the conversation.