There are several ways of editing your application.
Use Lovable
Simply visit the Lovable Project and start prompting.
Changes made via Lovable will be committed automatically to this repo.
Use your preferred IDE
If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.
The only requirement is having Node.js & npm installed - install with nvm
Follow these steps:
# Step 1: Clone the repository using the project's Git URL.
git clone <YOUR_GIT_URL>
# Step 2: Navigate to the project directory.
cd <YOUR_PROJECT_NAME>
# Step 3: Install the necessary dependencies.
npm i
# Step 4: Start the development server with auto-reloading and an instant preview.
npm run devEdit a file directly in GitHub
- Navigate to the desired file(s).
- Click the "Edit" button (pencil icon) at the top right of the file view.
- Make your changes and commit the changes.
Use GitHub Codespaces
- Navigate to the main page of your repository.
- Click on the "Code" button (green button) near the top right.
- Select the "Codespaces" tab.
- Click on "New codespace" to launch a new Codespace environment.
- Edit files directly within the Codespace and commit and push your changes once you're done.
This project is built with:
- Vite
- TypeScript
- React
- shadcn-ui
- Tailwind CSS
- Flask (Python backend)
- Upstash Redis
- Twilio Voice, ElevenLabs, Google Gemini APIs
You can run Explainable entirely on your machine with separate backend and frontend servers.
Requirements:
- Python 3.10+ and
pip
Setup:
cd backend
# (Optional but recommended) create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txtCreate a .env file in backend/ (or set environment variables another way) with the keys you received for the hackathon, for example:
GEMINI_API_KEY=...
ELEVENLABS_API_KEY=...
REDIS_URL=...
TWILIO_ACCOUNT_SID=...
TWILIO_AUTH_TOKEN=...
TWILIO_PHONE_NUMBER=...
FLASK_ENV=developmentThen start the backend (default is port 5000):
cd backend
python app.pyYou should now have the API available at http://localhost:5000 (check http://localhost:5000/health).
Requirements:
- Node.js 18+ and npm (or bun/pnpm if you prefer)
Setup:
cd .. # from backend back to project root, if needed
cd frontend # if your frontend lives in a different folder, otherwise stay in root
# Install dependencies
npm install
# Run the dev server
npm run devBy default Vite runs on http://localhost:5173.
Make sure the frontend knows how to reach your backend. In development, you can set VITE_API_URL in a .env file at the frontend root:
VITE_API_URL=http://localhost:5000Once both servers are running, open the frontend URL in your browser and you can test Explainable locally (including voice tutoring and, if configured, the Twilio phone integration pointing at your local or tunneled backend).
Simply open Lovable and click on Share -> Publish.
Yes, you can!
To connect a domain, navigate to Project > Settings > Domains and click Connect Domain.
Read more here: Setting up a custom domain
Run
Vercel Link: https://explainable-mu.vercel.app/