A web application that generates complete HTML/CSS/JavaScript applications from natural language prompts using the DeepSeek-V3 model. Built with React, TypeScript, and Vite.
- AI-Powered Generation: Describe what you want, get a working web application
- Live Preview: See your generated application rendered in real-time
- Iterative Refinement: Modify and improve your app through conversation
- One-Click Deploy: Deploy directly to Hugging Face Spaces
- Remix Support: Fork and modify existing deployed applications
- Multiple AI Providers: Support for various inference providers (Novita, SambaNova, Fireworks, etc.)
Frontend:
- React 18 with TypeScript
- Vite for build tooling
- TailwindCSS for styling
Backend:
- Node.js with Express
- Hugging Face Inference API
- Hugging Face Hub SDK for deployments
AI Model:
- DeepSeek-V3-0324
git clone [email protected]:floflo777/maquette-maker.git
cd maquette-maker
npm installCreate a .env file based on .env.example:
cp .env.example .envRequired environment variables:
| Variable | Description |
|---|---|
DEFAULT_HF_TOKEN |
Hugging Face API token with inference-api and write-repos scopes |
OAUTH_CLIENT_ID |
(Optional) HF OAuth client ID for user authentication |
OAUTH_CLIENT_SECRET |
(Optional) HF OAuth client secret |
REDIRECT_URI |
(Optional) OAuth callback URL |
Start the development server:
npm run devThe application will be available at http://localhost:5173.
Build for production:
npm run build
node server.jsOr use Docker:
docker build -t maquette-maker .
docker run -p 3000:3000 --env-file .env maquette-maker- Enter a description of the application you want to create
- The AI generates HTML/CSS/JavaScript code
- Preview the result in the live preview panel
- Refine by adding more instructions
- Deploy to Hugging Face Spaces when satisfied
| Endpoint | Method | Description |
|---|---|---|
/api/ask-ai |
POST | Generate or modify code from a prompt |
/api/deploy |
POST | Deploy the application to HF Spaces |
/api/remix/:user/:repo |
GET | Load an existing Space for remixing |
/api/@me |
GET | Get current authenticated user |
maquette-maker/
├── src/
│ ├── components/
│ │ ├── App.tsx # Main application component
│ │ ├── ask-ai/ # Prompt input component
│ │ ├── preview/ # Live preview iframe
│ │ ├── header/ # Navigation header
│ │ └── settings/ # Provider settings
│ └── main.tsx
├── utils/
│ ├── providers.js # AI provider configurations
│ ├── consts.ts # Default HTML template
│ └── types.ts # TypeScript definitions
├── middlewares/
├── server.js # Express backend
├── Dockerfile
└── vite.config.ts
MIT