#!/bin/bash echo "Starting Gentle Momentum Reader..." # Kill any existing processes on these ports echo "Cleaning up existing processes..." lsof -ti:8000 | xargs kill -9 2>/dev/null || true lsof -ti:3000 | xargs kill -9 2>/dev/null || true # Start backend echo "Starting backend server..." cd backend uv run uvicorn main:app --reload --host 0.0.0.0 --port 8000 & BACKEND_PID=$! # Wait a moment for backend to start sleep 3 # Start frontend echo "Starting frontend development server..." cd ../frontend npm run dev & FRONTEND_PID=$! echo "" echo "🚀 Gentle Momentum Reader is starting up!" echo "" echo "Backend: http://localhost:8000" echo "Frontend: http://localhost:3000" echo "" echo "Press Ctrl+C to stop both servers" echo "" # Function to cleanup on exit cleanup() { echo "" echo "Shutting down servers..." kill $BACKEND_PID $FRONTEND_PID 2>/dev/null exit 0 } # Set trap to cleanup on exit trap cleanup SIGINT SIGTERM # Wait for both processes wait