Inspiration
We wanted to build a tool that helps people understand the effects of alcohol, and show the different models for calculating BAC, in a clear, data-driven way. Many online calulators are overly simplistic and not transparent about the math that goes into their own calcultions. We thought it would be useful to combine the different models and present them in a polished, user-friendly interface.
What it Does
BloodAlcCalc lets users create multiple profiles, log drinks, and instantly estimate their Blood Alcohol Concentration (BAC) using multiple different published models. It shows results from each formula, the mean of those formulas, and even a projected "time until sober."
How we Built it
The app is written in Python with Tkinter for the GUI. Data (the profiles, drinks, logs) are stored in JSON. For images and layout polish, we used Pillow for logo scaling. The BAC formulas come from scientific papers, and we specifically referenced ones mentioned in this paper here: link. A good read if you're interested in the validity of the current known models of calculating BAC.
Challenges
Getting consistent units, making sure all of the math was correct and worked the way its supposed to. A lot of errors came from wild predictions of BAC that were way over what they were meant to be. Just using Python was difficult, as both team members had limited experience in using it. It was a learning experience.
What we Learned
A big thing was the exposure to Python. Neither team member was super well versed in it.
We learned a lot about the current models for mathematically calculating BAC. One of the most popular ones used is the Widmark formula which was proposed in the 1932. Ours uses more recent versions proposed.
It was also our first Hackathon. We wanted to do something simple to get a feel for the competition, the workload, and whatnot. It was very educational!
Whats Next for BloodAlcCalc
Outside of the Hackathon, I wanted to completely rewrite the program into Java, as its a language im more familiar with. With the current Python code, making a better UI, possibly using StreamLit, would be something to look into. Adding a pre existing database of alcoholic drinks to choose from and search to add to your list would be a good idea.
Built With
- python
- tkinter


Log in or sign up for Devpost to join the conversation.