Inspiration
MarinHacks is about safety, and we kept coming back to the water. Ships broadcast their position with AIS(a vessels "GPS"), but that signal can drop, get noisy, or go quiet on purpose. When that happens, operators lose the picture fast. We wanted a tool that keeps the track alive, flags real risk, and also shows what an incident might cost to handle.
What it does
Aegis is a maritime safety and financial-risk dashboard. It fuses vessel detections, keeps tracks going when ships cross or disappear, and predicts where a dark contact is likely heading with a growing uncertainty area. It alerts on protected-zone entry, identity changes, and reacquisition. For each active safety event, it also shows a transparent response-budget range so teams can plan without pretending we know exact losses.
Click a contact and you get course, speed, and a few short trajectory scenarios. The map also layers coastline, sanctuary and port boundaries, cable proximity, and a sanctions screen on live contacts when that data is available.
How we built it
We built the tracking and alert logic in Python, with a browser dashboard over a live API and WebSocket feed. Scenario packs let us demo without depending on a live feed, and an optional AISStream key pulls real traffic from busy regions. Without keys, the app stays honest: no fake global ships, and offline brief text instead of a live model. Then to create different scenarios in real-time, we run 100's of Monte Carlo simulations to make sure our predictions are accurate.
Challenges we ran into
Keeping tracks stable when ships cross was harder than drawing dots on a map. Dark contacts needed a prediction that looked useful without overclaiming certainty. We also had to keep financial numbers clearly labeled as planning estimates, not cargo valuations. Live AIS rate limits forced us to stick to high-traffic regions instead of trying to ingest the whole world at once.
What we learned
Safety tools are only useful if operators can trust them. Continuity, uncertainty, and evidence matter more than flashy alerts. Pairing each incident with a cost range made the financial angle feel real for FinTech without turning the project into a fake insurance calculator.
What's next
Tighter live enrichment, better replay of real incidents, and clearer handoff from alert to recommended response. We want the demo to stay fast, readable, and honest about what is measured versus estimated.
Built With
- aiohttp
- aisstream
- copernicus
- css
- globalfishingwatch
- html
- javascript
- leaflet.js
- litellm
- numpy
- pytest
- python
- scipy
- shapely
- three.js
- websocket

Log in or sign up for Devpost to join the conversation.