Demo: https://www.loom.com/share/e4cdc5b60a3949c2bf5c32bf5caca297
A Telegram chatbot that teaches driving theory with real street photos from your own city, one quick quiz at a time.
- Hyper-local quizzes: Utilizes Mapillary street-level images from the user’s city.
- Multimodal LLM: Mistral AI generates a multiple-choice question with 3 options and a one-sentence explanation.
- Infinite learning: You can process an infinite number of completely unique questions.
- Zero setup: Everything runs directly in Telegram—no additional apps required.
- Bot: Telegram Bot API with Telegraf SDK
- Images: Mapillary REST API
- LLM: Mistral AI
- Backend: Express on TypeScript
- Storage: PostgreSQL DB
- Docker
- Ngrok
-
Clone the repo and run these commands
git clone https://github.com/yvann-ba/RoadBuddy-AI cd RoadBuddy-AI cd bot/ npm i cd ..
-
Setup ngrok
In another terminal please run:
ngrok htpp 3000
Copy the URL highlighted in the image above to set up your environment variables later.
-
To create your own bot, simply follow these steps
For any questions or assistance, feel free to reach out to me:
- LinkedIn: Andrii Syvash
- Email: asyvash.work.it@gmail.com
-
Create .env file using this template
POSTGRES_DB=telegram_bot POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} TELEGRAM_TOKEN= BOT_PORT=3000 WEBHOOK_URL=
Paste the ngrok URL you copied earlier into the
WEBHOOK_URLvariable. Also, paste your Telegram token into theTELEGRAM_TOKENvariable. -
Almost ready to start!
If you followed all the steps correctly, run the final command to start the project:
./setup.sh start
- We can limit daily messages to 10. After that, users will need to purchase a subscription.
- A perfect solution for passing the driving exam, as you will practice with real images from your city.
