{"id":50492245,"url":"https://github.com/ALwrity/ALwrity","last_synced_at":"2026-06-18T20:00:43.736Z","repository":{"id":198851942,"uuid":"701627142","full_name":"ALwrity/ALwrity","owner":"ALwrity","description":"ALwrity - AI-first Digital Marketing Platform. AI Content Strategy and Planning, Multimodal content generation, Publishing, Analytics, AI SEO, Connect \u0026 Manage Social Accounts. Marketing OS - WIP","archived":false,"fork":false,"pushed_at":"2026-06-16T01:17:27.000Z","size":159290,"stargazers_count":1063,"open_issues_count":158,"forks_count":271,"subscribers_count":22,"default_branch":"main","last_synced_at":"2026-06-16T03:13:02.094Z","etag":null,"topics":["ai-agent","ai-content-generation","ai-content-marketing","ai-digital-marketing","ai-seo-tools","ai-social-media","automated-seo","content-marketing","marketing-automation","multimodal-content-generation","seo-automation"],"latest_commit_sha":null,"homepage":"https://alwrity.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ALwrity.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["AJaySi"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.alwrity.com/donate","https://www.buymeacoffee.com/alwrity"]}},"created_at":"2023-10-07T05:15:37.000Z","updated_at":"2026-06-16T01:17:31.000Z","dependencies_parsed_at":"2023-10-10T13:42:34.700Z","dependency_job_id":"03f4a5b4-6ad7-4323-9793-ac95ea81d02c","html_url":"https://github.com/ALwrity/ALwrity","commit_stats":null,"previous_names":["ajaysi/blog-gen","ajaysi/gpt-blog-gen","ajaysi/ai-blog-writer","ajaysi/alwrity","alwrity/alwrity"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/ALwrity/ALwrity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ALwrity%2FALwrity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ALwrity%2FALwrity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ALwrity%2FALwrity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ALwrity%2FALwrity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ALwrity","download_url":"https://codeload.github.com/ALwrity/ALwrity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ALwrity%2FALwrity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34505422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","ai-content-generation","ai-content-marketing","ai-digital-marketing","ai-seo-tools","ai-social-media","automated-seo","content-marketing","marketing-automation","multimodal-content-generation","seo-automation"],"created_at":"2026-06-02T04:00:23.003Z","updated_at":"2026-06-18T20:00:43.727Z","avatar_url":"https://github.com/ALwrity.png","language":"Python","funding_links":["https://github.com/sponsors/AJaySi","https://www.alwrity.com/donate","https://www.buymeacoffee.com/alwrity"],"categories":["Music \u0026 Audio"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🚀 ALwrity — AI-Powered Digital Marketing Platform\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.115+-green.svg)](https://fastapi.tiangolo.com/)\n[![React](https://img.shields.io/badge/React-18+-blue.svg)](https://react.dev/)\n[![Stars](https://img.shields.io/github/stars/AJaySi/AI-Writer?style=social)](https://github.com/AJaySi/AI-Writer/stargazers)\n\n**Core claim:\n ALwrity is a contextual content OS: it understands your brand, website, competitors, and channels, then uses that understanding to drive every story, video, podcast, and campaign, with memory and analytics in one place.**\n\n[🌐 Live Demo](https://www.alwrity.com) • [📚 Docs Site](https://ajaysi.github.io/ALwrity/) • [📖 Wiki](https://github.com/AJaySi/AI-Writer/wiki) • [💬 Discussions](https://github.com/AJaySi/AI-Writer/discussions) • [🐛 Issues](https://github.com/AJaySi/AI-Writer/issues)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://ajaysi.github.io/ALwrity/\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/AJaySi/AI-Writer/main/docs-site/docs/assests/hero-1.jpg\" alt=\"ALwrity dashboard overview\" width=\"30%\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://ajaysi.github.io/ALwrity/features/blog-writer/overview/\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/AJaySi/AI-Writer/main/docs-site/docs/assests/hero-2.png\" alt=\"Story Writer workflow\" width=\"30%\"/\u003e\u003c/a\u003e\n  \u003ca href=\"https://ajaysi.github.io/ALwrity/features/seo-dashboard/overview/\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/AJaySi/AI-Writer/main/docs-site/docs/assests/hero-3.png\" alt=\"SEO dashboard insights\" width=\"30%\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n### What ALwrity is\n- **Contextual content OS**: Ingests your website, competitors, and channels to build a reusable brand brain.\n- **Multi-surface by design**: Blogs, stories, YouTube, podcasts, and video all read from the same understanding.\n- **Agent-driven flows**: Orchestrated research, planning, writing, and optimization instead of one-off prompts.\n- **Production-ready**: JWT/OAuth2 auth, usage tracking, limits, monitoring, and cost awareness built-in.\n\n---\n\n### Why ALwrity exists\nALwrity exists for people who care more about **context** than prompts.\n\nMost tools either drown you in knobs or reset to a blank page every time.  \nWe wanted a system that:\n- Remembers what your brand stands for and who you’re speaking to.\n- Grounds content in real data (SEO, competitors, web) before it writes.\n- Reuses that understanding across every surface instead of duplicating effort.\n\n---\n\n### Why it matters for creators \u0026 marketers\n- **One brain, many surfaces**: The same insights power blog posts, stories, YouTube scripts, podcast outlines, and video scenes.\n- **Less tool-juggling**: Guided flows replace “copy data between 5 SaaS tools and a spreadsheet”.\n- **Safer, more factual content**: Grounding and citations reduce hallucinations and rewrites.\n- **On-brand by default**: Personas and brand voice settings keep outputs consistent across channels.\n- **Operational visibility**: Scheduler “tasks needing intervention”, alerts, and logs highlight issues before your audience does.\n\n---\n\n### What’s functional now\n- **AI Blog Writer (Phases)**: Research → Outline → Content → SEO → Publish, with guarded navigation and local persistence (`frontend/src/hooks/usePhaseNavigation.ts`).\n- **Story Writer**: Premise → Outline → Chapters → Export, with phase navigation (`frontend/src/hooks/useStoryWriterPhaseNavigation.ts`).\n- **YouTube Creator Studio**: Plan → scenes → avatar → render workflow for YouTube videos (`frontend/src/components/YouTubeCreator`).\n- **Podcast Maker / Test Persona**: Turn voice + avatar into short videos using the shared video pipeline.\n- **Video Studio**: Multi-module video creation, editing, and transformation (`frontend/src/components/VideoStudio`).\n- **SEO Dashboard**: Analysis, metadata, and Google Search Console insights (see docs under `docs-site/docs/features/seo-dashboard`).\n- **LinkedIn (Factual, Google‑Grounded)**: Real Google grounding + citations + quality metrics for posts/articles/carousels/scripts (see `frontend/docs/linkedin_factual_google_grounded_url_content.md`).\n- **Persona System**: Core personas and platform adaptations via APIs (`backend/api/persona.py`).\n- **Facebook Persona Service**: Gemini structured JSON for Facebook‑specific persona optimization (`backend/services/persona/facebook/facebook_persona_service.py`).\n- **Personalization \u0026 Brand Voice**: Validation and configuration of writing style, tone, structure (`backend/services/component_logic/personalization_logic.py`).\n\nSee details in the Wiki: [Docs Home](https://github.com/AJaySi/AI-Writer/wiki)\n\n---\n\n### Quick Start\n1) Clone \u0026 install\n\n```bash\ngit clone https://github.com/AJaySi/AI-Writer.git\ncd AI-Writer/backend \u0026\u0026 pip install -r requirements.txt\ncd ../frontend \u0026\u0026 npm install\n```\n\n2) Run locally\n\n```bash\n# Backend\ncd backend \u0026\u0026 python start_alwrity_backend.py\n# Frontend\ncd frontend \u0026\u0026 npm start\n```\n\n3) Open and create\n- Frontend: http://localhost:3000\n- API docs (local): http://localhost:8000/api/docs\n- Complete onboarding → generate content → publish\n\n---\n\n### Integrations \u0026 Security\n- **Integrations**: Google Search Console (SEO Dashboard), LinkedIn (factual/grounded content).\n- **AI Models**: OpenAI, Google Gemini/Imagen, Hugging Face, Anthropic, Mistral.\n- **Security**: JWT auth, OAuth2, rate limiting, monitoring/logging.\n- **Reliability**: Grounding + retrieval and citation tracking for factual generation.\n\n---\n\n### Tech Stack\n\n| Area | Technologies |\n| --- | --- |\n| Backend | FastAPI, Python 3.10+, SQLAlchemy |\n| Frontend | React 18+, TypeScript, Material‑UI, CopilotKit |\n| AI/Research | OpenAI, Gemini/Imagen, Hugging Face, Anthropic, Mistral; Exa, Tavily, Serper (auto provider selection: Gemini default, HF fallback) |\n| Data | SQLite (PostgreSQL‑ready) |\n| Integrations | Google Search Console, LinkedIn |\n| Ops | Loguru monitoring, rate limiting, JWT/OAuth2 |\n\n---\n\n### LLM Providers: Gemini \u0026 Hugging Face\n- **Auto‑selection**: The backend auto‑selects the provider based on `GPT_PROVIDER` and available keys.  \n  - Default: Gemini (if `GEMINI_API_KEY` present)  \n  - Fallback: Hugging Face (if `HF_TOKEN` present)\n- **Configure**:\n  - `GEMINI_API_KEY=...` (text + structured JSON; image via Imagen)\n  - `HF_TOKEN=...` (text via Inference API; image via supported HF models)\n  - Optional: `GPT_PROVIDER=gemini` or `GPT_PROVIDER=hf_response_api`\n- **Text generation**:\n  - Gemini: optimized for structured outputs and fast general generation\n  - HF: broad model access via the Inference Providers\n- **Image generation**:\n  - Gemini/Imagen and Hugging Face providers are supported with a unified interface\n\nFor module details, see `backend/services/llm_providers/README.md`.\n\n---\n\n### Documentation\n- Docs Site (MkDocs): https://ajaysi.github.io/ALwrity/\n- Blog Writer (phases and UI): `docs-site/docs/features/blog-writer/overview.md`\n- SEO Dashboard overview: `docs-site/docs/features/seo-dashboard/overview.md`\n- SEO Dashboard GSC integration: `docs-site/docs/features/seo-dashboard/gsc-integration.md`\n- LinkedIn factual, Google-grounded content: `frontend/docs/linkedin_factual_google_grounded_url_content.md`\n- Persona Development (docs-site): `docs-site/docs/features/content-strategy/personas.md`\n\nFor additional pages, browse the `docs-site/docs/` folder.\n\n---\n\n### Personas (Brief)\nALwrity generates a core writing persona from onboarding data, then adapts it per platform (e.g., Facebook, LinkedIn). Personas guide tone, structure, and content preferences across tools.\n\n- Core Persona \u0026 API: `backend/api/persona.py`\n- Facebook Persona Service (Gemini structured JSON): `backend/services/persona/facebook/facebook_persona_service.py`\n- Personalization/Brand Voice logic: `backend/services/component_logic/personalization_logic.py`\n- Docs (GitHub paths):\n  - Personas (docs-site): https://github.com/AJaySi/AI-Writer/blob/main/docs-site/docs/features/content-strategy/personas.md\n  - LinkedIn Grounded Content plan: https://github.com/AJaySi/AI-Writer/blob/main/frontend/docs/linkedin_factual_google_grounded_url_content.md\n\nAt a glance:\n- Data → Persona: Onboarding + website analysis → core persona\n- Platform adaptations: Platform-specific JSON with validations/optimizations\n- Usage: Informs tone, content length, structure, and platform best practices\n\n---\n\n### Community\n- **Docs \u0026 Wiki**: https://github.com/AJaySi/AI-Writer/wiki  \n- **Discussions**: https://github.com/AJaySi/AI-Writer/discussions  \n- **Issues**: https://github.com/AJaySi/AI-Writer/issues  \n- **Website**: https://www.alwrity.com\n\n---\n\n### License\nMIT — see [LICENSE](../LICENSE).\n\n\u003cdiv align=\"center\"\u003e\n\nMade with ❤️ by the ALwrity team\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FALwrity%2FALwrity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FALwrity%2FALwrity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FALwrity%2FALwrity/lists"}