Piotr Grędowski
Piotr Grędowski is a software developer with 9 years of experience working mostly with Python and TypeScript. He specializes in building internal tools designed to remove friction from the daily lives of developers. Driven by a natural desire to organize complex systems, he thrives on the challenge of establishing high coding standards and robust automation at scale.
He is a passionate builder who loves tackling difficult challenges and is constantly learning new technologies to expand his toolkit. As an early adopter of AI, he keeps a close eye on every new model coming out to the market, experimenting with how they can be leveraged to solve real-world problems. When he isn’t deep in code or breaking and fixing systems, he stays active by cycling, 3D printing, and tinkering in his workshop.
Session
As developers, our daily workflow is scattered across dozens of platforms: GitHub for PRs and issues, Jira or Linear for tasks, GitLab for CI/CD, and Todoist for personal focus. Constant "context switching" between browser tabs is a productivity killer. To solve this, I built Monokl - a unified terminal dashboard that aggregates these services into a single, high-performance interface.
In this talk, we explore how to build complex, API-driven applications using Textual, the rapid application development framework for Python. We will dive into the real-world challenges of building Monokl, including:
- Async integration: How to fetch data from multiple APIs (GitHub, Atlassian, GitLab, Linear) without freezing the UI.
- Component architecture: Designing reusable widgets for task lists, progress bars, and status feeds.
- Reactive UI: Using Textual’s reactive traits to ensure your dashboard updates not long after a PR is approved or a task is completed.
- The TUI advantage: Why a terminal interface is often faster and more focused than a web-based aggregator.
Attendees will walk away with a clear blueprint for building their own interactive terminal tools and a deep understanding of the Textual framework.
Learning Outcomes
- Learning Textual: Understand the core architecture of
App,Screen, andWidget. - Managing async data: Learn patterns for integrating multiple external APIs/CLIs into a single event loop.
- Modern layouts: How to use TCSS (Textual CSS) to create beautiful, responsive terminal layouts.
- State & reactivity: How to use
@reactiveattributes to create a UI that stays in sync with background data.