This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built MemoMate, an AI-powered personal productivity assistant for a friend who wanted a simpler way to manage everyday tasks, reminders, lists, and important information.
Instead of opening different apps for different tasks, the user can interact with MemoMate using natural language.
For example:
- "Remind me to submit my assignment tomorrow at 10 AM."
- "Create a shopping list."
- "Add milk to my shopping list."
- "Show my lists."
- "What do I have tomorrow?"
- "Remember that my project deadline is next Friday."
MemoMate understands these requests and turns them into actions such as creating reminders, managing lists and list items, saving memories, and retrieving information.
The goal was to build something that feels more like talking to a personal assistant rather than filling out forms.
Main Features
- AI-powered natural-language interaction
- Reminders and recurring reminders
- Shopping and custom lists
- Add, complete, and remove list items
- Calendar and upcoming events
- Personal memory
- Notifications
- Voice interaction
- User-specific data and actions
- Deployed web application
Demo
Try the live application:
Code
The complete source code is available on GitHub:
The repository contains both the React frontend and FastAPI backend.
How I Built It
MemoMate is built as a full-stack application.
Frontend
- React
- Vite
- JavaScript
- CSS
The frontend provides the assistant interface along with pages for reminders, lists, calendar information, and notifications.
Backend
- Python
- FastAPI
- SQLAlchemy
- PostgreSQL / SQLite
- JWT-based authentication
The backend handles users, reminders, lists, list items, memories, and AI-powered assistant requests.
AI
For the AI layer, I used Hugging Face with an open-weight Qwen model.
The AI is not given unrestricted control over the database. Instead, MemoMate uses an action-based architecture.
The basic flow is:
text
User request
↓
AI / Intent Recognition
↓
Structured Action
↓
Validation
↓
Action Engine
↓
Database
↓
Response to User
Top comments (0)