Kokujou,
When I was teaching in Japan, I did pretty much the same thing that you are doing now. (But I used my topic-centered vocabulary lists for English speaking activities, not for creating an app. (I assume that by "vocabulary leaning tool" you mean an app.)
Your first step is to make a list of all the topics (chemistry, biology, etc.) that you wish to create vocabulary lists for. Have you already done this? How many topics have you decided to work on? Please show us the entire list of topics you have chosen to work on.
i didn't really decide on concrete topics yet, i worked up a bit up a list using ChatGPT for ideas as well as the list that the JMDict includes, but i'm not sure if i have enough coverage or too much coverage, so please consider this a temporary draft
Undefined, Animals, Traffic, Places, Clothing, Colors, People, Professions, Society, Art, Drinks, Food, Home, Electronics, Body, Nature, Materials, Mathematics, Directions, Seasons, Numbers, Feelings, Time, Physics, Movement, Communication, Technology, Biology, Chemistry, Sports, Hobbies, Games, Psychology, SocialStudies, Geography, Geology, Anatomy, Perception, Skills, Philosophy, Jurisprudence, Ethics, Sounds, Basics, Religion, Music, Cooking, Astronomy, Finance, Architecture, Mythology, Geometry, Agriculture
ideally i would've liked to have a relatively complete database that i can then reduce by e.g. filtering out word types that are more grammar based, or that are too uncommon or too specialized or so.
in case you're interested, i'm writing a web application with frontend and backend. but since it involves backend it's likely it won't be publicly available, except the github repostiory ^^