Autowritey is a content generation assistant designed to help creators, engineers, and professionals produce high-quality content faster and easier while ensuring it sounds like them.
Important
This project is currently in Beta (V1) and is actively under development. Expect frequent updates and experimental features.
Creating content often feels like a trade-off between speed and authenticity. Most AI tools produce generic, "robot-sounding" text. Autowritey bridge this gap by using a multi-stage pipeline that prioritizes stylistic alignment and factual grounding.
Autowritey achieves a consistent voice through a specialized 11-stage pipeline:
- Style Profiling: The system loads a
style_profile.jsonthat defines your voice (e.g., "practitioner-engineer"), tone constraints (e.g., "no hype"), and vocabulary preferences. - Few-Shot Examples: It uses real examples of your previous writing to guide the model's stylistic nuances.
- Analysis & Fixing: Unlike simple "one-shot" generation, Autowritey generates a draft, analyzes it against your style profile, and then self-corrects violations.
- Tone Calibration: A final pass ensures the emotional resonance of the content matches your intended audience.
To run Autowritey locally, follow these steps:
- Python 3.10+
- A machine with a GPU (recommended) or enough RAM for local LLM execution.
- SerpAPI Key for web verification.
- Hugging Face Token (with access to Gemma models).
# Clone the repository
git clone https://github.com/AbdulrahmanElshafie/Blog-Generator-CLI.git autowritey
cd autowritey
# Install dependencies
pip install -r requirements.txtCreate a .env file in the root directory (use .env_example as a template):
SERPAPI_API_KEY=your_serpapi_key_here
HF_TOKEN=your_huggingface_token_hereUpdate data/style_examples.jsonl with your own writing samples and modify config/style_profile.json to define your desired voice.
Run the generator from your terminal:
python generate.py --topic "Your Topic" --notes "Bullet points of key ideas" [OPTIONS]--topic(Required): The main subject or title.--notes: Key points, outline, or raw thoughts.--audience: Target audience (default: "general").--search: Enable real-time web verification for factual claims.--platforms: Comma-separated list of social platforms (e.g., "LinkedIn,Facebook").--posts-per-platform: Number of variants per platform (default: 2).--translate-blog: Target language for blog translation (e.g., "Arabic").--translate-posts: Target language for social posts translation.
This project is licensed under the MIT License.
- Interface for easier style profile management.
- Support for more local and cloud-based models.
- Browser-based UI.
If you find Autowritey helpful, consider supporting its development!
Created by Abdulrahman Elshafie