Transform natural language into professional documents instantly using AI π Live Demo |
Ctrl+C Ctrl+V is an intelligent document generation platform that leverages Google's Gemini AI to convert natural language descriptions into fully structured documents. Whether you need forms, presentations, or spreadsheets, simply describe what you want in plain English, and our AI will generate professional-quality documents that seamlessly integrate with Google Workspace. This eliminates the tedious manual work of document creation and enables users to focus on content rather than formatting.
- Natural Language Processing: Describe documents in plain English
- Google Gemini Integration: Powered by Google's advanced Gemini 2.5 Flash model
- Context-Aware Editing: Make iterative improvements through conversation
- Intelligent Schema Creation: Generates valid JSON schemas for all document types
- Dynamic Forms: Interactive forms with validation, multiple field types, and custom layouts
- Professional Presentations: Themed slideshows with custom layouts, colors, and fonts
- Smart Spreadsheets: Multi-sheet workbooks with headers, sample data, and formatting
- Seamless Authentication: One-click Google OAuth login
- Direct Publishing: Automatically creates documents in Google Forms, Slides, and Sheets
- Real-time Collaboration: Edit and share through Google's native interfaces
- Cloud Synchronization: All documents saved directly to your Google Drive
- Intuitive Chat Interface: Conversational document creation
- Live Preview: See your documents as they're being generated
- Responsive Design: Works perfectly on desktop, tablet, and mobile
- Beautiful Animations: Smooth, engaging user interface with modern styling
- Secure Authentication: Google OAuth 2.0 integration
- Error Handling: Comprehensive error management and user feedback
- Rate Limiting: Built-in API rate limiting and quota management
- Scalable Architecture: Modular design for easy expansion
- Node.js (v16 or higher)
- npm or yarn package manager
- Google Cloud Project with enabled APIs
- Google Gemini API Key
git clone https://github.com/yourusername/ctrl-c-ctrl-v.git
cd ctrl-c-ctrl-vCreate a .env file in the root directory:
# Google Gemini AI
GEMINI_API_KEY=your_gemini_api_key_here
# Server Configuration
PORT=3001
NODE_ENV=development
FRONTEND_URL=http://localhost:5173
# Google OAuth (add to your frontend environment)
VITE_GOOGLE_CLIENT_ID=your_google_oauth_client_idFrontend:
npm installBackend:
cd server
npm install
cd ..- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the following APIs:
- Google Forms API
- Google Slides API
- Google Sheets API
- Google Drive API
- Create credentials (OAuth 2.0 Client ID)
- Add your domain to authorized origins
Development Mode (runs both frontend and backend):
npm run start-allOr run separately:
Backend:
npm run serverFrontend:
npm run devThe application will be available at:
- Frontend: http://localhost:5173
- Backend: http://localhost:3001
- Login: Sign in with your Google account
- Select Type: Choose "Form" from the sidebar
- Describe: Type something like:
Create a job application form with fields for name, email, phone, resume upload, position applying for, years of experience, and availability date - Generate: Watch as the AI creates your form
- Preview: Review the form in the preview panel
- Publish: Click "Create in Google Forms" to save to your Drive
- Select PPT: Choose presentation mode
- Add Theme: Specify a theme (professional, creative, academic, etc.)
- Describe Content:
Create a marketing strategy presentation with slides for market analysis, target audience, competitive landscape, marketing channels, budget breakdown, and success metrics - Customize: Ask for modifications like "make it more colorful" or "add more slides about social media"
- Export: Generate the presentation in Google Slides
- Choose Spreadsheet: Select the spreadsheet option
- Describe Structure:
Create a budget tracker with monthly expenses, income sources, savings goals, and a summary dashboard with charts - Refine: Request changes like "add more expense categories" or "include a yearly summary"
- Create: Export to Google Sheets with all formulas and formatting
- Iterative Improvement: Make changes by describing what you want to modify
- Context Preservation: The AI remembers your previous requests
- Version Control: Each edit builds upon the previous version
- React 19 - Modern UI framework with latest features
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework for styling
- React Router DOM - Client-side routing
- React JSON Schema Form - Dynamic form generation
- Google OAuth - Secure authentication
- Axios - HTTP client for API requests
- Lucide React - Beautiful icon library
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- Google Generative AI SDK - Gemini AI integration
- CORS - Cross-origin resource sharing
- Helmet - Security middleware
- Morgan - HTTP request logger
- dotenv - Environment variable management
- Google Gemini 2.5 Flash - Advanced language model
- Google Forms API - Form creation and management
- Google Slides API - Presentation generation
- Google Sheets API - Spreadsheet creation
- Google OAuth 2.0 - User authentication
- Google Drive API - File storage and management
- ESLint - Code linting and formatting
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixing
- Concurrently - Run multiple commands simultaneously
- Nodemon - Development server auto-restart
We welcome contributions from the community! Here's how you can help improve Ctrl+C Ctrl+V:
- Fork the repository
- Clone your fork locally
- Create a new branch for your feature or fix
- Install dependencies and set up your development environment
- Branch Naming: Use descriptive branch names (
feature/ai-improvements,fix/auth-bug) - Code Style: Follow the existing code style and run ESLint before committing
- Testing: Test your changes thoroughly with different document types
- Documentation: Update documentation for any new features
- Commit Messages: Write clear, descriptive commit messages
- Description: Provide a detailed description of your changes
- Testing: Include information about how you tested your changes
- Screenshots: Include screenshots for UI changes
- AI Prompt Engineering: Improve prompt templates for better generation
- UI/UX Enhancements: Design improvements and new features
- API Integrations: Add support for more document types or services
- Performance Optimization: Speed improvements and caching
- Documentation: Help improve guides and examples
- Bug Fixes: Fix issues and improve error handling
- Be respectful and inclusive
- Provide constructive feedback
- Help others learn and grow
- Follow best practices for open source development
This project is licensed under the MIT License - see the details below:
MIT License
Copyright (c) 2024 Ctrl+C Ctrl+V
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- π Live Demo: [Coming Soon]
- π Documentation: Wiki
- π Issues: Bug Reports
- π¬ Discussions: Community Forum
- Google AI Team for the powerful Gemini API
- React Community for the excellent ecosystem
- Open Source Contributors who make projects like this possible
Made with β€οΈ by the Ctrl+C Ctrl+V Team
Transform your ideas into documents instantly!