A React-based chat interface for Heroku's Managed Inference and Agents service.
- Modern React 18 application with TypeScript
- Heroku-themed UI with purple accents
- Real-time chat interface
- React Router v7 for navigation
- Fastify server for production deployment
- Fully configured for Heroku deployment
.
├── app.json # Heroku application configuration
├── client/ # React frontend application
│ ├── src/ # Source code
│ └── dist/ # Build output
└── server/ # Fastify server for serving the React app
├── src/ # Server source code
└── dist/ # Server build output
- Node.js 22 or later
- pnpm 10 or later
- Heroku CLI (for deployment)
-
Install dependencies:
# Install all dependencies using pnpm workspaces pnpm install
-
Set up environment variables:
# Copy the example env file cp .env.example .env # Edit .env with your configuration
-
Start the development server:
# Start both client and server in development mode pnpm dev
The application will be available at
http://localhost:3000
-
Build all packages:
pnpm build
-
Start the production server:
pnpm start
-
Install the Heroku CLI AI plugin
heroku plugins:install @heroku/plugin-ai
-
Create a new Heroku app:
heroku create your-app-name
-
Provision the Heroku Managed Inference and Agents models
heroku addons:create heroku-inference:claude-3-7-sonnet --as inference_3_7 heroku addons:create heroku-inference:claude-3-5-sonnet-latest --as inference_3_5
-
Deploy to Heroku:
git push heroku main
- Fork or clone this repository
- Connect your GitHub repository to Heroku
- Enable automatic deploys or deploy manually from the Heroku Dashboard
pnpm dev
: Start development servers for both client and serverpnpm build
: Build both client and server for productionpnpm start
: Start the production serverpnpm test
: Run testspnpm lint
: Run lintingpnpm format
: Format code using Prettier
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Apache 2.0