When a Sleep-Deprived Parent Meets GUI: Creating a Baby Logger
September 06, 2024
After my son was born at the end of 2023, I quickly realized that all the books and theories I had studied about babies were utterly inadequate—nothing can truly prepare you for the experience of raising your own child. One surprising challenge was the frequency with which we had to feed him during those first few months. Each evening, my wife and I would find ourselves asking, "Did he poop today?" Our sleep-deprived minds struggled to retrace the day, trying to recall whether we had changed a dirty diaper.
One day, operating at about 50% capacity due to sleep deprivation, my frustrated mind thought, "If my brain isn’t going to work, I might as well enlist some help from technology to keep track of all these baby-related details." I kept telling myself that there had to be a coder parent out there who had already created a solution—surely there was something on GitHub, right? Well, sort of. The closest thing I found was a poop logger, but it required a Raspberry Pi, some arcade buttons, and a bit of woodworking. This would have been great if I only needed to log the time of my son's poops, but I needed more functionality, like tracking how many bottles he consumed and the color of his poop.
Where to start? Almost everyone has a computer lying around, and you’re far less likely to misplace a computer than a notepad. That’s when I decided to create a computer-based application. I knew I had to use a GUI to make the application user-friendly for non-programming parents. Initially, I began building the app using Pygame and MySQL, as that was the extent of my experience. After countless hours of watching YouTube tutorials while feeding my son, I discovered Tkinter and decided to transition my application to this more user-friendly GUI.
Then came the issue of the database. I debated whether to stick with MySQL or if that would be overkill for my needs. Ultimately, I decided to use SQLite, which was perfect for this project as a fast, file-based database. With my chosen GUI and database in place, I now had a better starting point than when I began. I started working on the project during my spare moments—typically in between my son's naps or when my wife or his Pog Pog were watching him. A big shoutout to my wife and my mom (Pog Pog), who played a crucial role in caring for him while I focused on this project.
I completed the application around the middle of 2024. By then, my son had grown significantly and required less frequent feedings, as he was eating more at each meal and had developed a habit of sleeping through the night. With better sleep came reduced sleep deprivation, and I found myself needing the application less. While I realized I could have opted for a more modern and visually appealing design, many new parents learn that style often takes a backseat to practicality. I accepted that I’m not an app designer; I was simply a sleep-deprived dad eager to finish this project so my wife and I could sleep better at night.