A simple task management app that lets you create tasks using your voice! Built with React and Python.
Before you can run the app, you need to install some software. Follow these steps:
Download from: https://nodejs.org/
- Go to https://nodejs.org/
- Click the big green "LTS" button (recommended)
- Run the installer you downloaded
- Verify installation: Open terminal and type:
You should see version numbers (like
node --version npm --version
v18.17.0and9.6.7)
Download from: https://www.python.org/downloads/
- Go to https://www.python.org/downloads/
- Click the big yellow "Download Python" button
- IMPORTANT: Check "Add Python to PATH" during installation
- Run the installer
- Verify installation: Open terminal and type:
You should see a version number (like
python --version
Python 3.11.5)
Download from: https://docs.astral.sh/uv/getting-started/installation/
-
Go to https://docs.astral.sh/uv/getting-started/installation/
-
Copy the installation command for your system:
For Mac/Linux:
curl -LsSf https://astral.sh/uv/install.sh | shFor Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex" -
Verify installation: Open terminal and type:
uv --version
You should see a version number (like
uv 0.1.0)
Download from: https://www.postgresql.org/download/
-
Click your operating system:
- Windows: Download from EnterpriseDB
- Mac: Download from EnterpriseDB or use Homebrew
- Linux: Use your package manager
-
For Mac users with Homebrew:
brew install postgresql brew services start postgresql
-
For Windows/Linux: Follow the installer instructions
-
Verify installation: Open terminal and type:
psql --version
You should see a version number
Download from: https://git-scm.com/downloads
- Go to https://git-scm.com/downloads
- Download for your operating system
- Run the installer
- Verify installation: Open terminal and type:
You should see a version number
git --version
Download from: https://ollama.ai/download
-
Click your operating system:
- Mac: Download the .dmg file
- Windows: Download the .exe file
- Linux: Copy the installation command
-
For Mac users:
- Run the downloaded .dmg file
- Drag Ollama to Applications folder
- Open Ollama from Applications
-
For Windows users:
- Run the downloaded .exe file
- Follow the installer instructions
-
For Linux users:
curl -fsSL https://ollama.ai/install.sh | sh -
Start Ollama and download the model:
ollama serve
Then in a new terminal:
ollama pull llama3
-
Verify installation: Open terminal and type:
ollama --version
You should see a version number
-
Test the model:
ollama run llama3 "Hello, how are you?"You should see a response from the AI model
-
Install PostgreSQL and create a database:
Go to new terminal and input "psql -U postgres" Input password for Postgres used when downloading Postgres Once Postgres is open input: CREATE DATABASE lifesync; CREATE USER lifesync_user WITH PASSWORD 'your_password'; GRANT ALL PRIVILEGES ON DATABASE lifesync TO lifesync_user;
-
Update the DATABASE_URL in your
.envfile:DATABASE_URL=postgresql://lifesync_user:your_password@localhost:5432/lifesync -
The database tables will be created automatically when you start the backend server.
Create a .env file in the lifesync_ai_backend directory with these variables:
# Database Configuration
DATABASE_URL=postgresql://lifesync_user:your_password@localhost:5432/lifesync
# Security
SECRET_KEY=your-256-bit-secret-key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
# AI Services - Local Ollama with Llama3
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llama3
# Redis
REDIS_URL=redis://localhost:6379
# File Upload
UPLOAD_DIR=uploads
MAX_FILE_SIZE=10485760- Mac: Press
Cmd + Space, type "Terminal", press Enter - Windows: Press
Windows + R, type "cmd", press Enter - Linux: Press
Ctrl + Alt + T
Copy and paste this command:
cd /Users/allansevilla/Desktop/Personal\ Projects/LifesyncCopy and paste these commands:
cd life_sync_frontend
npm installWhat you should see:
added 230 packages, and audited 230 packages in 430ms
35 packages are looking for funding
found 0 vulnerabilities
Open a NEW terminal window and copy/paste:
cd /Users/allansevilla/Desktop/Personal\ Projects/Lifesync
cd lifesync_ai_backend
uv syncWhat you should see:
✓ Resolved 15 packages in 0.1s
✓ Downloaded 15 packages in 0.5s
✓ Installed 15 packages in 0.2s
In the backend terminal, copy and paste:
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000What you should see:
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: Started reloader process
INFO: Started server process
INFO: Waiting for application startup.
INFO: Application startup complete.
Keep this terminal window open! (Don't close it)
Open a NEW terminal window and copy/paste:
cd /Users/allansevilla/Desktop/Personal\ Projects/Lifesync
cd life_sync_frontend
npm run devWhat you should see:
> life_sync@0.0.0 dev
> vite
VITE v7.0.6 ready in 108 ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
Keep this terminal window open too! (Don't close it)
- Open your web browser (Chrome, Firefox, Safari, etc.)
- Go to:
http://localhost:5173 - You should see the LifeSync login page!
- Click "Sign up" on the login page
- Fill in your details:
- First Name: Your first name
- Last Name: Your last name
- Email: Your email address
- Password: Choose a password
- Click "Sign Up"
- You'll be redirected to the login page
- Enter your email and password
- Click "Sign In"
- You'll see the main app dashboard
- Click the "Voice" button (microphone icon)
- Allow microphone access when prompted
- Speak your task: "I need to buy groceries tomorrow"
- Click "Create Tasks"
- Your task will appear in the task list!
- Click the "New" button
- Fill in the task details
- Click "Save"
If you want to test that everything is working:
Open a THIRD terminal window and copy/paste:
cd /Users/allansevilla/Desktop/Personal\ Projects/Lifesync
pip install requestspython test_lifesync_app.pyWhat you should see:
🚀 LifeSync Application - Comprehensive Test Suite
🧪 Test 1: Backend Server Health Check
✅ Backend server is running and accessible
🧪 Test 2: Frontend Server Health Check
✅ Frontend server is running
...
✅ ALL TESTS PASSED!
Problem: You see zsh: command not found: node or similar
Solution:
- Node.js not installed: Go to https://nodejs.org/ and install it
- Python not installed: Go to https://www.python.org/downloads/ and install it
- uv not installed: Follow the uv installation steps above
- Wrong folder: Make sure you're in the right folder:
cd /Users/allansevilla/Desktop/Personal\ Projects/Lifesync/lifesync_ai_backend
Problem: You see "Port 5173 is in use" or "Port 8000 is in use" Solution:
- Close all terminal windows
- Start over from Step 1
- Or use different ports:
- Backend:
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8001 - Frontend will automatically find a free port
- Backend:
Problem: Browser shows "Cannot connect to localhost" Solution:
- Make sure both terminal windows are still running
- Check that you see the success messages in both terminals
- Try refreshing the browser page
- Make sure you're going to
http://localhost:5173(not https)
Problem: You see database connection errors Solution:
- Make sure PostgreSQL is installed and running
- Mac users:
brew services start postgresql - Windows users: Check if PostgreSQL service is running
- The app will create the database automatically
Problem: Voice input doesn't work Solution:
- Make sure you're using Chrome or Firefox
- Allow microphone access when prompted
- Check that your microphone is working in other apps
- Try refreshing the page
Problem: Voice input creates tasks but they're not processed by AI Solution:
- Make sure Ollama is installed and running:
ollama serve
- Check if the model is downloaded:
ollama list
- If no models listed, download the model:
ollama pull llama2
- Test the model works:
ollama run llama2 "Test message" - Make sure Ollama is running before starting the backend server
Problem: You see permission errors when installing Solution:
- Mac/Linux: Add
sudobefore commands:sudo npm install
- Windows: Run Command Prompt as Administrator
- Create an account and log in
- Add tasks manually with title, description, priority
- Use voice input to create tasks by speaking
- View all your tasks in a list
- Edit tasks by clicking the menu (three dots)
- Delete tasks you don't need
- Set due dates for your tasks
- Add priorities (1-5, where 5 is most important)
Try saying these:
- "I need to buy groceries tomorrow"
- "Call the doctor on Friday"
- "30 minute workout this afternoon"
- "Finish the report by next week"
- "Don't forget about the dentist appointment"
When you're done:
- Go to each terminal window
- Press
Ctrl + C(orCmd + Con Mac) - Type
yand press Enter if asked - Close the terminal windows
If something doesn't work:
- Check all terminal windows are still running
- Refresh your browser page
- Try the troubleshooting steps above
- Make sure you're in the right folders when running commands
- Verify all software is installed using the version commands above
This app demonstrates:
- ✅ Full-stack development (Frontend + Backend)
- ✅ Modern web technologies (React, FastAPI, Python)
- ✅ AI integration (Voice input with conversation analysis)
- ✅ User authentication (Secure login system)
- ✅ Database integration (Task storage and retrieval)
- ✅ Professional testing (Comprehensive test suite)
- ✅ Real-world features (Task management, voice input)
Perfect for showing off your programming skills! 🚀
- Node.js: https://nodejs.org/
- Python: https://www.python.org/downloads/
- uv: https://docs.astral.sh/uv/getting-started/installation/
- PostgreSQL: https://www.postgresql.org/download/
- Git: https://git-scm.com/downloads
- Ollama: https://ollama.ai/download
- Chrome: https://www.google.com/chrome/
- Firefox: https://www.mozilla.org/firefox/