ruby-bot

byHarry Potter

I want you to act as a senior full-stack software engineer and UX designer. I work in an office where I receive customer application forms. My job is to read each form manually and copy specific information into another software. This is repetitive and takes a lot of time. I want you to build a Windows desktop application that automates this process. ## Workflow 1. The application should allow me to upload up to 4 images of the same form. 2. The images may be front, back, or close-up photos. 3. The application should combine the information from all uploaded images. 4. It should extract the required fields accurately using OCR. 5. It should display the extracted data in editable text boxes. 6. I should be able to review the information and simply copy and paste it into my office software. ## Important I will provide screenshots of the software where I manually enter data. Study those screenshots carefully and match the field order exactly. I will also provide sample form images. Do not guess field names. Extract only the information that actually exists on the form. ## OCR Requirements The OCR should be highly accurate. It should handle: * Handwritten text if possible. * Printed text. * Urdu and English text. * Slightly blurry images. * Rotated images. * Different lighting conditions. Automatically rotate and enhance images before OCR. ## User Interface Create a clean modern UI. Features: * Upload up to 4 images. * Drag and drop support. * Image preview. * Remove or replace an image. * Extract Data button. * Copy All button. * Copy button beside every field. * Clear button. * Dark mode. * Progress indicator while processing. ## Output Display every extracted field in the same order as the office software. Example: Customer Name: Address: Phone Number: CNIC: Guarantor Name: Guarantor Address: Guarantor Phone Number: (The actual field list will come from my screenshots.) ## Technology Recommend the best technology stack. Prefer: * Python * PySide6 or PyQt6 * PaddleOCR, EasyOCR, Tesseract, or another OCR engine if better. * Local processing without requiring internet if possible. If AI vision models can significantly improve accuracy, explain how to integrate them as an optional feature. ## Code Quality Write clean, modular, production-quality code. Use proper project structure. Include: * Error handling * Logging * Image preprocessing * OCR module * Data extraction module * GUI module * Settings module Generate complete code for every file. Do not skip any implementation. If the project is too large for one response, continue file by file until the entire application is complete.

HomeSettings
Home

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

ruby-bot System Requirements Document

Introduction

This document outlines the system requirements for the "ruby-bot" project, a Windows desktop application designed to automate the process of extracting information from customer application forms using OCR technology.

System Overview

The ruby-bot application aims to streamline the manual process of reading and transferring data from customer application forms into office software. By leveraging OCR technology, the application will accurately extract and display data from images of forms, allowing for easy review and transfer.

Page 2 of 4

Functional Requirements

  • As a User, I should be able to upload up to 4 images of the same form.
  • As a User, I should be able to upload images that may be front, back, or close-up photos.
  • As a User, I should be able to have the application combine information from all uploaded images.
  • As a User, I should be able to have the application extract required fields accurately using OCR.
  • As a User, I should be able to see extracted data in editable text boxes.
  • As a User, I should be able to review the information and copy it into my office software.
  • As a User, I should be able to upload images via drag and drop.
  • As a User, I should be able to preview uploaded images.
  • As a User, I should be able to remove or replace an image.
  • As a User, I should be able to click an "Extract Data" button to process images.
  • As a User, I should be able to use a "Copy All" button to copy all extracted data.
  • As a User, I should be able to use a "Copy" button beside every field to copy individual data.
  • As a User, I should be able to clear all fields with a "Clear" button.
  • As a User, I should be able to switch to dark mode for the UI.
  • As a User, I should see a progress indicator while images are being processed.

User Personas

  • User: An office worker responsible for processing customer application forms.

Core User Flows

  • User uploads images -> Application processes images -> OCR extracts data -> User reviews data -> User copies data to office software.
Page 3 of 4

Visuals Colors and Theme

  • primary: #4A90E2 (blue)
  • primary_light: #8AB4F8 (light blue)
  • secondary: #F5A623 (orange)
  • accent: #50E3C2 (teal)
  • highlight: #F8E71C (yellow)
  • bg: #FFFFFF (white)
  • surface: rgba(74, 144, 226, 0.8)
  • text: #333333 (dark gray)
  • text_muted: #888888 (light gray)
  • border: rgba(0, 0, 0, 0.1)

Signature Design Concept

The homepage will feature an interactive "form scanner" animation. Users can drag and drop images into a virtual scanner, which will animate the scanning process with light beams and sound effects. The extracted data will appear in a dynamic, editable list below the scanner. This concept will use framer-motion for animations and gsap for scroll-triggered effects.

Interaction Model & Motion Direction

  • Interaction Model: Animated
  • The landing page will feature scroll-triggered reveals and hover transitions, providing a polished and engaging experience.
Page 4 of 4

Non-Functional Requirements

  • The application should operate without requiring an internet connection.
  • The OCR engine should handle various text types and conditions with high accuracy.
  • The application should be responsive and provide feedback during processing.

Tech Stack

  • Frontend: PySide6 or PyQt6 for the desktop application UI.
  • Backend: Python for core logic and processing.
  • OCR Engine: PaddleOCR, EasyOCR, or Tesseract.
  • AI Models: Optional integration for enhanced accuracy.

Assumptions and Constraints

  • The application will be used in a Windows environment.
  • Users will provide images in a format compatible with the OCR engine.
  • The application will not require internet access for core functionality.

Glossary

  • OCR: Optical Character Recognition, a technology used to convert different types of documents, such as scanned paper documents, PDFs, or images captured by a digital camera, into editable and searchable data.
  • UI: User Interface, the space where interactions between humans and machines occur.
Home: Upload Images
Home: Drag Drop Images
Home: Preview Images
Home: Remove Replace Image
Home: Click Extract Data
Home: View Progress Indicator
Home: Review Extracted Fields
Home: Edit Field Text
Home: Copy Field
Home: Copy All Fields
Home: Clear All Fields
Settings: Toggle Dark Mode