Inspiration
Being away from family, staying connected through video calls is essential. I often found myself wanting to save special moments during these calls, but standard screen recording tools failed to capture the audio, leaving me with silent videos that missed the laughter and voices I wanted to remember. I also noticed how fragmented our digital memories are—scattered across chat logs, screenshots, and photo galleries without any emotional context. I wanted to create a platform that doesn't just enable communication but actively preserves the feeling of those interactions, acting as a smart, automated memory curator for long-distance relationships and families.
What it does
HappyMemories is a communication platform similar to Snapchat but with a focus on long-term memory preservation. It offers real-time chat, image sharing, and video calling. Its key features include:
- Intelligent Sentiment Analysis: It automatically analyzes the sentiment of texts, images, and video calls to tag and segregate content into specific "emotions" or "moments" (e.g., Happy, Nostalgic, Excited).
- Full-Fidelity Call Recording: Unlike standard screen recorders, HappyMemories captures both video and internal audio during calls, ensuring voice and laughter are preserved.
- Automated Curated Collections: Similar to Apple Photos, it automatically generates "Yearly Memories" (e.g., "2023 Highlights") and facial recognition-based albums (e.g., "Memories with Mom"), grouping shared moments by the people in them.
How we built it
Frontend: We built a dedicated client interface to handle the real-time media feeds and user interactions. Backend: The server logic is powered by Python, structured with a modular core directory and a main.py entry point. We utilized Docker and Docker Compose (docker-compose.yml) to containerize the application, ensuring our environment was consistent and easy to deploy. Data Storage: For rapid prototyping and portability, we implemented a lightweight JSON-based database (memories.json) to store user memory metadata and session details without the overhead of a complex SQL server. Video/Audio Processing: We wrote custom Python automation scripts—specifically create_video.py and debug_audio.py—to handle the complex task of capturing and merging system audio with video feeds. We also built a pipeline for generating "talking videos" (create_talking_video.py) to animate static moments. Sentiment & Vision: We leveraged Python's rich ecosystem (managed via requirements.txt) to process the visual data. The system uses test assets like happy_face.png to validate our facial emotion recognition algorithms before processing live video streams.
Challenges we ran into
- Real-time Processing: Analyzing sentiment on live video feeds without causing lag was difficult. We had to optimize our models to run asynchronously so they didn't interrupt the call quality.
- Privacy & Data Security: Since we are analyzing personal conversations and biometrics (faces), ensuring end-to-end encryption and secure storage for user data was a complex but necessary priority.
Accomplishments that we're proud of
- Solving the "Silent Video" Problem: Successfully capturing both video and voice in our recordings was a major technical win.
- Seamless Integration: We managed to combine chat, video, and AI analysis into a single, smooth user experience that feels intuitive rather than cluttered.
- Emotion detection: Seeing the app correctly identify a "happy" moment from a video call and automatically file it into a "Joy" album was incredibly satisfying.
What we learned
- Mobile Audio Architecture: We gained a deep understanding of how mobile operating systems handle audio streams and the complexities of mixing microphone input with system output.
- The Power of Metadata: We learned that "memories" aren't just pixels; they are defined by context—who was there, what was said, and how it felt. Adding this metadata transforms a simple file into a meaningful memento.
- Ethical AI: We learned the importance of handling biometric data responsibly when implementing facial recognition.
What's next for HappyMemories
- Enhanced "Flashback" Features: We want to introduce "On This Day" notifications that bring up specific emotionally tagged memories (e.g., "A happy moment from 2 years ago").
- Voice Sentiment Analysis: Expanding the AI to analyze the tone of voice in video calls, not just the text or facial expressions.
- Collaborative Memory Lane: Allowing two users to co-edit a "Year in Review" video montage generated by the app.
Built With
- audio
- cv
- digitalocean
- docker
- python
- video
- websocket
Log in or sign up for Devpost to join the conversation.