Pivot to Textual

Hey folks,

I’ve been deep in the trenches with my db4e project — pulling together Monero mining infrastructure, MongoDB integration, and a bunch of orchestration magic. And for a while, I tried to slap a Urwid-based interface on top of it all.

Let’s just say… it worked. Technically. But the more I pushed, the more it pushed back.


Urwid Fatigue

You know the feeling. That creeping dread when you realize changing the layout means unraveling a ball of nested widgets and spaghetti logic. Presentation bleeding into data. Hacks on top of hacks just to get things aligned. Every time I tweaked something, it broke somewhere else.

The UI became the bottleneck. And worse — it was ugly.


Enter: Textual

Then I stumbled on Textual. Check out this terminal user interface. That’s right, a TUI, no Gtk, no Qt, Tk. This is Textual:

Dolphie Textual App

I was skeptical. I’ve been burned by TUI frameworks before. But within an hour I was styling widgets with CSS-like syntax, responding to events intuitively, and watching beautifully formatted tracebacks with local variables right in the terminal.

Textual traceback

It felt like someone had rewritten the rules of terminal app development — and for the first time, the terminal didn’t feel like a compromise.


Love at First Debug Console

The moment that really hit me? I launched the debug console and saw clean, filtered log messages and structured output that didn’t destroy my screen. No more print(“FOO”) flooding my logs and database. No more tiptoeing around layout corruption.

Textual console

Just clean code, clean UI, and actual joy in development again.


So What’s Next?

I’m rebuilding the db4e TUI from scratch with Textual. And not just that — I’m thinking of dusting off my AI Snake Game simulator and porting it over too. Because honestly, this framework makes even side projects feel exciting again.

More to come.

—Nadim

2025

The Main Website

As part of my goal to be more visible in the world, I setup this domain i.e. https://osoyalc.com. I use it to publish information about the projects I’m work...

Reviving the Blog

It’s been a while since I started and then abandoned this blog. My last post was in June of 2024!!

Changing the Blog Site’s Layout

I decided that I didn’t like the way that the main blog page looks. I am using GitHub to host the website and am using a fork of the jekyll/minima theme. My ...

Back to top ↑

2024

Sally Reviews Atlas

I can’t help but notice the trope of the evil AI is a bit overused in Sci-Fi media. But I think films like Atlas are starting to shift the narrative and show...

Back to top ↑