Inspiration
We were inspired by a real experience. As students at Stevens Institute of Technology, we spend a lot of time in and around New York City. One day, while crossing the street, we were nearly hit by a speeding car. It was the kind of moment that only lasts a few seconds, but it sticks with you because you realize how easily someone could have been seriously injured.
What bothered us even more was the thought that if the driver had been caught, a fine alone might not have changed anything. For someone with enough money, repeated tickets can become just another cost instead of a real warning sign. That made us start thinking about the bigger problem: dangerous driving is often treated as isolated incidents, even when the same patterns may be happening again and again.
We wanted to build something that helps public safety teams recognize those patterns earlier. Instead of looking at one ticket, one camera event, or one report at a time, our idea was to combine police reports and speed camera data into a single system that can highlight repeat behavior, identify hotspots, and surface high risk cases for human review.
What it does
SignalSafe is a traffic safety intelligence platform designed to help public safety and government staff review dangerous driving patterns more efficiently.
Using police reports and speed camera data, the platform:
- aggregates incidents into a unified view
- identifies repeat dangerous driving patterns
- assigns transparent risk scores
- detects high risk hotspots
- sends live alerts for human review
- helps staff prioritize which cases deserve attention first
This is not an automated punishment engine. SignalSafe is a human in the loop decision support platform. Its purpose is to make pattern detection easier for non technical staff, not to replace human judgment.
How we built it
We built SignalSafe as a full stack application with a real time analytics workflow.
Backend
- C# with ASP.NET Core / .NET 10
- Minimal APIs for ingestion and case retrieval
- SignalR for real time updates such as live incidents, ingest completion, and risk changes
Frontend
- React 19
- TypeScript
- Vite
- Tailwind CSS
- React Router
- Leaflet / react-leaflet for map based hotspot visualization
- uPlot for lightweight charts and trends
Data and analytics
- Python 3
- pandas, numpy, and Plotly for synthetic data generation and offline analysis
- JSONL ingest pipeline for bulk incident loading
Desktop / presentation layer
- Electron for an optional desktop experience with notification support
For the hackathon demo, we used an in memory incident store to keep the setup lightweight and fast while still demonstrating the core product workflow.
Challenges we ran into
One of the biggest challenges was making the project powerful without making it feel unethical or overreaching. We were very careful about the framing. We did not want to build something that sounded like automated surveillance or automatic punishment.
Another challenge was combining multiple data sources in a way that stayed understandable. Police reports are different from speed camera events, so we had to think carefully about normalization, shared fields, and how to create a clear risk score without making the system feel like a black box.
We also had to balance technical ambition with demo clarity. It is easy to keep adding features, but for a hackathon, the real challenge is building something judges can understand quickly and believe could actually be useful.
Accomplishments that we are proud of
We are proud that SignalSafe does more than show raw data. It turns separate incidents into a clearer story.
Instead of just listing violations, the platform helps answer questions like:
- Is this behavior repeated?
- Is it getting worse over time?
- Is it happening in the same hotspot?
- Does this case deserve closer review?
We are also proud that we kept the system human centered. SignalSafe does not try to make final decisions. It helps the right people notice the right cases faster.
What we learned
This project taught us that some of the most important civic technology is not about replacing people. It is about helping people make better decisions with clearer information.
We also learned how important product framing is. The same technical system can sound either helpful or harmful depending on how it is designed and explained. That forced us to think more carefully about transparency, ethics, and what public safety staff would actually need in practice.
On the technical side, we got more experience building real time full stack systems, designing event driven updates, and turning raw incident data into something visual and actionable.
What's next for SignalSafe
Our next steps would be:
- improving the risk model with more refined weighting and explainability
- adding better case management workflows for reviewers
- expanding hotspot analysis over time windows and location clustering
- supporting stronger multi device alert and review flows
- testing the platform with more realistic public safety workflows
The long term goal is simple: help public safety teams identify repeat dangerous driving patterns earlier, so intervention can happen before another close call becomes something much worse.
Built With
- .net-10
- asp.net-core
- c#
- cors
- electron
- javascript
- jsonl
- kestrel
- leaflet.js
- microsoft-signalr-javascript-client
- minimal-apis
- node.js
- numpy
- pandas
- plotly
- python
- react-19
- react-dom
- react-leaflet
- react-router
- rest-apis
- service-workers
- signalr
- swagger
- swashbuckle
- tailwind-css
- typescript
- uplot
- uplot-react
- vite
- web-notifications-api
- websockets
Log in or sign up for Devpost to join the conversation.