This is the start of a journal into my development of a desktop app called Logi. It’s an overlay file parser. It reads a log file, filters for specific tags, and displays the desired info in real time.
GitHub repo: OMTut/Logi
Background
During my senior year, I had an interview where a concern was expressed that my experience leaned hard into web development and that it might not translate toward the work they are doing. I’m also going to bypass the fact that this was for a student position, which confuses me as to why prior web experience would be a detriment compared to very little or no experience. Still, it’s true. I’ve been developing web applications for a long time. I can’t undo that.
I tried to demonstrate how my course work aligned with their job description. I pointed to repos utilizing C++ and Python. I dropped the ball on the “What OOP design principles are you familiar with?” question. In a week or so, I received the “thanks, but no thanks” email. Not bitter about that btw. It’s awesome they took the time to follow up.
What I needed to do was demonstrate to myself that I could develop not only a desktop app, but one using their desired Qt platform. Having never done anything of the sort, I fired up AI, grabbed the Qt docs, and got to work…but what to work on? I always respond better when it’s an actual problem and not a teaser exercise. So, I came up with an overlay app that reads and filters a log file, specifically for a game I love playing, Star Citizen.
It started out simple, but because I try to be user focused and my own user advocate during development, the simple app became exceedingly complex. Now the app has automated checking for version updating. In fact, I’m using this as a way to develop and implement a CI/CD workflow, but more on that in another post.


Here are the features it launched with for v1.0.0
Features
Core Functionality
– Real-time Log Monitoring: Automatically detects and monitors Star Citizen log files
– Game Process Detection: Tracks when Star Citizen is running
– Death Event Tracking: Displays actor death events from game logs
– Log File Status: Shows current log file path and monitoring status
Overlay Interface
– Always On Top: Overlay window that stays above other applications
– Dynamic Opacity: Automatically adjusts transparency based on mouse hover
– 20% opacity when not in focus (overlay mode)
– 100% opacity when hovering (interaction mode)
– Custom Title Bar: Draggable title bar with minimize/close controls
– Resizable Layout: Drag the bottom right corner to resize the window
– Scrollable Log Viewer: Browse through captured death events
Update System
– Automatic Update Checks: Fetches version information from remote version.json
– Update Notifications: Displays update banner with Release Notes and Download buttons
– Required Updates: Forces app update when critical updates are available
– Blocked Functionality: Hides main features when required updates are pending