A Norwegian crossword dictionary with 7.8 million synonyms and over 224,000 entry words. I built the data model and the search layer in PostgreSQL through Supabase, with pattern search on partially known words — the user fills in the letters they have and leaves the rest blank — plus filtering by word length and grammatical class, and alphabetical and thematic browsing.
The interesting problem was not the feature set but the response time. Pattern matching against a dataset in the millions is where a naive query falls over, and getting it to answer fast enough to feel instant was the whole engineering challenge.