LinkedIn Post Generator with LLM
Desktop application using Ollama AI to create, edit and automatically publish articles to LinkedIn with a rich text editor.
Technologies utilisées
Fonctionnalités principales
Architecture modulaire
Système de plugins extensible pour une flexibilité maximale
Performance optimisée
Temps de chargement < 100ms grâce au lazy loading
API RESTful complète
Documentation OpenAPI et SDK disponibles
Tests automatisés
Couverture de code > 90% avec CI/CD intégré
#Overview
ArticleGen Pro is a desktop application that combines the power of local AI models with LinkedIn's publishing capabilities. Built with Python and PyQt5, it provides a comprehensive solution for content creators who want to leverage AI assistance while maintaining full control over their content.
#Key Features
#🤖 AI-Powered Content Generation
The application integrates with Ollama, a local AI model runner, providing:
- Content generation assistance without sending data to external servers
- Real-time AI suggestions and improvements
- Complete conversation history for iterative content refinement
- Support for various writing styles and target audiences
#✍️ Rich Text Editor
A full-featured text editor built with PyQt5:
- Complete formatting toolbar (bold, italic, underline, lists, etc.)
- Real-time preview of formatted content
- Markdown support for technical documentation
- Clean, distraction-free writing interface
#📊 Content Management
SQLite-based article management system:
- Create, edit, and delete articles
- Track publication status and dates
- Organize with keywords and metadata
- Search and filter functionality
#🚀 Direct LinkedIn Publishing
Seamless integration with LinkedIn:
- One-click publishing to your LinkedIn profile
- Automatic formatting conversion
- Publication tracking and history
- Draft and scheduled post support
#Technical Architecture
LinkedinPost/
├── main.py # Application entry point
├── models/ # Data models
│ ├── article.py # Article model
│ └── database.py # Database manager
├── ui/ # PyQt5 interface
│ ├── main_window.py # Main window
│ ├── article_editor.py # Article editor
│ └── rich_text_editor.py # Rich text editor
├── services/ # External services
│ ├── ollama_service.py # Ollama integration
│ └── linkedin_service.py # LinkedIn integration
└── utils/ # Utilities
└── markdown_utils.py # Markdown conversion
#Implementation Details
#Database Schema
The application uses a single articles
table with comprehensive metadata:
| Field | Description |
|-------|-------------|
| id
| Unique identifier |
| title
| Article title |
| content
| Rich text content |
| conversation
| AI conversation history |
| keywords
| SEO keywords |
| target_audience
| Intended readers |
| writing_style
| Tone and style |
| published
| Publication status |
| published_at
| Publication timestamp |
#AI Integration
The Ollama integration provides:
- Local model execution for privacy
- Customizable prompts based on metadata
- Context-aware content suggestions
- Support for multiple language models
#User Interface
Built with PyQt5's Fusion style for a modern, professional appearance:
- Responsive layout that adapts to content
- Intuitive toolbar with common actions
- Status indicators for AI and publication states
- Keyboard shortcuts for power users
#Use Cases
- Content Creators: Generate engaging LinkedIn posts with AI assistance
- Marketers: Maintain consistent brand voice across posts
- Professionals: Share expertise with well-formatted articles
- Developers: Technical content with code formatting support
#Future Enhancements
- Multi-platform support: Extend to other social networks
- Analytics integration: Track post performance
- Template system: Reusable content structures
- Collaboration features: Team content creation
- Advanced scheduling: Calendar-based publishing
#Getting Started
The application requires:
- Python 3.11+
- Ollama running locally
- LinkedIn account for publishing
Installation is straightforward with pip and the included requirements file. The application creates its database on first run and guides users through LinkedIn authentication.
Installation rapide
Via npm:
Via yarn:
Utilisation: