system 2024

Rzult

Python, OpenCV, ONNX Runtime

Automated university result processing system with OCR-based CAPTCHA solving and a multithreaded concurrent pipeline processing 300+ results in seconds.


Overview

Rzult is an automated university result retrieval system designed to solve a persistent problem: universities publish student results behind CAPTCHA-protected portals, forcing students and parents to manually retrieve results one at a time. Rzult completely automates this process using computer vision and concurrent processing.

The Problem

University result portals typically:

  • Require CAPTCHAs: Manual verification to prevent automated access
  • No bulk export: Results can only be retrieved one student at a time
  • Slow manual process: Retrieving 300+ results takes hours or days
  • Authentication overhead: Login required for each session

Traditional approaches (Selenium, puppeteer) are too slow for bulk retrieval and fragile when UI changes.

Solution: Computer Vision + Multithreading

CAPTCHA Recognition

  • ONNX Runtime Models: Uses pre-trained neural networks for CAPTCHA OCR
  • 99%+ Accuracy: Trained specifically for university portal CAPTCHA formats
  • Low Resource Footprint: Runs efficiently on modest hardware
  • Fallback Handling: Manual review interface for ambiguous CAPTCHAs

Multithreaded Pipeline

  • Concurrent Sessions: Maintains multiple parallel browser sessions
  • Smart Rate Limiting: Respects server load with adaptive delays
  • Connection Pooling: Reuses HTTP connections for efficiency
  • Error Recovery: Automatic retry with exponential backoff

Technical Architecture

Input: CSV with student roll numbers

[Request Queue] → [Worker 1] ──→ [Result Parser]
                → [Worker 2] ──→ [Result Parser]
                → [Worker 3] ──→ [Result Parser]
                → [Worker N] ──→ [Result Parser]

Output: Structured database with grades

Technical Stack

  • Language: Python 3.9+
  • Web Scraping: BeautifulSoup for HTML parsing
  • CAPTCHA OCR: ONNX Runtime with pre-trained models
  • Computer Vision: OpenCV for image preprocessing
  • Concurrency: Python threading with thread-safe queues
  • Data Processing: Pandas for result organization
  • Storage: SQLite or PostgreSQL for result persistence

Results & Impact

  • Speed: 300+ results retrieved in 45 seconds (vs 8+ hours manual)
  • Reliability: 99%+ success rate on CAPTCHA solving
  • Scalability: Handles 1,000+ results with minimal server overhead
  • Accuracy: 100% result accuracy (no OCR errors on grades)

Real-World Usage

  • Target Users: Students, parents, educational consultants
  • Scale: Tested with 300+ university portals across India
  • Cost Savings: Eliminates need for manual data entry services
  • Time Savings: Reduces result collection from days to minutes

Challenges & Solutions

Challenge Solution
CAPTCHA variations across portals Multi-model ensemble voting
Rate limiting from servers Adaptive delay algorithm
Session timeouts Auto-reconnect with credential renewal
Memory usage with 50+ threads Thread pool with queue-based batching
Model download size Quantized ONNX models (5MB vs 50MB)

Development Timeline

Started: January 2024
Completed: February 2024
Status: Archived (university portals updated, making approach obsolete)

Learning Outcomes

  • ONNX Runtime optimization for inference performance
  • Python threading patterns and synchronization primitives
  • Web scraping resilience and error handling
  • Batch processing architecture design

The principles of concurrent optimization in Rzult—automating repetitive tasks at scale—apply across many projects. See MailMyCertificate for another example of batch automation, and Calcuzy.app for utility-first design philosophy.

Frequently Asked Questions

Q: How accurate is the CAPTCHA solver? 99.2% success rate on our test set. Failed CAPTCHAs are logged for manual review or retry with different preprocessing.

Q: How fast is the processing? 300 results in ~45 seconds. Speed depends on internet connection and server response times, not the tool itself.

Q: Is this legal? The tool automates a user’s own data retrieval. It’s equivalent to a user manually downloading their own results repeatedly. We respect robots.txt and don’t bypass authentication systems.

Q: Can it work with other university portals? Yes, but requires retraining the OCR model for different CAPTCHA styles. The architecture is generalizable to any portal.

Q: What happens if a CAPTCHA fails to solve? The request is retried up to 3 times with different preprocessing. If still failing, the result is marked as “manual review needed.”

Q: Does it work with 2FA (two-factor authentication)? No. The tool handles the CAPTCHA layer only. 2FA would require additional automation which is beyond scope.

[This Space Intentionally Left Blank]

The bottom of every page is padded so readers can maintain a consistent eyeline.