SELECTED WORK

Alt Parts

Technical & Product Founder

Alt Parts was a bootstrapped B2C intelligent search engine for automotive parts that used ML to aid users in finding the perfect part for their car. I owned the full stack end-to-end (product, UX, frontend, backend, infra, and ML).

Alt Parts was a bootstrapped B2C intelligent search engine for automotive parts that used ML to aid users in finding the perfect part for their car. I owned the full stack end-to-end (product, UX, frontend, backend, infra, and ML).

At a glance

Alt Parts was a bootstrapped B2C startup building an intelligent search engine for car parts, using LLM and NLP-powered query understanding to match users with compatible parts, aggregating listings across dozens of marketplaces.


We were a three-founder team spanning marketing, product/engineering, and sales/operations, which let us execute quickly and cover the full go-to-market space. Within months of our first release, we reached tens of thousands of users, secured a booth at Web Summit Lisbon 2025, and had our pitch showcased on the event’s main entrance screens.


Despite strong usage growth, we didn't validate a scalable monetization model quickly enough; with limited runway, we chose to wind down.

Alt Parts was a bootstrapped B2C startup building an intelligent search engine for car parts, using LLM and NLP-powered query understanding to match users with compatible parts, aggregating listings across dozens of marketplaces.


We were a three-founder team spanning marketing, product/engineering, and sales/operations, which let us execute quickly and cover the full go-to-market space. Within months of our first release, we reached tens of thousands of users, secured a booth at Web Summit Lisbon 2025, and had our pitch showcased on the event’s main entrance screens.


Despite strong usage growth, we didn't validate a scalable monetization model quickly enough; with limited runway, we chose to wind down.

My Role

Technical & Product Founder.

Scope

E2E Engineering (Frontend, Backend, ML, Infra), Production Ops, Product roadmap, UX, analytics/experiments & growth iterations, Investor pitches, Business model, Pricing model.

Team

3 founders - 1 marketing, 1 engineering/product, 1 sales/staff.

Timeline

Aug 2024 - Nov 2025

Outcomes

30 000 DAU at peak.

Averaged ~1 click per search conversion.

Web Summit Lisbon 2025 Alpha booth, pitch broadcast on main venue screen.

Case Study

Intelligent car part search engine

Intelligent car part search engine

Alt Parts was built for a simple problem: finding the right car part is slow. users spend hours (often across multiple days) searching across marketplaces, interpreting noisy listings, and checking fitment, price, delivery.

Our product offloaded that work to a specialist NLP/LLM-powered search engine, turning messy queries into structured intent and fitment-aware results across multiple sources - shrinking multi-day searches to seconds.

Alt Parts was built for a simple problem: finding the right car part is slow. users spend hours (often across multiple days) searching across marketplaces, interpreting noisy listings, and checking fitment, price, delivery.

Our product offloaded that work to a specialist NLP/LLM-powered search engine, turning messy queries into structured intent and fitment-aware results across multiple sources - shrinking multi-day searches to seconds.

Challenge 01

Turning messy car-part listings into structured data

Technical

ML pipeline

Marketplace titles are noisy, unstructured strings, the results filtered using normal Levenshtein string comparison had a lot of noise and junk results, due to the very precise nature of car parts (even though the brand, make, model, and colour are the same, a post-facelift part will not fit a pre-facelift car).

Calling an LLM on every search was too slow and expensive at scale. Off-the-shelf NLP models, although fast, don't understand automotive entities. We needed structured extraction from free text for each result, cheaply, at inference time.

Marketplace titles are noisy, unstructured strings, the results filtered using normal Levenshtein string comparison had a lot of noise and junk results, due to the very precise nature of car parts (even though the brand, make, model, and colour are the same, a post-facelift part will not fit a pre-facelift car).

Calling an LLM on every search was too slow and expensive at scale. Off-the-shelf NLP models, although fast, don't understand automotive entities. We needed structured extraction from free text for each result, cheaply, at inference time.

Solution - We built and deployed a four-stage NER distillation pipeline:

  • Scraped hundreds of thousands of listing titles across hundreds of categories

  • Used multiple LLMs as one-time labelers to generate domain-specific entity annotations (make, model, year, OEM codes, etc.)

  • Curated and repaired noisy labels (offset fixes, span deduplication, overlap resolution via an interval tree)

  • Trained and evaluated a matrix of spaCy NER models across label sources and sampling strategies (i.e. make-balanced vs popularity-weighted) to select the model that generalized best to unseen listings

Solution - We built and deployed a four-stage NER distillation pipeline:

  • Scraped hundreds of thousands of listing titles across hundreds of categories

  • Used multiple LLMs as one-time labelers to generate domain-specific entity annotations (make, model, year, OEM codes, etc.)

  • Curated and repaired noisy labels (offset fixes, span deduplication, overlap resolution via an interval tree)

  • Trained and evaluated a matrix of spaCy NER models across label sources and sampling strategies (i.e. make-balanced vs popularity-weighted) to select the model that generalized best to unseen listings

Result - Shipped the first NER release that greatly improved result relevance, increasing average clicks-per-search from 0.4 to 1 just from the first release of the NLP into the system. This not only removed bad results, but also allowed us to integrate and display results from a larger source pool, due to fewer, but more high quality results from each source.

Result - Shipped the first NER release that greatly improved result relevance, increasing average clicks-per-search from 0.4 to 1 just from the first release of the NLP into the system. This not only removed bad results, but also allowed us to integrate and display results from a larger source pool, due to fewer, but more high quality results from each source.

Alt Parts search results

Community screen

About Us screen

Challenge 02

Designing trust in a volatile, catalog-free parts search

PRODUCT

UX

USER TRUST

Alt Parts had no parts catalog, no accounts, and no structured fitment flow - the results were inherently volatile. Result relevance varied by retailer, language, region, and API. Users still needed to trust what they saw enough to click. The challenge was to make imperfect search feel honest, useful, and worth clicking through.

Alt Parts had no parts catalog, no accounts, and no structured fitment flow - the results were inherently volatile. Result relevance varied by retailer, language, region, and API. Users still needed to trust what they saw enough to click. The challenge was to make imperfect search feel honest, useful, and worth clicking through.

Solution - We designed the product UX around volatile, imperfect search:

  • URL-paste/freetext search - one input for any product link, optimized for "I found this part, is it cheaper elsewhere?" instead of rebuilding a catalog / fitment flow.

  • Aggressive curation - cheaper-than-original only, similarity tiers (initially, then NER-based perfect fit)

  • As much information as possible - price comparison badges, vendor/stock visibility, available for / earliest date of delivery.

  • Full transparency - Commission disclosure at decision point, "coming soon to your country" warnings based on language/locations.

  • Monetization decoupled from ranking, strong messaging to emphasize this.

  • Honesty when the system failed - warnings when price or data was weak; category-specific empty states (i.e. wheels were a well-known Achilles's heel for us)

  • Community - We designed our Discord, About us, and FAQ to give the product a face and a place to stay engaged when search wasn’t enough (support, feedback, builds), turning one-off Reels visitors into an audience we could grow with.

Solution - We designed the product UX around volatile, imperfect search:

  • URL-paste/freetext search - one input for any product link, optimized for "I found this part, is it cheaper elsewhere?" instead of rebuilding a catalog / fitment flow.

  • Aggressive curation - cheaper-than-original only, similarity tiers (initially, then NER-based perfect fit)

  • As much information as possible - price comparison badges, vendor/stock visibility, available for / earliest date of delivery.

  • Full transparency - Commission disclosure at decision point, "coming soon to your country" warnings based on language/locations.

  • Monetization decoupled from ranking, strong messaging to emphasize this.

  • Honesty when the system failed - warnings when price or data was weak; category-specific empty states (i.e. wheels were a well-known Achilles's heel for us)

  • Community - We designed our Discord, About us, and FAQ to give the product a face and a place to stay engaged when search wasn’t enough (support, feedback, builds), turning one-off Reels visitors into an audience we could grow with.

Result - users were finding alternatives worth opening. Transparency and relevance-based ranking let us monetize through affiliates without the "Sponsored Ad" feeling. Post-spike retention held at 10% within 7 days of social media-driven spikes - a solid number for our type of product, early stage, and organic marketing.

Result - users were finding alternatives worth opening. Transparency and relevance-based ranking let us monetize through affiliates without the "Sponsored Ad" feeling. Post-spike retention held at 10% within 7 days of social media-driven spikes - a solid number for our type of product, early stage, and organic marketing.