Sandbox
@AgriciDaniel/linkedin-content-creator

LinkedIn content creator with Gemini AI and OAuth

This repository is a React and TypeScript app for drafting, scheduling, and posting LinkedIn content. It uses Gemini AI for generation and research, a calendar for planning, and LinkedIn OAuth for direct posting.

91 stars29 forksTypeScriptUpdated 5mo ago
Who it's for

Builders who want an AI app for LinkedIn posts, planning, and scheduling.

What it delivers

You can draft and schedule LinkedIn content in one place instead of managing posts manually.

What it does

AI content generation

Generates LinkedIn posts with Gemini AI.

Multiple post formats

Creates text posts, image posts, and carousel or document posts.

Smart research

Researches topics and best practices before writing.

Content calendar

Lets you schedule and manage posts in a calendar view.

Batch generation

Creates multiple post variations at once.

LinkedIn posting

Posts to LinkedIn through OAuth integration.

How to get it

  1. 1Clone the repository
    git clone https://github.com/AgriciDaniel/linkedin-content-creator.git
    cd linkedin-content-creator
  2. 2Install dependencies
    npm install
  3. 3Copy .env.example to .env and fill in your API keys
    cp .env.example .env
  4. 4Run
    # Start the development server
    npm run dev
    
    # Start with OAuth proxy server (for LinkedIn posting)
    npm run dev:full
  5. 5Run
    npm run build
    npm run preview
  6. 6Run
    # 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

README

LinkedIn Content Creator

An AI-powered application for generating and scheduling engaging LinkedIn posts. Built with React, TypeScript, and powered by Google's Gemini AI.

LinkedIn Content Creator

Features

  • 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

Tech Stack

  • Frontend: React 18, TypeScript, Tailwind CSS
  • AI: Google Gemini API
  • Build: Vite
  • Testing: Playwright (E2E)
  • Backend: Express.js (OAuth proxy server)

Installation

  1. Clone the repository

    git clone https://github.com/AgriciDaniel/linkedin-content-creator.git
    cd linkedin-content-creator
    
  2. Install dependencies

    npm install
    
  3. Configure environment variables

    Copy .env.example to .env and fill in your API keys:

    cp .env.example .env
    
  4. Required API Keys

    ServiceRequiredPurposeGet it from
    Gemini APIYesAI content generationGoogle AI Studio
    LinkedIn OAuthYesPost to LinkedInLinkedIn Developers
    Firecrawl APIOptionalWeb researchFirecrawl

Configuration

Gemini API Key

Add your Gemini API key in the app's Settings panel, or set it in .env.local:

GEMINI_API_KEY=your_gemini_api_key

LinkedIn OAuth Setup

  1. Create an app at LinkedIn Developers
  2. Add these OAuth 2.0 redirect URLs:
    • http://localhost:5000 (main app)
    • http://localhost:5001 (OAuth proxy server)
  3. Request the following permissions:
    • openid
    • profile
    • w_member_social
  4. Copy your Client ID and Client Secret to .env

Usage

Development

# Start the development server
npm run dev

# Start with OAuth proxy server (for LinkedIn posting)
npm run dev:full

Production Build

npm run build
npm run preview

Testing

# 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

Project Structure

├── components/        # React components
├── services/          # API and business logic services
├── e2e/              # Playwright E2E tests
├── server/           # OAuth proxy server
├── public/           # Static assets
└── types/            # TypeScript type definitions

Testing Coverage

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)

Attribution

App created by Agrici Daniel

Community

Join our community for tips, updates, and support:

AI Marketing Hub Pro

License

MIT License - see LICENSE for details.


Author

Built by Agrici Daniel - AI Workflow Architect.

Files in the repo

Repository payload31 top-level entries
  • .claude
  • .github
  • components
  • e2e
  • hooks
  • services
  • templates
  • types
  • .env.example
  • .gitignore
  • app-screenshot.png
  • App.tsx
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
  • index.html
  • index.tsx
  • LICENSE
  • LINKEDIN-AUTH-GUIDE.md
  • linkedin-auth-helper.js
  • metadata.json
  • OAUTH-SETUP.md
  • package-lock.json
  • package.json
  • playwright.config.ts
  • README.md
  • SECURITY.md
  • server.cjs
  • tsconfig.json
  • types.ts
  • vite-env.d.ts
  • vite.config.ts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More other

Orkas-AI/
Orkas

Open-source multi-agent AI desktop client — build and command your AI agent team through conversation. A commander LLM dispatches sub-agents in parallel or in series; agents self-evolve via reflection and skill crystallization. Local-first, BYO LLM keys (Claude · OpenAI · Gemini · DeepSeek · Kimi · GLM · Qwen). macOS / Windows / Linux.

1.9k
Natively-AI-assistant/
natively-cluely-ai-assistant

Natively — Free open-source AI meeting assistant, interview copilot, and note taker. The best alternative to Cluely, Otter, Granola, Final Round AI, Fireflies, and Interview Coder. Real-time transcription, AI meeting notes, lecture recording, local RAG, BYOK, and stealth mode. Runs locally. No subscriptions. No data breaches.

2.5k
delibae/
claude-prism

An offline-first scientific writing workspace powered by Claude. LaTeX + Python + 100+ scientific skills all running locally.

1.8k