Project Info
This project did not submit a demo video on Devpost.
Inspiration
The inspiration behind "Nurture AI" stemmed from understanding the unique challenges faced by parents, especially those of special needs children. Recognizing that constant supervision can be both exhausting and impractical, we sought to create a tool that would assist in monitoring their child’s emotional and mental state, especially during times when direct supervision isn't possible. This tool is not only meant to offer peace of mind but also aims to foster independence in children, giving them the confidence to engage in activities like homework or play, knowing they're still under a watchful, caring eye.
What it does
Nurture AI uses AI-driven facial recognition and emotion detection technology through a simple webcam to analyze a child's emotional state in real-time. The app recognizes a range of emotions – from distress and frustration to joy and contentment. When it detects negative emotional shifts or signs of distress, it promptly notifies the parent or caregiver via text. This feature ensures that the caregiver can intervene quickly when necessary, yet also allows them to manage other tasks without constant physical supervision.
How we built it
We used both Hume, Reflex, Twillo, and Redis to make this project possible.
Challenges we ran into
Making the user interface friendly for children who may struggle with autism or epilepsy. Balancing Sensitivity and Specificity: Adjusting the system to correctly interpret emotions without overloading the parent with notifications. User Trust and Privacy: Ensuring the application maintains high standards of user privacy and security, crucial for building trust.
Accomplishments we're proud of
It works! It very accurately can send texts when someone is stressed or any other emotion. What's Next for Nurture By continuously evolving and adapting, we aim to ensure that Nurture AI not only keeps pace with technological advancements and user expectations but also extends its reach and positive impact on more families and communities. We hope to add more solutions to help children calm down after detection, and make it adult-oriented too so we can check our own emotions.
Nurture: An AI tool to help bridge the gap between children with special needs and their caretakers.
Inspiration
The inspiration behind "Nurture AI" stemmed from understanding the unique challenges faced by parents, especially those of special needs children. Recognizing that constant supervision can be both exhausting and impractical, we sought to create a tool that would assist in monitoring their child’s emotional and mental state, especially during times when direct supervision isn't possible. This tool is not only meant to offer peace of mind but also aims to foster independence in children, giving them the confidence to engage in activities like homework or play, knowing they're still under a watchful, caring eye.
What it does
Nurture AI uses AI-driven facial recognition and emotion detection technology through a simple webcam to analyze a child's emotional state in real time. The app recognizes a range of emotions – from distress and frustration to joy and contentment. When it detects negative emotional shifts or signs of distress, it promptly notifies the parent or caregiver via text. This feature ensures that the caregiver can intervene quickly when necessary, yet also allows them to manage other tasks without constant physical supervision.
Tools Used
We used both Hume, Reflex, Twillo, and Redis to make this project possible.
Prizes
CalHacks 2023 category winner for:
Major League Hacking / Most Creative Use of Redis Cloud
Usage and Requirments
You will need your own Twilio SMS account, Hume API, and Redis setup.
To use you will need to create a creds.py file with the following format:
Format for creds.py
#twilio
twilio_sid = '[Your Credentials]'
twilio_token = '[Your Credentials]'
twilio_phone = '[Sending Twilio Number]'
#hume
hume_key = '[Your Credentials]'
#redis
redis_host = '[Your Credentials]'
redis_port = '[Your Port Prefrence]'
redis_password = '[Your Credentials]'
Sidenote
This is a cloned version of the private repo used during the actual project in order to hide api keys from repo history.
Devpost
Analysis
View
Metric
No commits on this project resolved to a GitHub account.
Technology
- CSSIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- ReactIn code
- RedisIn code
- Tailwind CSSIn code
- AWSClaimed
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
85 KB
Source files
35
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
Digvijay-Bokey/nurture-ai
57 files · 7.7 MB · @ 8ab6977
Structure
Interface
20 files · 35%Screens, components and styles rendered to the user.
Application logic
14 files · 25%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
- JavaScript84%
- Python13%
- Markdown3%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
.web/package.json
npm · 25- @chakra-ui/icons
- @chakra-ui/react
- @chakra-ui/system
- @emotion/react
- @emotion/styled
- axios
- focus-visible
- framer-motion
- json5
- next
- next-sitemap
- next-themes
- react
- react-dom
- react-markdown
- react-syntax-highlighter
- rehype-katex
- rehype-raw
- +7 more
requirements.txt
pypi · 6- hume
- opencv-python
- redis
- reflex
- twilio
- websockets
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.
Feature verification
Automatic start of monitoring session on dashboard loadVerified
The app monitors the child continuously without needing constant physical supervision once started.
Claimed on readmehigh confidencenurture_ai/pages/dashboard.py:24— on_mount=FormState.init_session triggers the Twilio start text and returns FormState.webcam_loop, which starts the background monitoring loop when the dashboard page loadsnurture_ai/state.py:49— webcam_loop is decorated with @rx.background and runs a while loop continuously reading webcam frames until FormState.run is toggled off
Reflex-based web UI with name/phone entry and dashboardVerified
The app has a simple webcam-based interface; built with Reflex framework, implying a parent-facing UI.
Claimed on readmehigh confidencenurture_ai/nurture_ai.py:9— Index page defines name and phone input fields bound to FormState.set_name/set_phone, with a Start button redirecting to /dashboardnurture_ai/pages/dashboard.py:12— Dashboard page displays a Toggle button wired to FormState.toggleRun and a Start/Stop status text using rx.cond on FormState.run
Toggle/stop monitoring control (independence-fostering, non-constant supervision)Verified
Fosters independence in children ... allows caregivers to manage other tasks without constant physical supervision, implemented as a start/stop control.
Claimed on readmehigh confidencenurture_ai/pages/dashboard.py:16— Toggle button calls FormState.toggleRun which flips self.run, and the webcam_loop while-loops check self.run to break/stopnurture_ai/state.py:36— toggleRun method flips the run boolean used to start/stop the monitoring loop
Redis logging of detected emotionsCode-supported
We used both Hume, Reflex, Twillo, and Redis to make this project possible (Redis integration, also won Most Creative Use of Redis Cloud per README prizes section).
Claimed on readmemedium confidencenurture_ai/state.py:51— Connects to Redis using creds.redis_host/port/passwordnurture_ai/state.py:74— r.lpush(emotion['name'], emotion['score']) stores detected emotion events into Redis lists, both for strong and slight emotion detections
SMS notification to caregiver on distress detectionCode-supported
When it detects negative emotional shifts or signs of distress, it promptly notifies the parent or caregiver via text.
Claimed on readmemedium confidencenurture_ai/state.py:73— When an emotion score exceeds threshold[1], a Twilio client.messages.create call sends an SMS with the emotion name to the caregiver's phonenurture_ai/state.py:40— init_session sends an initial Twilio SMS notifying that monitoring has started
Webcam facial emotion detection via HumeCode-supported
Nurture AI uses AI-driven facial recognition and emotion detection technology through a simple webcam to analyze a child's emotional state in real-time.
Claimed on readmemedium confidencenurture_ai/state.py:55— Opens webcam with cv2.VideoCapture(0), writes frames to a temp file, and streams them to HumeStreamClient with FaceConfig for emotion predictionnurture_ai/state.py:71— Iterates result['face']['predictions'] emotions and checks scores against thresholds, showing real emotion parsing logic
Adult-oriented emotion checking modeClaimed only
Make it adult-oriented too so we can check our own emotions (listed under What's Next, i.e. future work).
Claimed on Devposthigh confidenceAWS integrationClaimed only
Built with amazon-web-services (listed in Devpost 'Built With').
Claimed on Devpostmedium confidenceFeature to help children calm down after distress detectionClaimed only
We hope to add more solutions to help children calm down after detection (listed under What's Next, i.e. future work).
Claimed on Devposthigh confidenceCredentials setup via creds.py (Twilio, Hume, Redis)Blocked
README states you must create a creds.py file with Twilio, Hume, and Redis credentials to run the app.
Claimed on readmehigh confidence
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.