← All projects
AI Engineering · Full-Stack · Geospatial
NAIMOS Intelligence
Decision-support prototype for monitoring and prioritizing suspected illegal-mining incidents in Ghana.
- Status
- Prototype
- Year
- 2026
- Role
- Designer and developer
- Client
- Independent project
01
Overview
A role-based platform with a PostGIS-backed API, an explainable 0 to 100 risk engine, an interactive map, evidence management and an AI assistant restricted to allowlisted queries. All data in the demo is synthetic and labeled as such.
- Python
- FastAPI
- PostgreSQL / PostGIS
- SQLAlchemy
- Alembic
- Next.js
- TypeScript
- MapLibre
- Docker
- pytest
02
The challenge
Field teams need to decide where to investigate first across many reports, with evidence that holds up and AI output that is clearly separated from verified fact.
- Making AI output trustworthy enough for evidence work
- Modeling geospatial data and an immutable evidence trail
03
System requirements
- Ranked AI risk map answering where to investigate first, with week-over-week change from real score history
- Incident lifecycle with a full status audit trail
- Hashed, versioned evidence uploads and an AI-assembled evidence summary
- Voice-to-field-report flow with GPS, photo and video capture
- Predictive hotspot view that is explainable, capped below certainty, and paired with a patrol recommendation
- Seven communication formats built only from database records, separating verified facts from AI interpretation
04
Solution architecture
Responsibility
Next.js web app
Role-specific dashboards, map, incident and evidence screens, mobile-friendly field capture.
05
Implementation

Overview of the public NAIMOS Intelligence PRO demonstration, carrying its own banner: simulated demonstration, incident records and figures are fictional.
06
Technical decisions
- Never let the model write free-form SQL; only allowlisted, parametrized queries against a read-only role
- Label every AI output and keep verified facts separate from interpretation
- Count detected objects as the maximum in any single file, never the sum, to avoid double-counting
- Keep the risk score rule-based so every point is explainable
07
Results and validation
08
Lessons learned
Content needed: what you would do differently
Content checklist (remove once filled)
- Screenshots of the map, risk leaderboard and evidence package from the full app (the public demo shows only the PRO overview)
- Whether any organization has reviewed or adopted it. The repo calls it a prototype with simulated data, so keep that wording
- The satellite change-detection step is simulated in the repo; say so wherever it is described
09