A modern web application that generates and manages memes using AI. Built with Next.js, TypeScript, and Tailwind CSS.
This project was developed through an AI pair programming session using Claude (via Cursor), demonstrating the potential of AI-assisted development. The entire application - from initial setup to debugging and optimization - was created through natural language conversations with the AI agent, which helped:
- Design and implement the full-stack architecture
- Write and debug React components and API routes
- Set up the database schema and migrations
- Implement AI-powered meme generation
- Debug layout and functionality issues
- Create automated tests
- Generate comprehensive documentation (including this README!)
The development process showcases how AI can serve as an effective pair programming partner while maintaining high code quality and following best practices.
You can explore the complete development journey in the .specstory/history directory, which contains all AI pair programming conversations and code changes made during the development process. This provides a transparent look at how each feature was conceived, implemented, and refined through AI collaboration.
The entire application was built in approximately 5.5 hours of active development time across two days:
-
Initial Setup (~45m)
- Project creation
- Dependencies installation
- Basic file structure
- Environment setup
-
Core Features (~1h 30m)
- OpenAI integration
- Meme generation API
- Basic UI components
- Database schema setup
-
Voting System (~1h)
- API endpoints for voting
- Vote UI components
- Database integration
-
Trending Page (~1h)
- Page layout
- Infinite scroll implementation
- Data fetching optimization
-
Bug Fixes & Improvements (~1h 15m)
- Layout responsiveness
- Data fetching issues
- Performance optimization
- Error handling
- Frontend work: ~2.5 hours
- Backend work: ~2 hours
- DevOps/Setup: ~1 hour
Most time-intensive tasks were setting up AI meme generation (~1h), implementing infinite scroll (~45m), and debugging data fetching issues (~45m).
- Total lines of code: 827 across 10 files
- AI Communication: 195 messages totaling 3,094 words
- Development sessions: 4 (spanning 2 days)
- AI-powered meme generation
- Real-time meme voting system
- Trending memes page with infinite scroll
- Responsive design for all screen sizes
- Clean and modern UI
- Frontend: Next.js 14, React, TypeScript
- Styling: Tailwind CSS
- Database: Prisma with SQLite
- API: Next.js API Routes
- AI Integration: OpenAI
- Clone the repository:
git clone [your-repo-url]
cd vibecode- Install dependencies:
npm install- Set up environment variables:
- Copy
.env.exampleto.env - Add your OpenAI API key and other required variables
- Set up the database:
npx prisma migrate dev- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
Create a .env file with the following variables:
OPENAI_API_KEY=your_api_key_here
/src/app- Next.js app router pages and components/src/app/api- API routes for meme generation and management/prisma- Database schema and migrations/public- Static assets
- 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
This project is licensed under the MIT License - see the LICENSE file for details.


