An AI-powered platform for automotive lead engagement, qualification, and appointment booking.
- Lead intake and management
- AI-powered lead qualification and response
- Appointment scheduling
- Admin dashboard with analytics
- Cold lead re-engagement
- SMS and email communication
- Frontend: React.js with TypeScript
- Backend: Node.js + Express
- Database: PostgreSQL
- AI Integration: OpenAI/Claude/LM Studio
- Messaging: Twilio (SMS) & SendGrid (Email)
dealership-accelerator/
├── client/ # React frontend
├── server/ # Node.js + Express backend
├── database/ # Database migrations and seeds
└── docs/ # Additional documentation
- Node.js >= 18
- PostgreSQL >= 14
- npm or yarn
- Docker Desktop
- ngrok
- LM Studio (for local AI model)
-
Clone the repository
-
Set up environment variables (see
.env.examplefiles) -
Start Docker Desktop and run the project containers:
# From project root docker-compose up -d -
Install dependencies:
# Install frontend dependencies cd client npm install # Install backend dependencies cd ../server npm install
-
Start ngrok for Twilio webhook:
# Start ngrok on port 8000 (or your backend port) ngrok http 8000 -
Configure Twilio webhook:
- Copy your ngrok URL (e.g., https://abc123.ngrok.io)
- Go to Twilio Console > Phone Numbers > Your Number
- Under "Messaging", set the webhook URL for when "A Message Comes In" to:
your-ngrok-url/api/ai/webhook/sms - Save the changes
-
Start LM Studio:
- Open LM Studio application
- Start the local server (default port: 1234)
- Load your preferred model (e.g., llama-2-7b-chat)
-
Start the development servers:
# Start frontend (from client directory) npm run dev # Start backend (from server directory) npm run dev
-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
-
Docker Setup:
- Ensure Docker Desktop is running before starting the project
- The docker-compose file includes PostgreSQL and other required services
- Monitor container logs through Docker Desktop for debugging
-
Twilio Webhook:
- Keep ngrok running to maintain the webhook URL
- If ngrok restarts, update the Twilio webhook URL with the new ngrok URL
- Test webhook connectivity through Twilio's console
-
LM Studio:
- Ensure LM Studio is running before starting the backend
- The AI service will fall back to simulated responses if LM Studio is unavailable
- Monitor LM Studio logs for any model loading or inference issues
See .env.example files in both client/ and server/ directories for required environment variables.
MIT