swift-ai

byHemen Ashodia

build an AI blog app

DashboardTopicsSettingsSourcesArticlesArticle
Dashboard

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

System Requirements Document (SRD)

Project Name: swift-ai


1. Introduction

The swift-ai project is an AI-powered blog generation and publishing tool designed to streamline content creation for users. Developed for Hemen Ashodia in India, this system leverages cutting-edge AI technologies to generate unique articles, manage topics and sources, deduplicate content, and publish blogs efficiently. The tool is tailored to meet the needs of users who require automated, high-quality blog generation with customizable settings for rate limits and frequency of topic checks.

This document also includes a feature for selective re-run capability, enabling user-triggered regeneration of the System Requirements Document (SRD).


2. System Overview

The swift-ai system is a comprehensive AI-driven blogging platform that automates the process of generating, deduplicating, and publishing articles. It integrates advanced AI models, a vector database for deduplication, and a sleek user interface for managing topics, sources, and publishing settings. The system ensures high-quality, unique content creation while allowing users to control the rate and frequency of blog generation.

Key features include:

  • Topic and source management.
  • AI-powered article generation with summary creation.
  • Deduplication using WeaviateDB.
  • Image generation for articles.
  • Publishing articles directly within the app.
  • Rate limiting and frequency settings for blog generation.
  • Selective re-run capability for regenerating the SRD.
  • Single article page for detailed article viewing and management.
  • Fully responsive design across all pages and devices.

3. Functional Requirements

As User:

  • I should be able to manage a list of topics to write about.
  • I should be able to manage a list of sources for each topic.
  • I should be able to set rate limits on how many blogs can be generated.
  • I should be able to select intervals for how frequently the system checks for new topics.
  • I should be able to trigger a selective re-run to regenerate the System Requirements Document (SRD).
  • I should be able to view a single article with all its details, including metadata, summary, and deduplication history.

As System:

  • It should search for topics on the defined sources.
  • It should generate a new article story based on the search results.
  • It should write a summary of the article and check in WeaviateDB for existing blog articles to deduplicate.
  • If no duplicate is found, it should write the full article, generate an image for it, and publish it on the app.
  • It should save the article in WeaviateDB for future deduplication.
  • It should allow user-triggered selective re-run for regenerating the SRD.
  • It should provide a single article page for detailed viewing and management of individual articles.
  • All pages must be responsive across devices.

4. User Personas

Admin:

  • Responsible for managing system configurations, rate limits, and frequency settings.
  • Can view and manage all topics and sources.

User:

  • Can add, edit, or delete topics and sources.
  • Can set personal rate limits and frequency intervals for blog generation.
  • Can view, edit, and publish generated articles.
  • Can trigger selective re-run to regenerate the SRD.
  • Can view a single article with all its details, including metadata, summary, and deduplication history.

5. Visuals Colors and Theme

The swift-ai app will feature a detailed hacker theme with a backend white base, dark tones, and neon accents (avoiding green entirely). The theme will focus on a professional, immersive, and futuristic design.

Color Palette:

  • Primary Color: Black (#000000) — for the background, ensuring a professional dark mode experience.
  • Secondary Color: White (#FFFFFF) — for text and key elements, ensuring readability and contrast.
  • Accent Color: Neon Blue (#00BFFF) — for highlights, buttons, and interactive elements, adding a futuristic hacker-style vibe.
  • Background Color: Dark Gray (#1E1E1E) — for secondary sections, maintaining the dark mode aesthetic.
  • Text Color: Light Gray (#D4D4D4) — for non-primary text, ensuring clarity without overwhelming the user.

The theme will emphasize clean lines, a grid-based layout, and a minimalistic yet captivating interface.


6. Signature Design Concept

Interactive Hacker Workspace with Backend White Base

The homepage of swift-ai will simulate an interactive hacker workspace, immersing users in a dynamic and futuristic environment.

  • Animation: The homepage will feature a live "coding screen" effect, with lines of code scrolling in the background. The user interface elements will appear as if they are part of a developer's workspace, with subtle animations mimicking a real-time coding environment.
  • Transitions: Smooth fade-ins and slide-ins for content sections, mimicking terminal commands being executed.
  • Micro-Interactions: Hovering over buttons will trigger a ripple effect, and clicking will display a brief "command executed" animation.
  • Interactive Elements: The homepage will include a "command line" at the bottom, where users can type commands to navigate the app (e.g., "list topics" or "generate article").
  • User Experience: The design will make users feel like they are operating a high-tech AI system, offering a unique and engaging way to interact with the platform.

This design concept ensures the swift-ai app stands out as an innovative and visually captivating platform.


7. Example Pages

Articles Listing Page

  • Displays a list of generated articles with titles, summaries, and publication dates.
  • Includes filters for topics, sources, and publication status.
  • Allows users to edit or delete articles directly from the list.

Single Article Page

  • Displays the full content of a selected article, including:
    • Title
    • Featured Image
    • Full Article Text
    • Summary
    • Metadata (e.g., publication date, topic, source)
    • Deduplication History
    • Related Articles
  • Includes options to:
    • Edit the article.
    • Regenerate the article using AI.
    • Publish or unpublish the article.

8. Non-Functional Requirements

  • Performance: The system must process topic searches and article generation within 5 seconds per request.
  • Scalability: The system should support up to 10,000 topics and sources without performance degradation.
  • Reliability: The system should maintain 99.9% uptime.
  • Security: User data and generated articles must be encrypted using industry-standard protocols.
  • Localization: The system should support Indian locale defaults, including IST timezone and INR currency for any monetization features.
  • Responsiveness: All pages must be fully responsive across devices, including desktops, tablets, and smartphones.

9. Tech Stack

Frontend:

  • React for Web

Backend:

  • Python
  • FastAPI

Database:

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

AI Models:

  • GPT 5.2 for user-friendly responses
  • Claude 4.5 Opas for academic or coding work
  • Gemini 3 Pro for friendly responses
  • Google Nano Banana for image generation

AI Tools:

  • Litellm for LLM Routing
  • Langchain

Local Orchestration:

  • Docker
  • docker-compose

Server-Side Orchestration:

  • Kubernetes

10. Assumptions and Constraints

  • The system assumes users will provide valid topics and sources for blog generation.
  • The system is constrained to operate within the defined rate limits and frequency intervals set by users.
  • The system assumes WeaviateDB will have sufficient capacity for storing deduplication data.
  • The system requires internet connectivity for AI model operations and source searches.

11. Glossary

  • AI: Artificial Intelligence.
  • WeaviateDB: A vector database used for deduplication.
  • Rate Limit: The maximum number of blogs that can be generated within a given timeframe.
  • Frequency Interval: The time interval at which the system checks for new topics.
  • Deduplication: The process of ensuring no duplicate articles are generated.
  • Selective Re-run: A feature allowing users to regenerate the System Requirements Document (SRD) on demand.

This document outlines the complete requirements for the swift-ai project, ensuring clarity and alignment with Hemen Ashodia's vision. 🚀

Dashboard: View Stats
Topics: Manage Topics
Sources: Manage Sources
Settings: Configure Rate Limits
Settings: Set Frequency Intervals
Articles: View All Articles