-
-
Public homepage view showing available shelters on map and initial list.
-
Shelter search interface with filters for type, pet/partner allowance, and active status
-
Detailed shelter cards showing real-time bed availability and 'Reserve Bed' action.
-
Login modal supporting distinct Caseworker and Admin roles, with demo account buttons.
-
Client Management screen (Caseworker): Table displays client list, status, current shelter, and actions.
-
Register New Client modal (Caseworker): Simple form for quick client intake.
-
Work Opportunities screen (Caseworker): List of tasks showing status, assignee, details, and contextual actions.
-
Assign Task modal (Caseworker): Selecting a client from dropdown to assign an open task.
-
Admin Analytics Dashboard: Overview cards displaying key metrics for tasks and shelters.
-
Admin Analytics Dashboard: Table showing shelter statistics broken down by type.
-
Admin Shelter Management: Table view allowing admins to view, filter, and manage all shelter records.
-
Admin Form: Modal for adding a new shelter record.
-
Admin Form: Modal for editing an existing shelter's details
-
Work Opportunities Management: Table view allowing admins to view, filter, and manage all tasks.
-
Admin Form: Modal for adding a new work opportunity/task.
-
Admin Form: Modal for editing an existing task's details (pre-filled example).
Topic:
Homelessness
Inspiration
Driven by the SJ Hacks "Public Good for City of San Jose" theme, our team focused on the Homelessness track out of the three available options. We were inspired by the city's call to address critical needs like real-time shelter matching and creating pathways to stability, potentially supporting initiatives like the SJ Bridge Program. We aimed to create SJ Hopes, a unified platform improving efficiency and providing dignified solutions.
What We Learned
This hackathon was a rapid immersion in technology and the domain. We honed full-stack skills using Java/Spring Boot (backend) and React/Next.js with Google Maps (frontend UI). We gained valuable insights into the complexity of homelessness services, the distinct needs of caseworkers vs. administrators, and the importance of data privacy. We also practiced MVP scoping and collaborative development under intense time pressure.
How We Built It
We developed a role-based web application:
- Backend (Spring Boot/Java): A RESTful API managing
Shelter,Task, andClientdata via JPA, including logic for reservations and assignments. Provides analytics endpoints and uses Swagger/OpenAPI documentation. Connects to MySQL/PostgreSQL. - Frontend (Next.js/React): An interactive UI with Google Maps integration displaying shelters and availability. Features role-specific views (Caseworker/Admin) for managing clients, tasks, and viewing analytics.
- Key Features: Real-time shelter visibility/filtering, caseworker client registration & resource assignment, admin dashboard & CRUD capabilities.
- Setup & Running: Detailed instructions for setting up the database, configuring environment variables, installing dependencies, and running both the backend and frontend locally are available in the
README.mdfile in our GitHub repository.
Challenges We Faced
The 24-hour time limit required strict MVP prioritisation. Balancing client data tracking with privacy, generating realistic San Jose sample data, and debugging Google Maps API integration were key technical hurdles.
Pitch Presentation Link
Built With
- google-places
- java
- javascript
- mysql
- nextjs
- springboot
- typescript
Log in or sign up for Devpost to join the conversation.