Inspiration
In an era of rampant content sharing, we noticed a critical gap between the desire to share and the need to protect personal privacy. With billions of images and videos uploaded daily, manually censoring sensitive information is impractical. This inspired us to create PIIPal, an intelligent, automated tool that empowers users to share their content freely without compromising their privacy. Our goal was to build a seamless solution that makes privacy protection effortless and accessible to everyone.
What it does
PIIPal is a sophisticated web application that automatically detects and censors Personally Identifiable Information (PII) in both images and videos. It can identify over 22 categories of sensitive data, including faces, ID cards, credit cards, license plates, and even on-screen text. With a user-friendly, TikTok-inspired interface, content creators can upload their media and receive a censored version in moments, ready for safe sharing.
How we built it
We engineered PIIPal using a robust, modern tech stack. The frontend is built with Next.js 15 and React 19, providing a responsive and interactive user experience with a sleek dark theme styled with Tailwind CSS.
The backend is powered by a high-performance FastAPI server in Python, which handles file processing and serves our AI model. The core of our project is the YOLOE-11M-SEG model, integrated using PyTorch and OpenCV, which allows for real-time object detection and segmentation to identify and blur out PII. The entire application is containerized with Docker for easy deployment and scalability.
Challenges we ran into
A primary challenge was optimizing the performance of the AI model to ensure fast processing times without sacrificing accuracy. Handling large video files and processing them in a non-blocking manner required careful implementation of asynchronous tasks in FastAPI. Integrating the Python backend with the Next.js frontend also presented complexities, particularly in managing file uploads and real-time status updates. As with any hackathon, we also faced the pressure of a tight deadline, which forced us to prioritize features and focus on delivering a functional core product.
Accomplishments that we're proud of
We are incredibly proud of developing a full-stack application that addresses a real-world privacy concern. Our comprehensive PII detection, which covers a wide array of categories, sets PIIPal apart. We successfully implemented a side-by-side comparison view, allowing users to see the original and censored media simultaneously, which provides immediate and tangible results. Furthermore, creating a polished, intuitive, and responsive user interface in such a short amount of time was a significant achievement for our team.
What we learned
This hackathon was a tremendous learning experience. We deepened our expertise in integrating advanced machine learning models into a web application and gained valuable experience with the FastAPI framework for building efficient APIs. We also learned how to effectively manage a complex project under pressure, emphasizing clear communication and agile decision-making. The process of designing a user-centric interface for a technical product taught us the importance of balancing functionality with user experience.
What's next for PIIPal
We believe PIIPal has the potential to become an essential tool for content creators, journalists, and businesses. Our roadmap includes:
- Enhanced AI Models: Continuously training and improving our AI model building from our current YOLOE model to detect an even broader range of PII with higher accuracy.
- Real-time Video Censoring: Implementing a feature for real-time PII detection and censoring during live streams.
- API for Businesses: Offering a commercial API for businesses to integrate PIIPal's functionality into their own platforms and workflows.
- Customizable Censoring: Allowing users to select specific PII categories to censor and adjust the level of pixelation or blurring.
Built With
- fastapi
- next
- postgresql
- python
- react
- typescript
- vercel
- yoloe
Log in or sign up for Devpost to join the conversation.