SnoopLog
Find errors and anomalies from your logs conveniently and automatically with the help of AI!
Members
- Sepehr Zohoori Rad - BScACS (term 2)
- Madhav Ramdev - BScACS (term 2)
- Clayton Hunter - BScACS (term 2)
- Fonse Clarito - BScACS (term 2)
Inspiration
Imagine being woken up at 3 AM by an alert that says "memory exceeded threshold" and then spending 20 minutes digging through logs and code to figure out what actually happened. You can expedite the process through SnoopLog
What it does
SnoopLog is a self-contained pipeline that watches your logs, uses ML to detect anomalies, and routes the serious ones through an AI agent that can read your source code, check git blame, and find related errors. By the time you open your phone, there's a full incident report waiting: what broke, why, which line of code caused it, and how to fix it.
How we built it
- We built the app's dashboard using Next.js and Tailwind, and hosted it on Vercel.
- We created the AI agents and the ML model pipeline in Python.
- These agents process the logs, rate them on how severe they are, and report on only the ones urgent enough to alert the user/client.
- We hosted them in Google Cloud using Docker containers.
- We also used Websockets to allow communication between the dashboard and the AI pipeline.
- We also made a demo client app for demo purposes using Next.js and hosted on Vercel.
- We used Discord WebHooks to send incident reports to users.
Challenges we ran into
- We spent a lot of time integrating our individual branches, but luckily we had some help from AI to make sure that variables are consistent between workflows.
- We had a lot of ideas shared between us during the first few hours of the Hackathon. The morning after, we finally settled on one.
- We were trying to learn new technologies:
- The member who did the dashboard has not worked with Next.js and Tailwind.js.
- One of the people who worked on Machine Learning had little experience with it.
- Most members were trying out AI tools such as Codex for assistance during implementation.
- AI definitely did a ton of work on this project which allowed us to really broaden the project scope, therefore we still have to be responsible with how we used it and knowledgeable of what the AI did.
Accomplishments that we're proud of
We are proud of the idea because we believe that this solves a problem that a lot of people have: reading through a mountain of logs.
We have also learned a lot of new technologies, as well as, how to use AI within the IDE to help with development.
What we learned
- Next.js, Tailwind, Vercel, Machine Learning, Codex
- Debugging integration issues
- Containerizing using Docker
User Guide
- Visit both Vercel applications: the demo app and the dashboard.
- The demo app is made to simulate errors that will appear on the logs.
- Select the Signal Mechanical Keyboard product (Click select item).
- Click 'Create Order' on the Purchase Panel.
- This should now generate a TypeError that appears on the logs.
- You get a notification on Discord that an Error has happened.
- Go to the dashboard application.
- You can see all of the logs that gets processed by the AI on the "Log Stream".
- You can see what the AI is doing by clicking the "Agent Status" button.
- Finally, you can see the Error that the AI has found and has deemed important enough for review on the "Escalations" section.
- If you click on a specific error, you can see an Incident Report that the AI makes for you.
Built With
- codex
- discord-webhooks
- docker
- firebase
- google-cloud
- next.js
- node.js
- python
- river
- tailwind.js
- typescript
- vercel
- websockets
Log in or sign up for Devpost to join the conversation.