indigo-blog

byHemen Ashodia

build an Ai blog website

LandingLoginArticlesUsersBlogSettingsTopicsDashboardArticle
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

System Requirements Document (SRD)

Project Name: indigo-blog

1. Introduction

The indigo-blog project is an AI-powered blog generation and publishing tool designed to streamline content creation for users in India and beyond. This system leverages advanced AI models and databases to generate unique, high-quality articles based on user-defined topics and sources. The tool ensures efficient content management, deduplication, and publishing, while offering users control over rate limits and intervals for blog generation.

This document outlines the system requirements for indigo-blog, ensuring clarity and alignment with the vision of Hemen Ashodia.

2. System Overview

The indigo-blog system is a web-based application that automates the process of blog creation and publishing. It integrates AI models, databases, and user-defined configurations to deliver a seamless experience. Key features include:

  • Topic and source management.
  • AI-driven article generation and image creation.
  • Deduplication using WeaviateDB.
  • Publishing directly on the platform.
  • User-controlled rate limits and intervals for blog generation.

The system is designed to cater to users in India, with locale-specific defaults such as IST timezone and INR currency for any monetization features.

Page 2 of 5

3. Functional Requirements

  • As User I should be able to add a list of topics to write about.
  • As User I should be able to add a list of sources for each topic.
  • As System I should search for those topics on the provided sources.
  • As System I should generate a new article story based on the search results.
  • As System I should first write a summary of the article and check in WeaviateDB to deduplicate against existing articles.
  • As System I should write the full article if no duplicate is found in WeaviateDB.
  • As System I should generate an image for the article using AI tools.
  • As System I should publish the article on the platform.
  • As System I should save the article in WeaviateDB for future deduplication.
  • As User I should be able to set rate limits on how many blogs can be generated.
  • As User I should be able to select intervals for how frequently the system checks for new topics.

4. User Personas

1. Admin

  • Manages system configurations and user accounts.
  • Monitors system performance and ensures compliance with rate limits.
  • Has access to all articles and logs for auditing purposes.

2. User

  • Adds topics and sources for blog generation.
  • Configures rate limits and intervals for blog generation.
  • Views, edits, and publishes generated articles.

3. Guest

  • Browses published articles.
  • Cannot access article generation or management features.
Page 3 of 5

5. Visuals Colors and Theme

The indigo-blog platform will feature a sleek, modern design inspired by the dark mode aesthetic of VS Code. The following color palette will be used:

  • Primary Color: Black (#000000) β€” Represents sophistication and focus.
  • Secondary Color: White (#FFFFFF) β€” Ensures readability and contrast.
  • Accent Color: Electric Blue (#007ACC) β€” Adds vibrancy and highlights key elements.
  • Background Color: Dark Gray (#1E1E1E) β€” Provides a neutral backdrop for content.

Typography:

  • Headings: Sans-serif font (e.g., Roboto, bold).
  • Body Text: Monospace font (e.g., Fira Code, regular).

6. Signature Design Concept

AI-Driven Dark Mode Command Center

The homepage of indigo-blog will feature an immersive AI-driven command center that mirrors the aesthetic of a developer's workspace, creating a unique and engaging experience for users.

Key Features:

  • Interactive Terminal Interface: The homepage will resemble a live terminal, where users can interact with the system by typing commands (e.g., "Generate Article on AI Trends"). The terminal will display real-time feedback as the system processes the request.
  • Dynamic Code-Like Animations: As articles are generated, the screen will display code snippets scrolling vertically, mimicking the process of AI writing the article.
  • Live Image Generation Preview: A side panel will showcase the AI's image creation process, with brush strokes and layers appearing dynamically.
  • Micro-Interactions: Hovering over buttons or links will trigger subtle animations, such as glowing effects or text transformations.
  • Publishing Animation: Upon publishing an article, the homepage will display a celebratory animation with electric blue sparks and a "Published Successfully!" message in the terminal.

This design concept ensures the homepage is not only functional but also visually captivating, leaving users with a memorable first impression of the platform.

7. Non-Functional Requirements

  • Performance: The system should support up to 10,000 users concurrently without degradation in performance.
  • Scalability: The platform must be scalable to accommodate increased user activity and data storage needs.
  • Security: Implement robust authentication and authorization mechanisms to protect user data.
  • Availability: Ensure 99.9% uptime with minimal downtime for maintenance.
  • Localization: Default settings tailored for Indian users, including IST timezone and INR currency.

8. Tech Stack

Page 4 of 5

Frontend

  • React for Web

Backend

  • Python
  • FastAPI

Database

  • RDBMS: MySQL (with Alembic for migrations)
  • VectorDB: WeaviateDB

AI Models

  • GPT 5.2 for user-friendly response generation.
  • Google Nano Banana for image generation.

AI Tools

  • Litellm for LLM routing.
  • Langchain for AI workflow management.

Local Orchestration

  • Docker
  • docker-compose

Server-Side Orchestration

  • Kubernetes

9. Assumptions and Constraints

Assumptions

  • Users will primarily access the platform via web browsers.
  • The system will operate in the IST timezone.
  • Users will provide valid sources for topic searches.
Page 5 of 5

Constraints

  • The system must comply with data protection regulations in India.
  • Rate limits and intervals must be configurable within predefined ranges to prevent system overload.

10. Glossary

  • AI: Artificial Intelligence.
  • WeaviateDB: A vector database used for deduplication and storing articles.
  • Rate Limit: The maximum number of blogs the system can generate within a specified timeframe.
  • Interval: The frequency at which the system checks for new topics.
  • RDBMS: Relational Database Management System.
  • VectorDB: A database optimized for handling vector data.

This document ensures the indigo-blog project aligns with Hemen Ashodia's vision and delivers a robust, user-friendly platform for AI-powered blog generation and publishing.

Landing design preview
Landing: View Platform
Login: Sign In
Dashboard: View Stats
Dashboard: Monitor Logs
Settings: Configure Rate Limits
Users: Manage Accounts
Articles: Audit Content