Project Description & Details
Task
Toilet Trainer Bot addresses a practical task: a Telegram bot for potty training, providing reminders and success series. Python and UX for parents.
This is a personal learning project (in active development) where specific patterns and tools were practiced without unnecessary overhead.
The case demonstrates an approach to tasks in the field of "Chatbots and process automation": from setting up to delivery with a clear module structure.
Before starting, we established readiness criteria: an understandable first screen, predictable form errors, and the ability to enhance without rewriting half of the codebase.
Solution
A learning but complete implementation has been made with an emphasis on code readability and reproducible builds.
The scenarios are designed so that the main actions fit within one or two screens: fewer switches, fewer input errors. Navigation and field labels are aligned with familiar patterns—users do not need to "learn the interface."
Particular attention is given to loading states and empty lists: skeleton/spinner where data is received asynchronously, and clear empty-state texts instead of an empty table.
Architecture and stack
Server and data: Python.
Infrastructure and utilities: Telegram.
Language distribution in the repository: Python (74.9%), TypeScript (12%), CSS (6%), Shell (4.7%), Dockerfile (0.7%), Mako (0.7%), JavaScript (0.6%), HTML (0.5%).
The layers are separated so that the UI does not know the details of transport: API/storage adapters, domain types, presentation components. This simplifies backend replacement and targeted UX adjustments.
Key features
- Python — used in product logic: reduces the amount of custom code and speeds up the addition of new screens.
- Telegram — used in product logic: reduces the amount of custom code and speeds up the addition of new screens.
Additionally:
- Integration and use of Python in product logic and interface.
- Integration and use of Telegram in product logic and interface.
- Validation of user input and clear error messages.
Result
The MVP already covers the key scenario; next steps include expanding reporting, tests, and monitoring.
The source code is open: https://github.com/astropsy999/toilet-trainer-bot — you can evaluate the module structure and commit style.
What I would improve
The next step is observability (logs/metrics), regression auto-tests, and API documentation for integrators. For high-load scenarios — profiling bottlenecks and caching reference data.
FAQ
What is «toilet-trainer-bot» for?
Telegram bot guiding toilet-training routines with gentle reminders and progress streaks. Python bot logic tuned for caregiver UX.
Which stack powers «toilet-trainer-bot»?
Technologies: Python, Telegram.
Project information
Personal/LearningIn Development
- Created: 11 Mar 2026
- Last Updated: 02 Aug 2026
- GitHub URL: View Repository