Recreationally overengineering my location history
3 days ago
- #rust
- #privacy
- #location-history
- The author discusses their project to create a personal location history visualization tool, moving away from Google Maps for privacy reasons.
- The project includes a map showing visited places in a visually appealing way and a feature to share live location with others via a simple link.
- Data collection is done through an iOS app that uses 'significant location changes' to minimize battery impact, with an option for high-resolution updates for live sharing.
- The backend is built in Rust, utilizing a custom project template for efficiency and maintainability, with PostgreSQL and PostGIS for data storage and geodata handling.
- The author emphasizes the importance of 'production-grade' projects, even for personal use, to ensure stability, performance, and ease of maintenance.
- The iOS app, despite the author's limited experience with Swift and SwiftUI, successfully collects and sends location data to the backend with minimal battery usage.
- The visualization uses a hexagonal grid over a base map, generated efficiently with PostGIS, showing visited areas at various zoom levels.
- Live location sharing is implemented via WebSockets, with tokens that expire automatically to prevent unintended prolonged sharing.
- The author reflects on the project's success, noting its efficient resource use and the pleasure of using it to explore their travel history.
- The post concludes with a note on the project's code size and the author's satisfaction with the outcome, despite considering additional topics like LLMs in coding.