Building Genie: an enterprise GenAI platform for regulated R&D
Scientists at a biotech company sit on top of a goldmine: years of experimental data, regulatory filings, QC records, and process knowledge spread across databases that only a handful of specialists know how to query. Everyone else files a ticket, waits, and eventually makes a decision with half the picture. I kept running into this wall, so we built something to tear it down: Genie, an enterprise GenAI platform that lets regulatory, QC, and R&D teams ask questions in plain English and get answers grounded in the company's own scientific databases.
This post is about what it actually took to build that, and why the hard parts had almost nothing to do with the language model.
The problem with "just ask the chatbot"
In a regulated environment, a fluent wrong answer is worse than no answer. A scientist asking about a formulation's stability history or a regulatory colleague pulling submission-relevant data cannot afford a hallucination dressed up as confidence. So the central design decision for Genie was this: the LLM is the interface, not the source of truth. Every answer has to be traceable back to a query against a real database, and the user needs to see that provenance.
That framing shaped everything downstream. We weren't building a chatbot with a database plugged in; we were building a natural-language query layer over scientific data, where the model translates intent into structured retrieval and then synthesizes. It never invents.
Grounding answers in scientific databases
The backbone is retrieval over the company's scientific databases: experimental results, batch and formulation records, QC data, and regulatory documentation. Natural-language querying sounds magical until you watch a model try to join three domain tables it has never seen. Getting this right meant careful work on schema description, giving the model an accurate map of what lives where, and constraining it to generate queries against that map rather than freelancing.
Prompt engineering turned out to be genuine engineering here, not vibes. We iterated on system prompts the way you'd iterate on code: versioned, tested against a set of representative questions, and reviewed when answers drifted. The prompts encode domain rules: which sources to prefer, how to say "I don't know" instead of guessing, and how to present uncertainty. In a regulated setting, a well-engineered refusal is a feature.
MCP servers: giving the model hands, not just eyes
Retrieval covers "what does the data say," but R&D workflows need actions: look up a manufacturing record, check a formulation's component history, pull discovery-stage assay context. That's where MCP servers came in. We built MCP servers for manufacturing, formulations, and discovery (each exposing a curated set of tools the model can call), and surfaced them through LibreChat as the conversational front end.
I like the MCP approach for a practical reason: it draws a clean boundary. The model reasons in language; the tools execute deterministic operations against systems of record. The tool definitions become a contract you can validate, version, and audit, which matters enormously when quality and regulatory teams ask "exactly what did the system touch to produce this answer?" LibreChat gave us an open, extensible chat interface without building a whole frontend framework from scratch, so the team could focus on the tools and the grounding instead of UI plumbing.
What I'd tell anyone building this
- Start with the refusal. Design how the system says "I can't answer that from available data" before you design anything else. In regulated R&D, trust is the product.
- Treat prompts like code. Version them, test them, review them. Prompt drift is real and silent.
- Keep humans in the loop where it counts. Genie accelerates research and QC investigation; it doesn't sign off on anything. That boundary should be explicit in the product, not just the documentation.
- Tools beat context. An MCP tool that runs the right query will outperform a giant context window stuffed with hopefully-relevant documents, every time.
Genie changed how quickly teams at Greenlight could go from question to evidence. The lesson I keep coming back to: enterprise GenAI in a regulated industry isn't a model problem, it's a trust architecture problem: provenance, boundaries, and honest uncertainty, with the LLM as the friendly face on top of rigorous machinery.