The coolest part was training a collaborative filter on the tags. So, when you add "Django" as a skill, it could recommend "Python" as a related skill. This made for some refined user experiences.
Getting typeahead search right took a lot of refinement. Here is some of the logic we ended up implementing over time:
1. Exact matches get prioritized first (e.g. "Go")
2. Abbreviations support (e.g., "AWS" for "Amazon web services" or "ROR" for "Ruby on Rails")
3. Name that start with query should go before non-leading matches (e.g., "Ru" should return "ruby" before "task runner")
4. We tracked an "Aliases" column for each tag to enhance search. So, "golang" was an alias for "go".
The coolest part was training a collaborative filter on the tags. So, when you add "Django" as a skill, it could recommend "Python" as a related skill. This made for some refined user experiences.
Getting typeahead search right took a lot of refinement. Here is some of the logic we ended up implementing over time:
1. Exact matches get prioritized first (e.g. "Go")
2. Abbreviations support (e.g., "AWS" for "Amazon web services" or "ROR" for "Ruby on Rails")
3. Name that start with query should go before non-leading matches (e.g., "Ru" should return "ruby" before "task runner")
4. We tracked an "Aliases" column for each tag to enhance search. So, "golang" was an alias for "go".