What happens when six developers, five days of nonstop coding, and one bold idea come together for the event of the year?
You get φolice.
A few weeks ago, I took part in Leapfrog’s Annual Hackathon, leading a team dubbed φolice (pronounced as phi-police). What followed was a whirlwind of brainstorming, proposal crafting, strategic planning, and an intense 20+ hour coding sprint. Against all odds, we brought our vision to life exactly as we’d imagined. And the cherry on top? φolice clinched not one, but two accolades: Hackathon Winner and the AI Visionary Award.
Here’s the story of how we made it happen.
What is φolice?
φolice is a tool designed to help identify and handle Protected Health Information (PHI) safely in different environments. 'φ' is the Greek letter pronounced ‘Phi,’ and our tool acts like a vigilant guardian, securing PHI across various environments. That’s why we cleverly named it φolice, a nod to its role in safeguarding sensitive data.
Developing the concept
Working with PHI is always a big challenge. At Leapfrog, where we specialize in healthcare, we understand this very well. With Signetic, our software for pharmacies and medical billing, we handle PHI data all the time. The issue is that PHI often hides in plain sight—it mixes with dummy data and is hard to separate.
This problem gave us an idea: what if we could build a tool to find and protect PHI, no matter where it’s located? That’s how φolice started, as a way to identify and keep sensitive information safe in any environment.
Our inspiration
The idea for φolice came from tools like Grammarly and ESLint, which we really admire. These tools give real-time feedback when you make a mistake, helping you fix it right away. We thought, why not create something similar for handling PHI data? A tool that watches out for sensitive information and alerts you instantly would be extremely helpful.
We also wanted to make it easy for developers and teams to stay safe with data, just like Grammarly makes writing easier. This mix of ideas pushed us to build φolice to protect information in a smart and simple way.
Key discussions and decisions
We had the idea for φolice, but the challenge was building it for different environments. Developers work with PHI in code editors and Git, while product managers and QA engineers handle it in browser sessions. Other users might have unique ways of managing PHI. A tool to detect PHI and replace it with dummy data seemed ideal.
After several talks, we chose an extensible plugin architecture. The core would identify sensitive information, and plugins would adapt it for specific needs, like a language server for code editors, a Git pre-commit hook, or a browser extension to mask PHI.
During this, we also had a couple of sessions with our advisor Seward Pulitzer, who liked the idea and whose insights helped finalize the proposal.
Building the project
Collaboration and workflow
To work efficiently, we used a divide-and-conquer approach, ensuring the core engine’s development didn’t slow us down. We began by defining the request and response structure for the core. Then, we built a mock server using sample names and mock data flagged as PHI, mimicking the core’s output. This let us develop plugins like the language server, Git hook, and browser extension while the core was still in progress. By separating the core’s work this way, we saved a lot of time and kept everyone moving forward.
Divide and conquer
To build φolice in 20 hours, our six-member team planned to divide tasks and focus on small milestones. We assigned Ramesh Pokhrel, an AWS-certified engineer, to develop the AI Core using AWS SageMaker for PHI detection.
Pukar Giri, a NeoVim expert, would create a NeoVim LSP server to flag PHI in code and build a mock core to unblock other tasks.
Sonu Ranabhat, our QA engineer, was tasked with designing a Git pre-commit hook to stop PHI commits and preparing the demo.
Panas Tiwari, our NeoVim wizard, with his cross-functional skills, would collaborate with Pukar and Sonu on the LSP server and Git hook.
Suraj Khayamali would handle the browser extension to mask sensitive data. And me? I planned to keep everyone organized, meet smaller milestones, clear obstacles, and jump in wherever needed.

Technical challenges and resolutions
Implementing everything from scratch is always challenging. We started the development of the Language Server by first implementing the protocol itself in Node.js, for which we only had the protocol specification by Microsoft. We also had to get a stable client-side implementation for Neovim in Lua, which was challenging too.
Besides that, all of my team members work in Azure, so getting familiar with AWS in a short period was a challenge. Luckily, Ramesh recently passed the AWS certification, and his knowledge in both cloud platforms was helpful for the team's understanding of AWS.
Development of the Browser Extension also came with its own unique challenges, The static replacement logic works for static sites but most modern sites re-render the entire dom during the hydration which required some novel solution. We solved this problem using the Mutation Observer browser API.
Lessons Learned
Main lessons learned
When we saw other teams' presentations, we realized that even though our product has potential we should have spent some more time on the presentation and demo video. With proper planning and strategy we were able to build a product with much more potential in a short time.
Knowledge or skills acquired
Except for Ramesh, our AWS-certified Solution Architect, AWS was quite new to us, so we learned a lot. We gained skills in custom model training with SageMaker, working well under pressure, and splitting tasks into smaller milestones to deliver value step by step.
Demo day and the winning moment
Preparation for demo day and presentation
After two days of intense coding and troubleshooting, the day of the presentation finally arrived. The lack of sleep had left us drained, making it difficult to prepare for the demo and presentation. As if that wasn’t enough, our laptop also started lagging during the video generation, adding even more pressure.
By the end of the day, the sleepless nights had taken their toll, and simply making it through felt like a challenge. Coffee and occasional interactions were our only sources of energy. In the end, we barely managed to submit the presentation at the last second, just in time to meet the deadline.
Our hearts were pounding with a mix of nervousness and excitement. As we watched the first presentation, we were completely awestruck. Then, it was finally our turn. As soon as we began, ten minutes flew by in an instant. Before we knew it, our week of hard work had come to an end, and it was time to find out the results.
And the winner is…
All the projects were impressive, and their presentations were top-notch. However, we had faith in our idea, our product, and the hard work we had put in. When the time finally came for the winner announcement, the first award was for ‘AI Innovation.’
When we heard the name "φolice," we couldn’t contain our excitement and jumped up to collect the prize from none other than Himal Karmacharya, President of Leapfrog. All the exhaustion instantly faded away.
We returned to our seats, eager to hear the results of the other awards. Even though we had already won in one category, we were still hoping for more. As the runner-up was announced, one of our team members, half-joking, said, "Of course, we’re not winning two categories." Before he could finish, we heard, "The winner is φolice!"
Our excitement skyrocketed, and the celebration began.
An unforgettable experience
From late-night planning on the rooftop to sleepless nights, missed meals, and last-minute demo struggles, we went through it all. And in the end, it was worth it.
Winning both the AI Visionary Award and the Hackathon Grand Prize was a proud moment. But more than that, we built something meaningful as a team and had a blast doing it.