Indigo Bot is a freelancers’ automation tool that helps users monitor their feed and automate the process of finding new job postings on Upwork, as well as applying for them utilising AI.​


Business Context

Functional Requirements:

  1. Integration with Upwork API: Ability to securely connect with Upwork to fetch job feeds based on predefined user preferences such as job category, skills, budget, and job type (hourly or fixed-price).
  2. Telegram Bot Integration: Smooth operation within the Telegram platform, allowing users to interact with the bot through commands and inline queries.
  3. User Authentication and Authorization: Secure mechanism for users to authenticate and link their Upwork and Telegram accounts with the bot, ensuring data privacy and security.
  4. Customizable Job Filters: Allow users to set and modify filters for job searches, including keywords, job category, experience level, client history, and budget range.
  5. Real-Time Job Alerts: Immediate notification service on Telegram for new job postings that match the user’s filters.
  6. AI-Generated Proposals: Capability to generate personalized and relevant job proposals using AI, based on the job description and user’s profile.
  7. SAAS system: Subscription system with recurring payments using Srtipe provider.
  8. Proposal Customization and Approval: Options for users to review, edit, and approve AI-generated proposals before submission.
  9. Automated Proposal Submission: (Optional) Feature to automatically submit approved proposals to corresponding job postings on Upwork.
  10. Feedback and Rating System: Collect user feedback on the bot’s performance and suggestions for improvement.

Non-Functional Requirements:

  1. Usability: Intuitive user interface and user experience, ensuring ease of use for diverse user groups, including those with minimal technical background.
  2. Reliability: High availability and minimal downtime, with robust error handling and recovery mechanisms.
  3. Performance: Quick response times for user commands and seamless processing of job feeds and proposal generation.
  4. Scalability: Ability to handle a growing number of users and data volume without degradation in performance.
  5. Security: Strong encryption for user data, secure authentication methods, and compliance with data protection regulations.
  6. Maintainability: Code and architecture designed for ease of maintenance, including clear documentation and modularity.
  7. Compatibility: Compatibility with various versions of Telegram and adaptability to potential changes in the Upwork API.
  8. Monitoring and Logging: Comprehensive logging of user interactions and system performance metrics for troubleshooting and optimization.