<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dominik Kopócs</title>
    <description>The latest articles on DEV Community by Dominik Kopócs (@daemonic01).</description>
    <link>https://dev.to/daemonic01</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3442754%2F575fcc9a-6d50-4abe-af6e-5ea2feb315a6.png</url>
      <title>DEV Community: Dominik Kopócs</title>
      <link>https://dev.to/daemonic01</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/daemonic01"/>
    <language>en</language>
    <item>
      <title>You Don’t Need Another Productivity Tool</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Sun, 30 Aug 2026 10:09:43 +0000</pubDate>
      <link>https://dev.to/daemonic01/you-dont-need-another-productivity-tool-1b39</link>
      <guid>https://dev.to/daemonic01/you-dont-need-another-productivity-tool-1b39</guid>
      <description>&lt;p&gt;I like tools, probably more than I should. Task managers, note-taking apps, calendars, dashboards, automation tools, and workflow systems all promise some version of the same thing: less friction, better focus, more control. Sometimes they actually deliver it. &lt;strong&gt;The problem starts when the system designed to reduce work quietly becomes another system that needs work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every productivity tool introduces a maintenance cost. You have to learn it, configure it, decide what belongs there, keep it updated, and eventually integrate it with the rest of your workflow. None of this feels expensive in isolation, but systems accumulate. A task manager connects to a calendar, the calendar feeds a dashboard, notes are linked to projects, projects have tags, priorities, statuses, templates, recurring rules, and automation. Before long, you have built something surprisingly close to infrastructure.&lt;/p&gt;

&lt;p&gt;Except this infrastructure exists to remind you to answer an email.&lt;/p&gt;

&lt;p&gt;That is the point where productivity tooling starts becoming slightly absurd.&lt;/p&gt;




&lt;h2&gt;
  
  
  🕑 Optimization is not free
&lt;/h2&gt;

&lt;p&gt;We tend to discuss productivity systems as if the only relevant question were whether they save time. But there is another cost that is harder to measure: cognitive maintenance.&lt;/p&gt;

&lt;p&gt;Every system creates decisions. Where should this task go? Which tag should it use? Is this a project or an area? Should this note be linked to something? Why did this automation fail? Was this deadline updated everywhere it needs to be?&lt;/p&gt;

&lt;p&gt;These are small questions, but small questions are exactly what productivity tools are supposed to remove. A system can therefore become technically efficient while making the workflow mentally heavier. The tool may work perfectly, the structure may look beautifully organized, and yet more attention is spent maintaining the system than doing the work the system was supposed to support.&lt;/p&gt;

&lt;p&gt;That is a strange kind of failure because nothing is technically broken.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌀 The productivity trap
&lt;/h2&gt;

&lt;p&gt;There is a tempting loop in productivity tooling. Your workflow feels messy, so you introduce a tool. The tool helps, but also creates some friction. You notice the friction, so you add another layer of organization to fix it. Then you automate the interaction between the two. Eventually, you need rules for the automation, documentation for the rules, and some way of checking whether the whole system still behaves as expected.&lt;/p&gt;

&lt;p&gt;At that point, you may have solved the original problem, but you have also created several new ones.&lt;/p&gt;

&lt;p&gt;This is not really a criticism of productivity software. It is a criticism of the assumption that every workflow problem is a tooling problem. Sometimes the actual issue is too many commitments, unclear priorities, bad boundaries, or a process that should not exist in the first place. Sometimes the work is simply difficult and cannot be optimized away.&lt;/p&gt;

&lt;p&gt;No app can solve those problems for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  ❎ Good tools should disappear
&lt;/h2&gt;

&lt;p&gt;I increasingly think the best productivity tools become boring very quickly. You stop thinking about them because they quietly remove friction in the background. They do not require constant redesign, elaborate taxonomies, weekly system maintenance, or repeated migrations to the next supposedly better solution.&lt;/p&gt;

&lt;p&gt;A useful tool supports the work without demanding too much attention in return. That sounds obvious, but the productivity ecosystem gives us a strong incentive to forget it. There is always another app, another framework, another dashboard, another integration, and another promise that this time the system will finally be complete.&lt;/p&gt;

&lt;p&gt;The problem is that a perfect productivity system is probably impossible for the same reason perfect software architecture is impossible: the environment keeps changing. Your workload changes, your priorities change, your habits change, and the system that fits today may become completely inappropriate six months from now.&lt;/p&gt;

&lt;p&gt;The obvious response is not to stop organizing work. It is to stop pretending that every new layer of organization is automatically an improvement.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧩 Complexity should earn its place
&lt;/h2&gt;

&lt;p&gt;Some workflows genuinely require complexity. Large projects, research programs, engineering teams, and operational systems often need structure, automation, and explicit coordination. The point is not that complexity is bad. The point is that complexity should earn its place.&lt;/p&gt;

&lt;p&gt;Every tag, dashboard, integration, automation, and additional tool should remove more friction than it creates. If it does not, then it is not optimization. It is administration.&lt;/p&gt;

&lt;p&gt;That distinction matters because productivity systems are unusually good at hiding administrative work behind the language of optimization. Reorganizing a dashboard feels productive. Migrating tasks between tools feels productive. Designing a new tagging structure feels productive. Sometimes these things are useful, but they can also become an extremely sophisticated form of avoiding the work itself.&lt;/p&gt;

&lt;p&gt;This is probably why the most useful question before adopting a new tool is not:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What can this tool do?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What problem am I actually trying to solve?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And then, perhaps more importantly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Do I need another tool at all?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sometimes the answer will be yes. But probably less often than the productivity industry would like.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;❓What do you think? Have you ever removed a productivity tool or system and found that your workflow actually improved? Where do you draw the line between useful structure and maintenance overhead?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>The Pipeline Worked. Then the Research Outgrew It.</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Sat, 29 Aug 2026 13:00:26 +0000</pubDate>
      <link>https://dev.to/daemonic01/the-pipeline-worked-then-the-research-outgrew-it-pk4</link>
      <guid>https://dev.to/daemonic01/the-pipeline-worked-then-the-research-outgrew-it-pk4</guid>
      <description>&lt;p&gt;About a year ago, I was building a terminal-based workflow manager called Glyph.Flow.&lt;/p&gt;

&lt;p&gt;It was mostly a learning project. I wanted to understand Python better, experiment with Textual, think about commands, state, configuration, logging, and all the small architectural decisions that suddenly appear when a script stops being a script.&lt;/p&gt;

&lt;p&gt;Somewhere between then and now, the workflows became a little more real.&lt;/p&gt;

&lt;p&gt;For my Master's thesis, I built a data pipeline to construct and process a cross-national research database from multiple sources. It had a clear purpose: take heterogeneous input data, transform it consistently, validate important assumptions, and produce the dataset I needed for the analysis. And it worked.&lt;/p&gt;

&lt;p&gt;But this is no longer enough. I am not rebuilding it because the original system failed. I am rebuilding it because the question changed:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;My Master's thesis needed a pipeline.&lt;br&gt;
My PhD will need research infrastructure.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And I am slowly discovering that these are not the same thing.&lt;/p&gt;




&lt;h2&gt;
  
  
  A pipeline can be finished
&lt;/h2&gt;

&lt;p&gt;There is something comfortable about building software for a well-defined research project.&lt;/p&gt;

&lt;p&gt;You know the research question. You know most of the variables you need. You know which datasets are involved. You can define the transformations, produce the outputs, validate them, run the analysis, and eventually say:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Done.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Of course, research is never really that clean. Data sources change. Weird edge cases appear. A country disappears from one dataset. Another source changes a variable name. An indicator turns out to mean something slightly different than you thought. But there is still a boundary around the problem. A PhD changes that boundary.&lt;/p&gt;

&lt;p&gt;Now I have to think about a system that may need to survive several years of research, new questions I have not formulated yet, datasets I have not discovered yet, and methodological decisions I will probably reconsider more than once.&lt;/p&gt;

&lt;p&gt;Suddenly, "Does it work?" becomes a surprisingly weak design criterion.&lt;/p&gt;

&lt;p&gt;The more useful questions are becoming things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can I extend it without breaking old processing steps?&lt;/li&gt;
&lt;li&gt;Can I tell exactly where an output value came from?&lt;/li&gt;
&lt;li&gt;Can I rerun only the parts affected by a change?&lt;/li&gt;
&lt;li&gt;Can I replace a data source without rewriting half the project?&lt;/li&gt;
&lt;li&gt;Can I detect when something is technically valid but scientifically suspicious?&lt;/li&gt;
&lt;li&gt;Will I still understand my own decisions two years from now?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's a different problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The dangerous success of a working system
&lt;/h2&gt;

&lt;p&gt;I think working software creates an interesting trap.&lt;/p&gt;

&lt;p&gt;Once something reliably produces the output you need, there is a strong temptation to treat its architecture as validated.&lt;/p&gt;

&lt;p&gt;But successful execution only proves a surprisingly narrow thing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;the system can currently do what you currently ask it to do.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It says much less about what happens when the scope changes.&lt;/p&gt;

&lt;p&gt;This is especially important in research software because the code and the research process evolve together. A new theoretical question may require a new variable and a new variable may require another source. That source may use different country identifiers, time periods, aggregation rules, missing-value conventions, or definitions. Then a seemingly small analytical change starts travelling backwards through the entire pipeline.&lt;/p&gt;

&lt;p&gt;The problem is no longer just transformation.&lt;/p&gt;

&lt;p&gt;It is dependency. And provenance. And validation. And maintainability. And eventually, architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  From a research product to a research process
&lt;/h2&gt;

&lt;p&gt;This is where my thinking has shifted the most.&lt;/p&gt;

&lt;p&gt;For the Master's thesis, I was primarily building a &lt;strong&gt;research product&lt;/strong&gt;: a reproducible database suitable for a specific analysis. Now I need to think much more explicitly about the &lt;strong&gt;research process&lt;/strong&gt; that keeps producing and modifying that database. That means treating things I previously considered implementation details as first-class design problems.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where should validation happen?&lt;/li&gt;
&lt;li&gt;What should a processing unit actually be responsible for?&lt;/li&gt;
&lt;li&gt;How should dependencies between datasets be represented?&lt;/li&gt;
&lt;li&gt;Which transformations should be configuration and which should be code?&lt;/li&gt;
&lt;li&gt;What information should be stored about every intermediate dataset?&lt;/li&gt;
&lt;li&gt;When should a pipeline stop instead of trying to recover?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And perhaps the most uncomfortable question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;How much flexibility should I design for when I do not yet know what I will need?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Too little, and every new research question becomes a refactor. Too much, and I spend six months building a beautiful general-purpose framework instead of doing real social research.&lt;/p&gt;

&lt;p&gt;I suspect the useful architecture is somewhere in the annoying middle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reproducibility is necessary, but not enough
&lt;/h2&gt;

&lt;p&gt;Researchers talk a lot about reproducibility, for good reason. Given the same data and the same code, we should be able to reproduce the same result. But for a long-running research system, I think that is only the starting point.&lt;/p&gt;

&lt;p&gt;I also want to be able to understand &lt;strong&gt;why&lt;/strong&gt; a result looks the way it does. Which source supplied this value? Which transformations affected it? Which version of the processing logic produced it? What assumptions were validated? What changed since the previous run?&lt;/p&gt;

&lt;p&gt;That starts sounding less like a collection of scripts and more like infrastructure. Not infrastructure in the "let's deploy Kubernetes for a CSV file" sense. Quite the opposite. The challenge is figuring out the smallest amount of structure that makes the research safer, more transparent, and easier to extend.&lt;/p&gt;




&lt;h2&gt;
  
  
  So this time, I'm designing before rebuilding
&lt;/h2&gt;

&lt;p&gt;My instinct as a hobby programmer has often been simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;See problem. Write code. Refactor when it becomes ugly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That approach taught me a lot. Glyph.Flow itself was basically one long experiment in discovering architectural problems by running directly into them.&lt;/p&gt;

&lt;p&gt;Research data is less forgiving. So before turning the current pipeline into anything larger, I want to spend some time defining what "larger" actually means. Not choosing frameworks. Not writing orchestration code. Not drawing an impressive architecture diagram with seventeen boxes. Just identifying the problems the system needs to solve. The technical implementation will come later.&lt;/p&gt;

&lt;p&gt;For now, I'm starting with a more fundamental question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What has to change when a pipeline stops being a tool for one project and starts becoming infrastructure for a research program?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Apparently, quite a lot.&lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>python</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Glyph.Flow DevLog #5 — From Alpha to First Release (v0.1.0)</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Fri, 12 Sep 2025 22:25:02 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-5-from-alpha-to-first-release-v010-l5p</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-5-from-alpha-to-first-release-v010-l5p</guid>
      <description>&lt;p&gt;It finally happened: &lt;strong&gt;Glyph.Flow&lt;/strong&gt; reached its first non-alpha release.&lt;br&gt;
When I started this little side project, knowing myself I didn’t expect to carry it this far. But after weeks of tinkering, refactoring, and fixing weird edge cases, I can finally call this one a proper release: v0.1.0. 🎉&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 What’s new in 0.1.0?
&lt;/h2&gt;

&lt;p&gt;This release is about moving from “hacky alpha playground” into a usable foundation.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Added
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;test command: runs automated checks for file integrity, configuration, and command functionality.&lt;/li&gt;
&lt;li&gt;bigsample command: generates a large project tree for stress-testing.&lt;/li&gt;
&lt;li&gt;New simple themes (crimson, arctic, desert) + hotkey T to switch between them.&lt;/li&gt;
&lt;li&gt;Config now stores your last used theme.&lt;/li&gt;
&lt;li&gt;A footer help bar with hotkeys, and it highlights itself when hotkeys are active.&lt;/li&gt;
&lt;li&gt;Header info field showing project stats (total, completed, ongoing).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔧 Improved
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Cleaner command handlers.&lt;/li&gt;
&lt;li&gt;Better internal messages.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🐛 Fixed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;PDF export now properly handles CJK/Cyrillic characters.&lt;/li&gt;
&lt;li&gt;Logs no longer get restored incorrectly after running clear + panel reconfig.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧩 Lessons learned along the way
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Undo/redo isn’t trivial: It’s easy to code “Ctrl+Z”, but making it memory-friendly and configurable took serious work.&lt;/li&gt;
&lt;li&gt;Export quirks: Supporting multilingual output in PDF sounded trivial until it wasn’t. Unicode fonts and encodings fight back.&lt;/li&gt;
&lt;li&gt;Theme switching: Handling Textual events and redrawing components was harder than I thought. It works now, but it’s just the first step toward a full theme engine.&lt;/li&gt;
&lt;li&gt;And of course, the “easy” bugs are the ones that eat your entire day. Or night in my case...&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;👉 Check out the project here: &lt;a href="https://github.com/daemonic01/Glyph.Flow" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠 Roadmap ahead
&lt;/h2&gt;

&lt;p&gt;The foundation is here, but I’ve got plenty of plans:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Advanced search filters (by type, regex, tags, date ranges).&lt;/li&gt;
&lt;li&gt;Profiles: separate workspaces for different projects.&lt;/li&gt;
&lt;li&gt;A proper theme engine.&lt;/li&gt;
&lt;li&gt;Expanded TUI interface with dashboard, statistics, and menu navigation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💡 Closing thoughts
&lt;/h2&gt;

&lt;p&gt;This is the first non-alpha release, but it’s still just the beginning.&lt;br&gt;
I’m excited to keep pushing this forward, and I’d love to hear feedback, ideas, or wild feature requests.&lt;/p&gt;

</description>
      <category>cli</category>
      <category>devjournal</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Glyph.Flow Devlog #4 – Import/Export, Config Overhaul, and the Road to 0.1.0</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Sun, 07 Sep 2025 23:43:15 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-3-importexport-config-overhaul-and-the-road-to-010-2jhc</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-3-importexport-config-overhaul-and-the-road-to-010-2jhc</guid>
      <description>&lt;p&gt;Two weeks ago I shared how &lt;strong&gt;Glyph.Flow&lt;/strong&gt; reached a big milestone with the introduction of undo/redo feature. Now it’s time for another big step: &lt;strong&gt;v0.1.0a9 just landed&lt;/strong&gt;, bringing import/export support and a completely revamped config and context system. This is the last alpha release before we hit the first real milestone: 0.1.0.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## 🚀 What’s new in v0.1.0a9&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Import/Export – You can now move your Glyph.Flow data between sessions or machines with ease.&lt;/li&gt;
&lt;li&gt;Export to JSON, CSV, or PDF.&lt;/li&gt;
&lt;li&gt;Import JSON files with three modes: replace, append, or merge.&lt;/li&gt;
&lt;li&gt;Config Overhaul – A brand new config handler makes settings more flexible and transparent. Cleaner initialization, clearer defaults, and better ergonomics.&lt;/li&gt;
&lt;li&gt;Two-step Context Initialization – This lays the groundwork for more flexible UI handling and future TUI improvements.&lt;/li&gt;
&lt;li&gt;Quality of life – More command aliases and some early bug fixes (like startup errors when data folders are missing).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Full changelog &lt;a href="https://github.com/daemonic01/Glyph.Flow/blob/main/CHANGELOG.md" rel="noopener noreferrer"&gt;here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## 🛠️ Why this matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Glyph.Flow is meant to be a minimalist workflow manager that still covers the essentials:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Portability (import/export makes it practical across machines).&lt;/li&gt;
&lt;li&gt;Safety (undo/redo keeps mistakes reversible).&lt;/li&gt;
&lt;li&gt;Transparency (config you can actually read and tweak).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each alpha has been about laying these bricks. With a9, the walls are up. Next step: add the roof.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## 🌌 The road to 0.1.0&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;(Probably) next Friday I’ll be releasing v0.1.0, the first proper milestone. It won’t yet have the fancy TUI everyone is waiting for (or just me 😆), but it will be the point where Glyph.Flow transitions from “proof of concept” to “usable workflow manager.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;## Planned for 0.1.0:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Final polish on import/export and whole backend.&lt;/li&gt;
&lt;li&gt;Stability pass on config handling.&lt;/li&gt;
&lt;li&gt;README/Getting Started overhaul.&lt;/li&gt;
&lt;li&gt;And then we can start looking beyond: TUI layouts, dashboards, and advanced search features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you like the idea of a minimalist, keyboard-driven workflow manager in your terminal, now’s the time to jump in:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;- ⭐ Star the repo to follow along.&lt;/li&gt;
&lt;li&gt;- 🐛 Try it and tell me what’s broken.&lt;/li&gt;
&lt;li&gt;- 💡 Suggest features you’d want before 0.2.0.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/daemonic01/Glyph.Flow" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next stop: 0.1.0 milestone. See you Friday. 🚀&lt;/p&gt;

</description>
      <category>development</category>
      <category>python</category>
      <category>tui</category>
      <category>learning</category>
    </item>
    <item>
      <title>Glyph.Flow Devlog #3 – Splitting Logs &amp; UI Glow</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Thu, 28 Aug 2025 15:15:57 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-3-splitting-logs-ui-glow-3lk7</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-3-splitting-logs-ui-glow-3lk7</guid>
      <description>&lt;p&gt;Glyph.Flow just reached v0.1.0a7 🎉&lt;/p&gt;

&lt;p&gt;This update focused on making the app more usable and a bit nicer to look at:&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dual-log system → one log for system/runtime messages, one for command output.&lt;/li&gt;
&lt;li&gt;Animated panel adjustment (adjust) → smoothly toggle between log/output focus.&lt;/li&gt;
&lt;li&gt;Custom RichLog with buffering + reflow on resize.&lt;/li&gt;
&lt;li&gt;New header with live config info (version, autosave, logging) + pixelart logo.&lt;/li&gt;
&lt;li&gt;Fixed the startup crash when no data.json was present.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;The project is starting to feel more like a real TUI app and less like a wall of text. 🚀&lt;br&gt;
Repo: &lt;a href="https://github.com/daemonic01/Glyph.Flow/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>development</category>
      <category>python</category>
      <category>tui</category>
      <category>learning</category>
    </item>
    <item>
      <title>Glyph.Flow Devlog #2 – Hitting the Registry Milestone</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Fri, 22 Aug 2025 21:00:39 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-2-hitting-the-registry-milestone-41h5</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-2-hitting-the-registry-milestone-41h5</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7o4092d3ehi2cht3ojpx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7o4092d3ehi2cht3ojpx.png" alt="Some small features" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last time I shared why I’m building Glyph.Flow, a minimalist workflow manager in the terminal with Textual.&lt;br&gt;
This week it’s time for an update on what I managed to get done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/daemonic01/Glyph.Flow" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🎯 The Big Goal&lt;/p&gt;

&lt;p&gt;I wanted to move from a rough prototype into something modular and extensible.&lt;br&gt;
That meant one thing: a command registry.&lt;/p&gt;

&lt;p&gt;🔨 What Changed This Week&lt;/p&gt;

&lt;p&gt;Backend refactor: my massive 630-line app.py is now down to ~112 lines. Commands live in a registry, not tangled logic.&lt;/p&gt;

&lt;p&gt;Command registry: all commands are defined declaratively, with schema-based argument parsing, aliases, and usage.&lt;/p&gt;

&lt;p&gt;Logging: unified styling and message keys, with autosave and error handling standardized.&lt;/p&gt;

&lt;p&gt;New config command: quick way to tweak settings on the fly.&lt;/p&gt;

&lt;p&gt;Consistency: adding a new command is now just “add a dict + handler”.&lt;/p&gt;

&lt;p&gt;😅 The Feeling&lt;/p&gt;

&lt;p&gt;It finally behaves like a real CLI app instead of a spaghetti prototype — but I’ll be honest, it’s still a prototype.&lt;br&gt;
The difference is: now the foundation feels stable enough to build on.&lt;/p&gt;

&lt;p&gt;⏭️ What’s Next&lt;/p&gt;

&lt;p&gt;More commands to migrate (delete, edit, schema, …).&lt;/p&gt;

&lt;p&gt;Road toward a TUI interface on top of this backend.&lt;/p&gt;

&lt;p&gt;Eventually, I’d like this to feel like a natural console companion for managing projects.&lt;/p&gt;

&lt;p&gt;That’s it for this week’s log.&lt;br&gt;
If you’re into command-line tools, or building things with Textual, I’d love to hear your feedback. 🚀&lt;/p&gt;

</description>
      <category>development</category>
      <category>python</category>
      <category>tui</category>
      <category>learning</category>
    </item>
    <item>
      <title>Glyph.Flow Devlog #1 – Why I’m Building a Workflow App in a TUI?</title>
      <dc:creator>Dominik Kopócs</dc:creator>
      <pubDate>Tue, 19 Aug 2025 13:59:42 +0000</pubDate>
      <link>https://dev.to/daemonic01/glyphflow-devlog-1-why-im-building-a-workflow-app-in-a-tui-2klm</link>
      <guid>https://dev.to/daemonic01/glyphflow-devlog-1-why-im-building-a-workflow-app-in-a-tui-2klm</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz41en90diwol8s4p5tw8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz41en90diwol8s4p5tw8.png" width="800" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;"Why build yet another workflow app? And why on earth in a TUI?"&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That’s the question I asked myself when I started this project.&lt;/p&gt;

&lt;p&gt;Over the years, I’ve tried countless tools – task trackers, kanban boards, Notion setups – but most of them felt heavy, clicky, or distracting. I wanted something much simpler: a workflow manager that lives entirely in the terminal, fully keyboard-driven, fast, and with zero context switching.&lt;/p&gt;

&lt;p&gt;At first, I hacked together a prototype using plain curses. It worked… kind of. But as the project grew, I realized I needed something more structured and maintainable. That’s when I discovered Textual, and decided to port everything over.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;So far, Glyph.Flow can:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;define hierarchical workflows (Project → Phase → Task → Subtask),&lt;/li&gt;
&lt;li&gt;save/load the entire structure as JSON,&lt;/li&gt;
&lt;li&gt;render trees, tables, and ASCII views,&lt;/li&gt;
&lt;li&gt;and handle commands like create, edit, delete, search, toggle.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The latest milestone (v0.1.0a4) brought two major improvements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a layered logging system with INFO/WARNING/ERROR/SUCCESS/HELP levels&lt;/li&gt;
&lt;li&gt;a command history module, so you can navigate previous inputs with the arrow keys.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Why might this be interesting?&lt;/strong&gt;&lt;br&gt;
👌🏻 Minimalism. Unlike most project managers, Glyph.Flow only cares about hierarchy and progress.&lt;/p&gt;

&lt;p&gt;&amp;lt;/&amp;gt; Terminal-native. It feels more like working with your projects than managing them through a UI.&lt;/p&gt;

&lt;p&gt;👨🏻‍💻 Personal journey. For me, this is not just a tool. It’s a playground to learn Textual, experiment with structured logging, and design clean extensible systems.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Next steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Command registry (auto-help, cleaner dispatch)&lt;/li&gt;
&lt;li&gt;Undo system (basic memento stack)&lt;/li&gt;
&lt;li&gt;Better error handling&lt;/li&gt;
&lt;li&gt;Export/import &amp;amp; statistics&lt;/li&gt;
&lt;li&gt;And eventually… a polished Textual TUI dashboard&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;This is still very alpha, but it’s already fun to use, and I’m excited to share the journey here.&lt;/p&gt;

&lt;p&gt;👉 You can check out the repo here: &lt;a href="https://github.com/daemonic01/Glyph.Flow" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;br&gt;
👉 Follow this series for future devlogs: Glyph.Flow Devlog #2 will be all about the command registry!&lt;/p&gt;

&lt;p&gt;These changes laid the foundation for the next big step: the command registry, which will finally eliminate the infamous elif chain and make adding new commands a one-file operation.&lt;/p&gt;

</description>
      <category>development</category>
      <category>python</category>
      <category>tui</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
