Journey Logger is a tool for tracking and logging journeys. It collects data, enriches it with location/time metadata, logging to a google sheet.
Simply share directions from google / apple maps to a telegram bot.
- Python 3.11+
- Create accounts / API keys:
- GPS provider ORS - make account and create new API key
- GCP
- Create project in cloud console.
- Create service account (IAM & Admin → Service Accounts) and grant necessary API roles (sheets).
- Add Key → Create new key, download json and use contents in .env for GOOGLE_SERVICE_ACCOUNT_JSON.
- Nominatium Used for geocoding of lon and lat values
- Use /botfather to create Telegram bot
- Clone this repo:
git clone https://github.com/amiller411/journey-logger.git cd journey-logger - Get sheet id from Google Sheet with headings:
Processeed Timestamp
Calendar Day
Journey Type
Origin Town
Origin Postcode
Destination Town
Destination Postcode
Estimated Mileage (ORS)
Raw URL
Notes - Create
src\journeylogger\secrets\addresses.jsonas below if there are known locations to use for custom visit types:
{
"home": ["123 drury lane", "muffin man"],
"depot": [
"generic business park",
"bt99 xdx"
]
}- setup .env.production and .env.development files with your keys as follows:
ORS_API_KEY=
TELEGRAM_BOT_TOKEN=
GOOGLE_SHEET_ID=
GOOGLE_SERVICE_ACCOUNT_JSON=
NOMINATUM_AGENT=<email address for account>- To run locally, once installed:
pip install -e . # at level of pyproject.toml
python -m journeylogger
- Now send directions link to Telegram bot, details will appear in google sheet.
Upcoming features:
- custom calendar day with map input
- input validation
- voice note support
User notes:
Apple maps links do not contain origin information, for the first journey of the day the origin point will be taken from the home address provided in addresses.json. The origin points after this will be taken as the previous destination.

