Maps
FishLog: a fishing journal for Maryland
My friends and I log every catch on a map, with the weather at that place and hour saved automatically.
30 Species with Maryland size and creel limits
- Company
- Personal project
- Role
- Solo project
- Period
- 2026
- Stack
- React · Leaflet · OpenStreetMap · Python · AWS Chalice · Lambda · MySQL · S3 · Open-Meteo
“Add to cart” takes you to the store with this project in your cart.
Why I built it
I’m an avid fisherman, and I wanted one place where my friends and I could log our catches, track the conditions we caught them in, and compete.
What it does
- JournalCatches, spots, and gear, with the temperature, wind, and moon phase saved for each catch.
- RegulationsSize and creel limits for 30 Maryland species, shown next to each one and imported automatically from Maryland DNR.
- LeaderboardBiggest fish per species, most catches, and most species, with filters.
- ProfilesA public profile for each angler.
How it’s built
React and React Leaflet over OpenStreetMap tiles on the front end; a Python API on AWS Chalice (Lambda and API Gateway) with MySQL on RDS.
The weather is saved with the catch, so the log never depends on a weather API later. Geocoding (OpenStreetMap’s Nominatim) and weather (Open-Meteo) need no API keys. Photos go from the browser straight to S3 through presigned URLs, so the API never streams image bytes, and iPhone HEIC photos are converted to JPEG in a Lambda.
The hard part
Keeping the map, the catch list, and the filters in agreement. Change a filter or move the map, and all three have to update together.