Inspiration
Last week my car got broken into with its window being completely shattered as well as several items being missing. Similarly, around 2 years ago my family's 2000 honda accord was totaled because someone had stolen the catalytic converter. Both of these incidents were recorded by security cameras and both incidents were left unsolved due to the lack of urgency in response. By the time the crime was discovered the perpetrators had hours to disappear and remain anonymous. These incidents inspired us to try and find a solution to the lag between security and response. We ended up with Aris.
What it does
Aris automates the analysis of security cameras instantly notifying users of issues that arrive.
How we built it
Aris is built as a Next.js 15 app with Supabase handling authentication and storage for video clips. Both live streams and uploads send frames to OpenAI using gpt-4o-mini with vision. This happens through server actions and API routes. We use structured prompts so the model returns clean, typed events like descriptions, danger flags, and timestamps. When a dangerous event is detected, it triggers a parallel alert pipeline. This includes text to speech alerts, email notifications, in-app messages, video clip uploads, and optional logging. One detection fans out across every channel that matters. Key Integrations Bland We integrated Bland for outbound AI phone calls. There is a dedicated API route for security calls and a dispatch flow in the dashboard. When an incident is detected, users can trigger a call that sends structured incident data directly into Bland’s call API. Environment variables handle pathway configuration and phone numbers, and everything is wired into the UI with clear feedback so users know when a call is being placed. Overmind / OverClaw We built a Python based security triage agent that processes incidents and assigns severity, recommended actions, and summaries. The agent uses OverClaw tracing so every run is observable. We went through the full workflow including initialization, agent registration, dataset setup, and optimization. The optimizer generated multiple variants, but none outperformed the baseline. That was actually a useful result. It showed the baseline was already strong and prevented unnecessary prompt changes. True Foundry We structured the app so all LLM calls happen on the server. No API keys are exposed in the browser. This setup aligns with how teams use True Foundry as a centralized control plane for routing, monitoring, and cost management across models. We support an optional gateway mode. When configured, requests go through True Foundry’s gateway with a model FQN. If not configured, the app falls back to direct OpenAI usage. We also improved reliability. When rate limits occur, especially during heavy uploads, the system logs the issue and continues instead of crashing the UI. This prevents demo failures and improves real world usability. On top of that, we added stricter environment checks for Supabase so misconfiguration fails clearly instead of silently breaking features. Additional Tools We also use Vapi for in browser voice calls through WebRTC, along with TensorFlow.js helpers and other utilities across the stack. Everything is documented in the repo setup and description files.
Challenges we ran into
Our challenges centered on technical bottlenecks and the realities of integrating complex tools. Heavy GPT-4o-mini usage during rapid frame analysis triggered OpenAI rate limits, requiring us to implement throttling and retry logic to manage TPM saturation. On the frontend, a React hydration mismatch caused by server/client branch differences was resolved by deferring UI rendering to useEffect. While setting up OverClaw and LiteLLM, we navigated JSON parse errors during synthetic dataset generation, which ultimately reinforced that structured evaluations show plateaus rather than constant gains. Finally, we addressed the gap between product and research scope, as bridging the Python-based optimized agent with our TypeScript live app remains a deliberate engineering step rather than an automatic process.
Accomplishments that we're proud of
We built a complete safety story that integrates live analysis, danger detection, and multi-channel alerts with phone dispatch through Bland and clip retention on Supabase. By placing Bland in production code paths and using OverClaw to register and optimize a real agent entrypoint, we ensured honest optimization that rejects prompt churn failing to beat the baseline. Every element, from the dashboard and stream page to the escalation modals, delivers an operator-focused experience designed for a credible security demo.
What we learned
Speed and UX are as critical as accuracy because parallelized alerting ensures systems work when seconds matter. This shift from intuition to data-driven evaluations through OverClaw establishes the criteria and datasets needed to identify what to change and what to keep. Ultimately, a layered stack using Bland for voice, OverClaw for evaluation, and True Foundry for operations provides the necessary reach, proof, and scale.
What's next for Aris
Aris tackles a real world problem that has become increasingly prominent in the US and especially in high crime cities like San Francisco. We hope to expand this project and create a startup that is able to offer our services to those in need across the nation.
Log in or sign up for Devpost to join the conversation.