-
home screen
-
district selection
-
constituent information
-
personal story & sms opt-in
-
confirmation message (sent via twilio)
-
customized dashboard w/ relevant reps & projects
-
customized dashboard w/ relevant reps & projects
-
resources screen
-
updating personal info on profile tab
-
updating personal info on profile tab
-
projects tab w/ scraped housing projects
-
details about project from api calls
-
take action section
-
legislation tab w/ scraped state & federal housing laws
-
sample personalized generated email to send to representatives
-
alerts page
-
confirmation screen for enabled alerts
-
sample alert for updates to a followed project
Inspiration
San Francisco, and California in general, is in a housing crisis. According to California government websites, “San Francisco has the longest timelines and some of the highest procedural hurdles in the state for advancing housing projects to construction. These delays, combined with some of the highest housing construction costs in California, create a barrier to addressing the community’s unmet housing needs.” Additionally, if “San Francisco’s current rate of housing approvals and construction continues, the City will miss its housing production goal of over 82,000 new homes by 2031 that is necessary to address affordability and overcrowding challenges experienced by the current population, as well as providing homes for future San Franciscans.”
One of our team members worked in a senator’s office. She noticed how much emails and personal requests advocating for bills and other important issues actually surprisingly made a difference in local elected officials’ decisions. In addition, caseworkers in elected officials were incredibly useful contacts for unhoused individuals, but also significantly underutilized for the help they provided.
Resources exist to help people find housing, but we can’t do anything if we don’t actually have the physical space. With 11 supervisorial districts, state bills, federal bills, competing deadlines, and a lengthy housing approval process, our government and its constituents need to have a better way to communicate with each other to build housing that can actually make a difference.
What it does
134 Degrees—called that because it’s the highest temperature recorded in California and is representative of the risks unhoused individuals experience—is a one-stop shop for this problem. 134 Degrees scrapes trusted SF housing websites to sort through both housing projects and legislation by district. We implemented Whatsapp messaging for reminders on important bills/housing updates for users. Additionally, we ensured accessibility for users even without a data plan. We integrated Claude to serve as a personalized email/social media content generator (using your situation) that can instantly be sent to the local elected official, urging them to consider the bill or housing approval.
How we built it
FRONT-END: TypeScript React Native (ExpoGo Router) iOS and Android compatibility Login Onboard
- Account
- District
- Background
- Context Welcome Screen Projects Bills Resources
BACKEND: Node.js + Express + SQLite LLM Email/Social Media Generation: Claude (Sonnet 4.6 + Haiku 4.5) Web Scraping: 3 trusted websites
- SF Planning Legistar API
- Congress
- OpenStates Whatsapp Messaging: Twilio
Challenges
Major problem: Twilio 10DLC Compliance The core idea behind this app is SMS accessibility. Unhoused individuals — the people most urgently affected by housing decisions — often lack consistent internet access, smartphones with data plans, or installed apps. A plain SMS message when a project opens applications clears all of those barriers. You don't need the app. You don't need Wi-Fi. You just need a phone.
Twilio's solution for sending SMS required a business EIN, a formal use-case description, and carrier review times that range from a few business days to several weeks. We found this to be infeasible within a hackathon timeframe. Our workaround was to use WhatsApp, which worked!
Built With
- bcryptjs
- claude-api
- expo.io
- express.js
- jwt
- node-cron
- node.js
- playwright
- react-native
- sqlite
- twilio
- typescript
- zustand
Log in or sign up for Devpost to join the conversation.