fms GmbH · June 2025
Interactive Coaching Map — Drag & Drop with QML & Python
Developed an engaging, interactive coaching map using QML and Python, designed to visually organize and manipulate learning paths. The project highlights a fluid drag-and-drop interface on a custom-built hexagonal grid, enabling seamless interaction and intuitive control.
Visit client website ↗
Project overview
This project involved building a dynamic visual interface where users can explore, drag, and organize topics across a hexagonal grid, simulating a map-like coaching experience. The primary goal was to deliver a compelling visual layer backed by a structured Python-based backend, offering both interactivity and persistence. Designed with responsiveness and clarity in mind, this application demonstrates the power of combining QML for UI with Python for logic and state management.
Key features
- Drag-and-Drop Interface: Built a smooth, responsive drag-and-drop system enabling users to move and position elements on the hex grid effortlessly.
- Hexagonal Grid System: Designed and calculated a custom pointy-topped hex grid layout, allowing for structured yet flexible placement of coaching topics and bridges.
- Backend-Powered State Management: All data — including tile positions, links, and objects — is managed by a Python backend, ensuring scalability and data persistence.
- Zoom & Pan Navigation: Implemented smooth zoom and panning, simulating a camera over the coaching landscape, giving users intuitive spatial control.
- Bridge & Topic Linking: Visual connections between topics are rendered dynamically, supporting multi-level coaching structures.


Technology used
- QML & Qt (Python): Crafted the UI using QML, powered by a robust Python backend via PySide.
- JavaScript (QML Embedded): Used for layout calculations and UI utilities.
- Custom ShapePath Rendering: Built unique hexagon visuals, including gradient-filled tiles to represent ocean and land themes.
Challenges and learnings
The core challenge was building an intuitive drag-and-drop experience within a hexagonal layout while preserving accurate snapping, layering, and state control. Implementing smooth zooming and camera panning required precise matrix transformations, especially when scaling around the cursor. Bridging frontend interactivity with backend logic in a modular, extensible way deepened my architectural expertise and reinforced the value of clean separation between logic and interface.
Outcome
The final result is a visually rich, highly interactive map that can serve coaching, learning, or simulation tools. The blend of visual aesthetics and backend structure provides a solid foundation for expanding features such as user-specific content, progress tracking, or network-based collaboration. This project is a great example of how thoughtful UI architecture and fluid drag-and-drop mechanics can enhance digital experiences.
Have a similar challenge?
Tell us what is slowing your business down and we’ll explore the clearest way forward.
Start a conversation