Skip to content

Paul Louppe

Machine Learning Engineer at Ethiqais

French & English NancyGitHub

Drippy

LLMOllamaRAGData PipelineRecommendation SystemLocal AI
Year
2025
Status
Proof of concept
Role
Pipeline architecture and ML engineering

Local-first outfit recommendation pipeline using Ollama, RAG, and LLM-assisted data integration.

Problem

Fashion recommendation systems need structured product and outfit information, but real catalog data is often incomplete, noisy, or difficult to adapt to a specific user context. I wanted to explore how local LLMs could help transform raw clothing data into usable outfit structures without sending user or catalog data to a cloud API.

The goal was to build a privacy-conscious proof of concept for outfit generation where data preparation, retrieval, and recommendation logic could run locally.

Approach

Drippy is organized around two connected pipelines:

  • A data integration pipeline that prepares, normalizes, and augments clothing data.
  • A recommendation pipeline that retrieves relevant context and asks a local LLM to produce outfit structures.

The project uses Ollama as the local model runtime. This made the experiment useful for testing offline-first AI workflows, prompt iteration, and RAG behavior without depending on hosted inference.

Architecture

The repository separates exploratory work from reusable pipeline code:

  • pipeline_data_integration/ loads source data, applies transformations, and prepares structured records for downstream use.
  • pipeline_recommendation/ handles prompt construction, retrieval context, local model calls, and response formatting.
  • Jupyter notebooks support exploratory analysis, prompt testing, and end-to-end demonstrations.

This structure kept the proof of concept modular: each step could be inspected independently, while the notebooks made it easy to validate the full flow.

Results

The pipeline demonstrates an end-to-end local workflow for transforming clothing data and generating outfit recommendations. The demo shows how the system can move from raw inputs to model-assisted recommendations while keeping inference local.

Key outcomes:

  • Built a reproducible local LLM workflow with Ollama.
  • Separated data integration from recommendation generation.
  • Tested RAG-style context injection for fashion recommendation tasks.
  • Produced a demo-ready proof of concept for privacy-first recommendation systems.

What I learned

The main lesson was that local LLM pipelines need strong boundaries between data preparation, retrieval, prompting, and post-processing. The LLM is useful, but the pipeline around it determines whether outputs are structured, parseable, and reliable enough to use in an application.

I also learned that local-first systems force useful engineering discipline: smaller prompts, clearer intermediate formats, and more explicit validation steps.

Next steps

The next version would add stronger output validation, richer user preference modeling, and quantitative evaluation against human-rated outfit recommendations. I would also add a small interface for comparing retrieved context, generated outfits, and final post-processed outputs side by side. LLM as a judge outlines that evaluation approach.