lmk - let me know

Inspiration

In today's world, staying informed about local incidents and safety concerns is crucial. Whether it is a house fire, suspicious activity, or even something as extreme as a nuclear threat, timely updates can help people make better decisions for their safety. However, many incidents go unreported or fail to reach the people who need to know. Without an efficient way to share and access real-time alerts, communities are left vulnerable to unforeseen dangers.

This inspired us to create lmk, a platform that enables community-driven safety reporting. Rather than relying solely on official emergency channels, lmk allows people to contribute real-time updates about local incidents, making it easier for others to stay informed. The platform provides an interactive way for users to track reports, assess potential risks, and respond accordingly.

What it does

lmk is a real-time incident tracking platform that allows users to report and view local incidents through a dynamic map-based interface. Users can submit reports detailing incidents such as fires, suspicious activity, and public disturbances, providing key details like location, description, and urgency level. Each report is processed by an AI system that categorizes the severity and determines the appropriate response level.

Through an interactive Mapbox interface, users can view incidents near them, filter reports by severity, and receive warnings if an event poses a significant risk. The AI-driven system helps streamline information by summarizing key details, ensuring that users can quickly assess and respond to nearby events.

How we built it

To build our user-facing full-stack web application, we opted to use Next.js due to its flexibility in handling both server-side rendering (SSR) and static site generation (SSG), making it an ideal choice for a real-time, data-heavy application like lmk. For the front-end, we used TailwindCSS for rapid UI development, allowing us to focus on building an intuitive and accessible design. We also integrated ShadCN, a component library, to ensure that the user interface is both aesthetically pleasing and highly functional, with minimal effort.

To facilitate a dynamic and interactive experience, we incorporated a map using Mapbox. We also used the OpenStreetMap API as part of the report functionality when users need to add a new incident to search for addresses fast.

Thus, the flow works as follows:

  • Users can view nearby incident reports created by other users through the map page's sidebar. Users can read more details regarding such posts (ex. incident date, description, location).
  • Users can report a nearby incident to be made public to other users. Additionally, they'll receive an AI-generated report on the urgency of such a report among other details viewable from the marker displayed on the map. This agentic process is fueled by three main components that work in series to create a finalized JSON that contains every necessary parameter.

Classifier Agent

The Classifier Agent evaluates each incoming report to determine its urgency level and estimate the area of effect. It provides a foundational assessment that guides subsequent steps in the pipeline.

Warning Agent

Building on the output from the Classifier Agent, the Warning Agent generates targeted alerts for local or nearby users by accounting for distance. It factors in the severity level, proximity, and other contextual details to ensure that only relevant users receive warnings.

Summarizer Agent

Then, the Summarizer Agent distills each incident into a brief yet comprehensive synopsis. It highlights the key points and makes it easier for the final step.

Aggregator Agent

Finally, the output is aggregated into a finalized JSON format stored as metadata in the Supabase database to allow the properties of the marker to be readily accessible.

Challenges we ran into

One of the biggest challenges was ensuring that the AI agents worked effectively together. We needed to refine the pipeline so that reports were classified, summarized, and displayed accurately. Structuring the AI-generated data in a way that was both useful and reliable took significant iteration.

Another challenge was the continuous evolution of the UI. As we tested the application, we frequently identified areas for improvement. Each change introduced new challenges, such as balancing aesthetics with functionality, resolving unexpected styling conflicts, and ensuring responsiveness across different devices. The iterative nature of UI development meant that every fix often introduced new complexities, requiring ongoing refinement.

Accomplishments that we're proud of

One of our biggest accomplishments is the seamless integration of real-time reporting with an intuitive map interface. The platform allows users to quickly scan for incidents in their area, providing a visually engaging and informative experience.

We are also proud of how well the AI-powered classification system works. By processing and categorizing incidents dynamically, lmk ensures that users receive relevant and actionable updates without unnecessary noise.

What we learned

This project pushed us to learn and grow in ways we didn’t expect. While some of us started with little to no experience in Next.js, Mapbox, and prompt engineering, we quickly adapted by diving deep into documentation, experimenting with different approaches, and sharing knowledge with each other.

More than just technical skills, we learned how to effectively collaborate in a fast-paced environment, balancing different strengths and learning curves; for two people, this was their first hackathon! We discovered that the best way to learn wasn’t just through trial and error but through teaching each other, breaking down complex concepts into something digestible for the entire team. For instance, in total, our repo had more than 130 commits by the time we submitted our Devpost.

What's next for lmk

Hackathons are short; this hackathon in particular was only 24 hours, presenting a pretty strict time limit for development. Given the limited time frame of this hackathon, we focused on creating a functional prototype. Moving forward, we plan to enhance the system by refining AI classifications, improving user notifications, and integrating mobile-friendly features for even faster reporting.

To further streamline reporting, we aim to introduce phone integration and an AI agent that can generate reports automatically. This would allow users to report incidents more efficiently, reducing the friction in the submission process.

We also plan to implement social media integrations that automatically generate reports when social media posts related to incidents are detected. By leveraging real-time social media activity, we can enhance the accuracy and timeliness of incident reporting.

Built With

Share this project:

Updates