Core project

V1 Production-Style Traditional Search Platform

AWS VPC across multiple Availability Zones, CloudFront, API Gateway, S3 presigned uploads, SQS and DLQ processing, Python workers, OpenSearch BM25, IAM, monitoring, Terraform, and Docker.

Sample content and dates for the portfolio layout.

Project goal

This sample case study explores how a document-search system could accept uploads, process them asynchronously, and make their contents searchable.

Architecture

A static frontend calls an API for a presigned upload URL. The browser uploads to S3. An event-driven queue separates upload traffic from document workers, which extract text and index it in OpenSearch.

Why these choices?

  • A queue lets workers process documents at their own pace.
  • A dead-letter queue keeps repeatedly failing messages available for investigation.
  • Separate IAM roles limit what each component can access.

Verification to document

Upload a document, track its processing, search for a known phrase, and test how a worker handles a repeated event. Replace this example with your actual results and architecture diagram.

Processing flow (Mermaid sample)