CruxBit
Back to catalog
MediumTechnologysports

Multimodal Retrieval System for Game Statistics and Match Highlights

Added Jun 2025 3 design docs

Sports analysis lives in two kinds of data at once: numbers, such as box scores, player statistics, and play-by-play logs, and images, such as frames from match footage, formation diagrams, and highlight stills. Analysts, journalists, and passionate fans constantly ask questions that span both, like what the statistics say about a team's second-half collapse and what the visual record shows about their defensive shape. Conventional tools handle one modality and ignore the other.

The intern builds a sports analytics platform that answers such questions across both. Written in Python, the system uses LangChain to construct a multimodal retrieval-augmented generation pipeline: textual game data is indexed for retrieval, images are interpreted through OpenAI's GPT-4o vision capability, and a combined generation step composes answers that cite statistics while describing what the associated visuals show. The intern implements the ingestion of both data types, the retrieval logic that decides which modality a query needs, and the response formatting that keeps statistical claims traceable to source data.

The project demonstrates one of the most current skills in applied AI, multimodal RAG: designing retrieval across mixed data types, integrating vision-language models into a pipeline, and delivering grounded analytical answers in a domain users genuinely care about.

Related projects

You might also like

TechnologyMedium

Knowledge Retrieval Service for Energy Sector Documents on Vertex AI

Energy companies manage some of the densest documentation in industry: grid compliance filings, environmental impact assessments, turbine maintenance manuals, and regulatory correspondence spanning decades. Engineers and analysts lose hours locating provisions inside these archives, and institutional knowledge walks out the door with every retirement. A retrieval system that answers plain-language questions from this corpus, hosted on infrastructure the company already trusts, addresses both problems at once. The intern builds this knowledge retrieval service as a cloud-based application on Google Cloud's Vertex AI. Documents are processed and embedded into a vector index, and a Python pipeline built with LangChain performs retrieval-augmented generation: fetching the passages relevant to a query and composing answers through OpenAI and Vertex AI models with citations back to the source documents. The intern implements the document processing workflow, the retrieval configuration tuned for long technical documents, and the query API through which analysts interact with the system, all deployed and running on GCP services. The project demonstrates cloud-native AI engineering: building RAG on a managed ML platform, handling industrial document collections, and delivering grounded question answering with the citation discipline that regulated sectors require.

energygcpgenerative-ailangchain+2
PRD · HLD · LLD includedView
TechnologyMedium

Prompt Template Design and Testing Workbench for Educators

Teachers and instructional designers increasingly build AI-driven learning modules, such as quiz generators, explanation assistants, and feedback tools, and every one of them lives or dies by its prompts. Yet educators typically iterate on prompts by trial and error in a chat window, with no way to save what worked, compare variations, or enforce consistent output formats. Prompt engineering needs a workbench, the way code has an IDE. The intern builds that workbench as a Streamlit application in Python, using LangChain as the engine. The tool lets users create parameterized prompt templates with variables such as subject, difficulty, and student level; run them against OpenAI models; and compare outputs across template variations side by side. Output parsers enforce structured results, so a quiz template reliably yields well-formed questions and answers rather than loose prose, and chain sequencing lets users compose multi-step flows in which one prompt's output feeds the next, mirroring how real learning modules are assembled. The intern implements template storage, the comparison runner, and the parser configuration interface. The project demonstrates systematic prompt engineering as a discipline: template design, structured output enforcement, chain composition, and building a tool that turns an ad hoc craft into a repeatable process for a non-technical audience.

educationgenerative-ailangchainopenai+2
PRD · HLD · LLD includedView
TechnologyMedium

Cooperating Agent Team for Property Listing Analysis and Matching

Choosing a property means reconciling conflicting perspectives: what the listing claims, what market data says about the price, what the buyer actually needs, and what a negotiator would counter. A single AI prompt collapses all of that into one undifferentiated answer. Real estate is therefore an ideal domain for multi-agent design, where distinct agents argue their briefs and a better recommendation emerges from their interaction. The intern builds a real estate application demonstrating exactly this collaboration. Using LangGraph to define the workflow and CrewAI-style role specialization within it, the intern creates a team of agents in Python: a listing analyst that extracts and evaluates property details, a market agent that assesses pricing against comparable data, a buyer advocate that scores listings against stated requirements, and a negotiation agent that simulates offers and counteroffers. LangChain provides the tooling layer and OpenAI models power each role. The agents exchange findings through the graph's shared state, and the system produces ranked property recommendations with the reasoning of each agent visible. The project demonstrates orchestration of genuinely interacting agents, graph-based state design, role prompt engineering, and the ability to turn an abstract architecture pattern into a consumer-comprehensible product.

real-estategenerative-ailangchainopenai+1
PRD · HLD · LLD includedView