An AI-powered application for generating and scheduling engaging LinkedIn posts. Built with React, TypeScript, and powered by Google's Gemini AI.
- AI Content Generation - Generate professional LinkedIn posts using Gemini AI
- Multiple Content Types - Create text posts, image posts, and carousel/document posts
- Smart Research - AI researches topics and best practices before generating content
- Content Calendar - Schedule and manage your posts with an intuitive calendar view
- AI Planner - Plan multiple posts at once with intelligent scheduling
- Batch Generation - Generate multiple post variations simultaneously
- Profile Customization - Configure your brand voice, target audience, and content preferences
- Dark/Light Mode - Full theme support for comfortable viewing
- LinkedIn Integration - Direct posting to LinkedIn via OAuth
- Frontend: React 18, TypeScript, Tailwind CSS
- AI: Google Gemini API
- Build: Vite
- Testing: Playwright (E2E)
- Backend: Express.js (OAuth proxy server)
-
Clone the repository
git clone https://github.com/AgriciDaniel/linkedin-content-creator.git cd linkedin-content-creator -
Install dependencies
npm install
-
Configure environment variables
Copy
.env.exampleto.envand fill in your API keys:cp .env.example .env
-
Required API Keys
Service Required Purpose Get it from Gemini API Yes AI content generation Google AI Studio LinkedIn OAuth Yes Post to LinkedIn LinkedIn Developers Firecrawl API Optional Web research Firecrawl
Add your Gemini API key in the app's Settings panel, or set it in .env.local:
GEMINI_API_KEY=your_gemini_api_key
- Create an app at LinkedIn Developers
- Add these OAuth 2.0 redirect URLs:
http://localhost:5000(main app)http://localhost:5001(OAuth proxy server)
- Request the following permissions:
openidprofilew_member_social
- Copy your Client ID and Client Secret to
.env
# Start the development server
npm run dev
# Start with OAuth proxy server (for LinkedIn posting)
npm run dev:fullnpm run build
npm run preview# Run all E2E tests
npm run test:e2e
# Run tests with UI
npx playwright test --headed
# Run specific test file
npx playwright test e2e/app.spec.ts├── components/ # React components
├── services/ # API and business logic services
├── e2e/ # Playwright E2E tests
├── server/ # OAuth proxy server
├── public/ # Static assets
└── types/ # TypeScript type definitions
The app includes comprehensive E2E tests:
- 100 integration tests covering UI, storage, calendar, and scheduling
- 3 live generation tests for real API testing (requires API keys)
App created by Agrici Daniel
Join our community for tips, updates, and support:
MIT License - see LICENSE for details.
Built by Agrici Daniel - AI Workflow Architect.
- Blog - Deep dives on AI marketing automation
- AI Marketing Hub - Free community, 2,800+ members
- YouTube - Tutorials and demos
- All open-source tools
