Inspiration
School safety depends on everyday checks and timely reporting. We wanted to give security staff, visitors, and administrators a shared place to report problems, follow up on issues, and communicate updates.
What it does
SecurityPlus helps users:
- Report issues and confirm their location before submitting.
- Complete classroom checklists and track who updated each item.
- Manage reports through Open and Completed states.
- Share announcements and urgent notices.
- Identify changes waiting to upload.
- Manage security accounts, checklist locations, and conflicting edits.
How we built it
We built the interface with React components and a shared CSS design system. Separate views support security staff, visitors, and administrators.
Reusable components handle forms, checklists, report tables, and notifications. The interface uses bold typography, dark surfaces, and a restrained coral accent.
Challenges we ran into
- Keeping each role’s interface focused on its responsibilities.
- Making offline status and pending uploads easy to understand.
- Presenting conflicting edits clearly.
- Keeping urgent information visible without overwhelming users.
Accomplishments that we're proud of
- Bringing reporting, classroom checks, and announcements into one app.
- Making report status and checklist progress easy to scan.
- Showing who changed checklist items and when.
- Adding confirmation steps for destructive actions.
What we learned
Clear feedback matters as much as the feature itself. Users need to understand whether a report is open, a check is complete, or a change still needs to upload.
We also learned the value of reusable components and keeping design documentation aligned with the code.
What's next for SecurityPlus
- Test the app with security staff and school administrators.
- Improve reporting and checklist workflows based on their feedback.
- Strengthen offline syncing and conflict handling.
- Explore photo attachments and report assignment.
- Add reporting summaries to help administrators identify recurring issues.
Built With
- javascript
- react
- supabase
- vite