This is my personal fork of the CrowdScope project, a research practicum at University College Dublin. I served as Backend Lead on the six-member team, where my primary responsibilities included designing and optimizing the FastAPI backend, deploying the service, and ensuring high performance at scale.
Live Deployment: https://crowdscope.io
- Asynchronous backend with connection pooling for PostgreSQL.
- Optimized API routes with data streaming to handle 80k–90k rows per day efficiently. For further information please see the backend readme.
- Performance monitoring with Prometheus + Grafana to drive iterative improvements.
- Deployment: Configured CI/CD pipeline and deployed production build on Render with custom domain + SSL.
- Mobile Extension: Built a native Android app in Kotlin that consumes the same API and renders a Mapbox-based heatmap.
- FastAPI for high-performance APIs
- PostgreSQL for geospatial data storage
- Mapbox for visualization (frontend)
- Prometheus/Grafana for monitoring
- Render for cloud deployment
For complete setup details, see the Backend README.
Quick start:
pip install -r requirements.txt
uvicorn app.main:app --reload
This fork is maintained by Stephen McMahon, Backend Lead of the CrowdScope project.