Skip to content

LucknowAI/sociomatic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sociomatic – Dev Community LinkedIn Co‑Pilot

Sociomatic is an AI‑powered LinkedIn content assistant for tech/dev communities.
It turns simple briefs (events, launches, updates) into ready‑to‑post LinkedIn content and organizes them in a lightweight schedule.

Tech Stack (Planned)

  • Backend: Python, FastAPI, SQLAlchemy/SQLModel, SQLite/PostgreSQL.
  • Frontend: React (Vite), TypeScript/JavaScript.
  • AI provider (initial): Google Gemini API (text‑only models), abstracted behind an internal AI client so we can swap models later.
  • Auth: Email + password (JWT).

Core Concepts (Data Model)

  • Idea

    • High‑level brief created by the community manager.
    • Example: “Rust Meetup – 25 Jan”, “API v2 Launch”, “Weekly Community Highlights”.
    • Fields: title, description, type, audience, link, tags.
  • PostDraft

    • A single LinkedIn‑ready post generated from an Idea and edited by a human.
    • Fields: ideaId, content, tone, scheduledAt, status.
  • Schedule

    • The date/time a PostDraft should be published or manually posted.
    • For v0 we support “manual posting” (copy & paste to LinkedIn).

Features (v0 – Weekend MVP, Concrete)

  • Idea creation

    • Form to capture event/launch/update details.
    • Required: title, description, type (event, launch, update, education).
  • AI generation with Gemini

    • Button: “Generate LinkedIn posts” on an Idea.
    • Backend calls Gemini API to generate 2–3 variants with:
      • A strong 2‑line hook.
      • Clear CTA.
      • 3–6 relevant hashtags.
  • Post editing & saving

    • Pick a variant, edit the text, see live character count.
    • Save as PostDraft with status = "draft" or status = "scheduled" and a scheduledAt datetime.
  • Schedule view

    • List of posts grouped by date (7‑day view).
    • Columns: time, truncated content, status (draft/scheduled/manual‑posted).
  • Manual posting helpers

    • Copy text button (copies content to clipboard).
    • Open LinkedIn button (opens configured LinkedIn page URL).
    • Mark as posted toggle to set status = "manual-posted".

Getting Started

Note: These steps describe the planned setup. The backend and frontend scaffolding will be created next.

Prerequisites

  • Python 3.10+
  • Node.js 18+
  • A database (SQLite for local dev is fine)
  • Google Gemini API key (e.g., GEMINI_API_KEY)

Backend Setup

cd backend
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
pip install -r requirements.txt

cp .env.example .env  # set DB URL and AI API key
uvicorn main:app --reload

Frontend Setup

cd frontend
npm install
cp .env.example .env  # set API base URL
npm run dev

Then open the frontend URL in your browser (e.g., http://localhost:5173).

Roadmap (High Level)

  • v0.1: LinkedIn API integration for automated posting.
  • v0.2: Multi‑workspace support & member invites.
  • v0.3: Advanced analytics & insights.
  • v0.4: Support for additional platforms (X, Instagram) and media (images, carousels, video).

License

TBD.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •