Inspiration
This is my first hackathon, and I was unsure which path to take when I arrived. Erin's speech regarding how important caring about what you work on is won me over. I realized none of the other ideas I had provided any significant real world impact. This project gave me a chance to make something valuable. I'm actually in a class right now that revolves around the impacts of AI safety and how big of an issue privacy is. I realize now more than ever that healthcare is one of the most important fields for AI privacy in the modern day, and I hope I've done my small part to help.
What it does
It combines code and model analysis of input records to label them for launch teams who need to understand the public and professional media impression of their new drugs. As much as possible is done by hard code, following the guidelines as close as possible. Beyond that, a local AI model, Qwen3.5:4b is used to fill in the remaining labels. After this, format and more guideline specifications are enforced. The output is a set of labels for each inputted item.
How we built it
I built this primarily with Claude Code, though I was certainly directive. I used a personal workflow that involves dispatching agents from a main session to complete tasks of implementation or research. This significantly improved efficiency and speed, allowing more time for me to go and refine things tonight while gaining a complete understanding of the flow of the software.
Challenges we ran into
Determining which improvements were solely catering to the dev set or improving the software as a whole. This is still somewhat unknown, and won't be known until it's run against the official hidden tests. I never realized how inconsistent local models were at output. Quotes were almost always incorrect. Format was consistently wrong. The post-output validation checks save this project from not working at all.
Accomplishments that we're proud of
The post-output validation checks correctly format all Qwen output perfectly, and even enforce some more of the guideline specifications while they're at it. I'm also proud of the .851 composite figure. I'm not sure how that looks relative to what's expected/other groups, but I'm proud of it regardless. I'm also proud of working on this for pretty much the last 16 hours straight.
What we learned
The biggest model isn't necessarily the best. Qwen3.5:4b beat out Qwen2.5:7b by a landslide. Also how strong prompting is. Changing one word for a synonym of itself can change the output significantly.
What's next for Media Receipts
Prompt improvements with hopefully some more data to work with. Also an actual usage--an environment where real items can be input and outputs can be viewed by a real team.
Built With
- ollama
- python
- qwen