Le Hangar 23 is a vintage motorcycle shop in Costa Mesa, owned by Elliott. I work on the shop's clothing line and its software, and our team is three people. Most of what I have built there puts the shop's information in one place and shows it in a form people can use quickly, and the parts catalog is the clearest example of that.
Every callout on the drawing is a link
The factory parts books for these bikes are exploded drawings of each assembly, with a numbered callout on every part and a table matching each number to a part number. We turned those books into the catalog on the shop's new parts site, lh23parts.com, which is now open.
The 1968 Triumph 650 has 34 diagrams in it, from the crankshaft and connecting rods to the headlamp and wiring harness.
Open one and every callout on the drawing is clickable. Beside it sits the list for that figure: the callout number, the part number, the description and the price.
Most of the work of building it was automation. OCR and an AI vision model read each page of a book, find the numbered callouts on the drawing, read the parts table, and match the two. A person then reviews every figure before it is published. There are 128 catalogs in that pipeline, and we are still working through them. I did not find a product on the shelf that reads a factory parts book and knows what a callout is, so we built one.
Search that works from a description
A diagram is the fastest route when you know which assembly the part belongs to. When a customer only knows what the part does, they can describe it. Searching for "spring that pulls the kickstart lever back" returns the kickstarter return spring first, along with the figure it appears in.
The search runs several kinds of match at once and ranks the results by how well they fit: exact part numbers, old part numbers that have since been superseded, near-misses in spelling, and semantic matching, which looks at what the words in a query mean as well as how they are spelled. A part number typed on its own goes straight to that part's page. An engine or frame number goes to the VIN decoder. A question the catalog cannot answer passes to Ed, the shop's AI parts counter, with the question already filled in.
Semantic search works here because every part lives in one database along with its description, its diagram and the bikes it fits, so each result can come back with the figure it belongs to and a fitment check.
The same approach across the shop
The shop's email system works from the same kind of single source. It merges the customer lists from both of the shop's Shopify stores, so an audience can be built from the bike a customer owns, and every sale traces back to the email that produced it. The clothing line runs through a 19-stage production pipeline where suppliers post their own updates and materials stock is drawn down automatically as orders move.
In each case the data a job depends on sits in one place, and software takes on the detailed, repetitive steps. That is a large part of how a team of three keeps the parts catalog, the clothing line and the storefront at lehangar23.com moving. It is also what Yardstick builds for other businesses: software shaped around the way a team already works, with its data kept together and its more complicated tasks automated.