Inspiration
Our inspiration was to apply ML and AI techniques to make processes that would otherwise be redundant rather efficient. We were drawn to the scale of this project, as it could very well have a positive impact on a lot of people.
What it does
CollideAverse is a machine learning and AI site that parses a company's project plan files and compares them with other project plans throughout the United States, detecting spatial and temporal collisions. Using semantic machine learning techniques, we find similarities between project plans to encourage the sharing of resources, providing deterministic solutions on how plans could adapt to minimize dissonance.
How we built it
Our data pipeline uses the Snowflake API to parse and standardize files, deriving geographic data that we organize using a Ball Tree model to efficiently find nearby project plans and mark them as colliding if they fall within a 25-mile radius. Then, we pass each pair of colliding projects to MiniLM, a distilled BERT model that resourcefully leverages natural language processing to find similarities between project plans, which are then brainstormed by Gemini to provide dynamic solutions.
To bring our AI together, we used Google ADK to build specialized agents that each handle one job: an overlap agent that looks up and explains colliding project plans using our BERT similarity scores, a diagnosis agent that uses Gemini to recommend whether two projects should co-schedule or resequence their work, and a summary agent that turns each uploaded plan into a short overview. We exposed our overlap and diagnosis agents through Google's Agent-to-Agent (A2A) protocol, giving each one a discoverable agent card so it can be called like its own service. Our collision pipeline can send conflicts to the diagnosis agent over A2A, and Gemini's answer is checked against our own rules before it reaches the user, keeping the recommendations grounded in real project data.
Our website, built with Next.js and hosted on Vercel, securely authorizes users through Firebase and uploads their project plans to Google Cloud Storage, where our backend on Google Cloud Run processes them. We used FastAPI to connect the frontend to the backend and packaged it with Docker, making CollideAverse accessible online.
Challenges we ran into
Our design philosophy with CollideAverse was to find extremely efficient approaches to each step of the process, utilizing a lot of novel technologies to do so; Integrating tools like Google ADK and Snowflake API proved to be some of the most difficult steps of the development process.
Accomplishments that we're proud of
We are most proud of using our skills as programmers to create something with a real-world impact. We are also proud of creating an end-to-end data pipeline that utilizes machine learning techniques, models, and frameworks to make useful solutions out of relatively simple data.
What we learned
Given that we are a team of backend devs making a full-stack application, the biggest lesson of this process came from needing to learn a lot of new technologies with little time to spare. We had to divide-and-conquer but still keep thorough communication so none of us were lost during such an involved process, which was an invaluable learning experience for all of us.
What's next for CollideAverse
The largest foreseeable future improvement would be increasing the size of our database to spot more potential collisions, not only in the United States but globally.
Log in or sign up for Devpost to join the conversation.