Project Info
Inspiration
As a team, we're all close with our grandparents. As they get older, we want to be able to support them in any way that we can, even when we can't be there. Our ideation focus started out on elderly care homes--we wanted to devise a system to help keep an eye out for elderly patients, especially those who could be prone to falling or wandering off due to a condition like Alzheimer's. But we realized that interactive and accessible security isn't just limited to elderly care homes. From consumer usage with parents, to enterprise-level usage at companies that need real-time security monitoring, interactive security is largely lacking.
What it does
Our pipeline takes in live stream of videos, and leveraging zero-shot action recognition, we're able to provide real time feedback on chunks of videos that are of interest. Users are able to input with natural language, what they would consider "flaggable" behavior. We match chunks with flaggable behavior, and then, if an incident is flagged, real-time deployment of Twilio API calls the user who deployed the software. The user is then notified of the incident, and able to talk to Twilio about 1. Context of the incident 2. Possible next steps to take 3. Extractive video
How we built it
Computer Vision. Azure integration, to provide holistic view on people actions during frame, with natural language. Multi-threading allows us to achieve this in real-time without much latency. Chunking video into actions from the stream to be saved into our cache. Cache detection runs through GPT, and submits a POST request to our flask server when an action is deemed to be flaggable. Twilio retrieves. Twilio Separate tunneled local server on ngrok so Twilio can access. Then, server receives live requests that uses TwixML to give appropriate responses to users. Utilizing whisper, users are able to have real-time conversation with Twilio, which has access to custom defined toolkits.
Challenges we ran into
A lot of networking challenges. Some API keys disappeared here and there (we reached our limit), and spent like 2 hours debugging for no reason.
Accomplishments we're proud of
As beginners at our first hackathon, we really got to get hands on with building a project, and become a super cohesive team! This was a lot of our first times fully building out a deployable application, and it was really great just learning how to take our skills in class to apply to the real world. It's super inspiring to know that what we make can change the world.
What we learned
So so much. From multi-threading to lightsaber-duels, the knowledge was everywhere.
What's next
Huge emphasis on stopping implicit bias, especially in CV algorithms. We planning to focus on the ethical implications of software like Horus, stressing that implicit biases don't make their way into the input, detection, or communication pipelines.
Horus
Inspiration
As a team, we're all close with our grandparents. As they get older, we want to be able to support them in any way that we can, even when we can't be there. Our ideation focus started out on elderly care homes--we wanted to devise a system to help keep an eye out for elderly patients, especially those who could be prone to falling or wandering off due to a condition like Alzheimer's.
But we realized that interactive and accessible security isn't just limited to elderly care homes. From consumer usage with parents, to enterprise-level usage at companies that need real-time security monitoring, interactive security is largely lacking.
What it does
Our pipeline takes in live stream of videos, and leveraging zero-shot action recognition, we're able to provide real time feedback on chunks of videos that are of interest. Users are able to input with natural language, what they would consider "flaggable" behavior. We match chunks with flaggable behavior, and then, if an incident is flagged, real-time deployment of Twilio API calls the user who deployed the software. The user is then notified of the incident, and able to talk to Twilio about 1. Context of the incident 2. Possible next steps to take 3. Extractive video
all sent to their phone in real time w/ real phone-call interaction.
How we built it
- Computer Vision.
Azure + YoloV8 integration, to provide holistic view on people actions during frame, with natural language. Multi-threading allows us to achieve this in real-time without much latency. Chunking video based on sections of "similar" actions, to be saved in our DB. etc etc
Retrieval when necessary, and then all sent to Twilio.
- Twilio
Tunneled local server on ngrok so Twilio can access. Then, server receives live requests that uses TwixML to give appropriate responses to users, after running through our fine-tuned GPT. Utilizing whisper, users are able to have real-time conversation with Twilio, who is able to use custom functions and utilities. etc etc
Running
-
In directory treehacks: ngrok http 3000 --domain=treehacks.ngrok.app (or any ngrok domain).
-
In directory treehacks/call-gpt: npm run dev
-
In treehacks/processing/cv: python flaskPrompt.py
In treehacks, add .env with
AZURE_API_KEY="" VISION_ENDPOINT=""
In /call-gpt, add .env with
//Your ngrok or server URL (E.g. 123.ngrok.io or myserver.fly.dev)
SERVER="treehacks.ngrok.app"
//Service API Keys
OPENAI_API_KEY=""
DEEPGRAM_API_KEY=""
XI_API_KEY="a38ad5190e33965faec7f22098a8f531"
// Available models at a signed GET request to /v1/models
XI_MODEL_ID=""
// Uses "Rachel" voice by default
See https://api.elevenlabs.io/v1/voices or visit https://elevenlabs.io/voice-library for a list of all available voices
VOICE_ID="21m00Tcm4TlvDq8ikWAM"
// Configure your Twilio credentials if you want to make test calls using '$ npm test'.
TWILIO_ACCOUNT_SID=""
TWILIO_AUTH_TOKEN=""
FROM_NUMBER=''
TO_NUMBER=''
Analysis
View
Metric
- 41
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- ExpressIn code
- FlaskIn code
- JavaScriptIn code
- OpenAIIn code
- PythonIn code
- PyTorchIn code
- TensorFlowIn code
- ReactClaimed
7 of 8 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
97 KB
Source files
38
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
LiuLawrence45/treehacks
91 files · 115.5 MB · @ 8186f3e
Structure
API & routing
5 files · 5%Request entry points: routes, handlers and controllers.
Application logic
31 files · 34%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python61%
- JavaScript23%
- Markdown16%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
call-gpt/scripts/requirements.txt
pypi · 201- absl-py
- adal
- aiohttp
- aiohttp-retry
- aiosignal
- annotated-types
- anyio
- astunparse
- async-timeout
- attrs
- azure
- azure-ai-formrecognizer
- azure-ai-vision-imageanalysis
- azure-applicationinsights
- azure-batch
- azure-cognitiveservices-vision-computervision
- azure-cognitiveservices-vision-contentmoderator
- azure-cognitiveservices-vision-customvision
- +183 more
requirements.txt
pypi · 201- absl-py
- adal
- aiohttp
- aiohttp-retry
- aiosignal
- annotated-types
- anyio
- astunparse
- async-timeout
- attrs
- azure
- azure-ai-formrecognizer
- azure-ai-vision-imageanalysis
- azure-applicationinsights
- azure-batch
- azure-cognitiveservices-vision-computervision
- azure-cognitiveservices-vision-contentmoderator
- azure-cognitiveservices-vision-customvision
- +183 more
call-gpt/package.json
npm · 13- @deepgram/sdk
- colors
- dotenv
- express
- express-ws
- node-fetch
- openai
- twilio
- uuid
- wavefile
- +3 more
package.json
npm · 1- twilio-cli
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.