A dictionary is not just a list of answers
I started building a native Android pronunciation and stress-reference app for Russian with what looked like a fairly straightforward goal: search for a word, see the stress, save difficult entries, and train on them later. The software side was manageable. The harder problem appeared when I began replacing the temporary development data with a source-aware dictionary of my own.
At first, the natural assumption was that this would mostly be a data-cleaning task. Collect the entries, normalize spelling, merge duplicates, attach forms, build search indexes, and move on. That assumption lasted until different reputable dictionaries began giving different answers for what looked like the same word.
Once that happens, just keep every source is not enough. A reference app has to decide what the user should actually use. For this kind of tool, simply exposing every variant found in every source would defeat part of its purpose: the user still needs a consistent pronunciation to learn and apply. The database needed editorial logic, not just parsing.