An intelligent full-stack web application that generates, manages, and edits code using AI. Built with React, Express.js, TypeScript, and Replicate API.
- AI-Powered Code Generation: Use natural language prompts to generate and modify code
- Multi-Language Support: Create projects in HTML, CSS, JavaScript, TypeScript, Python, Node.js and more
- Live Code Editor: Monaco Editor with syntax highlighting and code completion
- File Management: Create, edit, delete, and organize project files
- Project Templates: Pre-built templates for quick project initialization
- File Uploads: Upload and manage project assets
- Version History: Track file changes with version history
- Drag & Drop: Easy file and asset management with drag-and-drop support
- Real-Time Preview: See your changes in real-time
- React 18 with TypeScript
- Vite for fast development and building
- Tailwind CSS for styling
- shadcn/ui component library
- Monaco Editor for code editing
- React Resizable Panels for layout management
- TanStack React Query for data fetching
- Wouter for routing
- Express.js with TypeScript
- PostgreSQL (Neon serverless) for data persistence
- Drizzle ORM for database operations
- Replicate API for Claude AI model access
- Node.js 18+
- npm or yarn
- PostgreSQL database (or Neon serverless)
-
Clone the repository
git clone https://github.com/sheikhtamimlover/Personal_CodingAI.git cd Personal_CodingAI -
Install dependencies
npm install
-
Configure environment variables
- Create a
.envfile in the root directory with:
DATABASE_URL=your_postgres_connection_string - Create a
-
Configure API token
- Update
config.jsonwith your Replicate API token:
{ "replicate": { "apiToken": "your_replicate_api_token" }, "server": { "port": 5000, "host": "0.0.0.0" } } - Update
-
Initialize database
npm run db:push
-
Start the development server
npm run dev
The application will start at http://localhost:5000
- Click "New Project" on the home page
- Enter a project name and select a template (optional)
- Start building your project
- Open a project
- Type your request in the chat panel
- The AI will generate or modify code based on your prompt
- Review changes and apply them
- Create File: Use the file explorer to add new files
- Edit File: Click on any file in the explorer to edit it
- Delete File: Right-click on a file and select delete (or use the delete button)
- Download Project: Download all project files as JSON
- Browse available templates when creating a project
- Templates provide starter code for common project types
.
├── client/ # React frontend
│ └── src/
│ ├── pages/ # Page components
│ ├── components/ # Reusable UI components
│ ├── lib/ # Utilities and helpers
│ └── App.tsx # Main app component
├── server/ # Express backend
│ ├── routes.ts # API route handlers
│ ├── storage.ts # Database abstraction layer
│ └── db.ts # Database connection
├── shared/ # Shared types and schemas
│ ├── schema.ts # Data models
│ └── routes.ts # API endpoint definitions
├── config.json # Configuration file
└── package.json # Dependencies
GET /api/projects- List all projectsPOST /api/projects- Create a new projectGET /api/projects/:id- Get project detailsDELETE /api/projects/:id- Delete a project
POST /api/projects/:projectId/files- Create a filePUT /api/files/:id- Update file contentDELETE /api/files/:id- Delete a fileGET /api/files/:fileId/versions- Get file version history
POST /api/projects/:projectId/chat- Send chat message for AI code generation
GET /api/templates- List available templatesPOST /api/templates- Create a new templateDELETE /api/templates/:id- Delete a templatePOST /api/projects/:projectId/use-template/:templateId- Use a template
POST /api/projects/:projectId/uploads- Upload a fileGET /api/projects/:projectId/uploads- List uploadsDELETE /api/uploads/:id- Delete an upload
The application uses config.json for configuration:
{
"replicate": {
"apiToken": "your_api_token_here"
},
"server": {
"port": 5000,
"host": "0.0.0.0"
}
}Important: Never commit config.json with your API token to version control. Use environment variables in production.
DATABASE_URL- PostgreSQL connection string (required)VITE_API_URL- Frontend API base URL (defaults to /)
Contributions are welcome! Please follow these guidelines:
- Create a feature branch from
main - Make your changes with clear commit messages
- Submit a pull request with a description of your changes
For questions, issues, or project inquiries:
Author: Sheikh Tamim
Instagram: @sheikh.tamim_lover
Email: tamimsheikh142@gmail.com
Website: Available upon request
Feel free to reach out for:
- Bug reports and feature requests
- Project collaboration opportunities
- Technical consulting and custom development
MIT License - feel free to use this project for personal and commercial purposes.
- Replicate API for Claude AI model access
- shadcn/ui for beautiful UI components
- All open-source contributors and libraries that made this project possible
Built with for developers, by developers. Happy coding!

