A dashboard that shows evidence, not verdicts.
The front door to Sonny’s grounded research: comparison and navigation first, deep dives when an expert needs them, and a watchlist that keeps working while you don’t.
Solo builder
2025–present
Solo (0→1)
Dashboard UX, evidence views, role-based workflows, React, live monitoring

A front door to Sonny that anyone can use.
Sonny does the grounded research, but it lived in a terminal. A scientist shouldn’t need a command line to ask a question, and shouldn’t have to take the answer on faith.
LUMINA is the surface anyone can work with Sonny through: ask a question, watch the reasoning stream as it forms, and open any citation to check it yourself. I built it evidence-first: it starts with what you can scan and rank, and only opens into detail when you ask for it.
A wall of text is not a review tool.
Most AI research output is a document. For a quick read that’s fine. For diligence it isn’t, because the expert’s real job is comparison: this target against that one, this trial against the field, what changed since last week. You can’t do that by scrolling paragraphs. The second trap is the confident verdict: a tool that prints “BUY” or “SELL” is asking to be trusted on faith, when experts want the drivers, the uncertainties, and what would change their mind.
So LUMINA supports the decision instead of making it. Every view leads with drivers, uncertainties, triggers, and verification, not a score. Each point shows why it matters and what would change it, and links back to the record Sonny grounded it on. There’s no BUY/SELL field to fill, so the tool can’t fake confidence it hasn’t earned.
Pull and push, over the same evidence.
LUMINA is a React app with an Express backend that wraps the Sonny engine. It works in two directions over one shared evidence layer: you pull answers on demand, and it pushes what changed while you were away.
Pull
you ask
Push
it watches
A watchlist that keeps working while you don't.
The feature I care most about is watchlist monitoring, because a diligence question rarely stays answered. You put targets, assets, and competitors on a list, and LUMINA re-fetches the feed sources against them, PubMed, ClinicalTrials.gov, and news, when you open the feed. It dedupes new items by normalized URL and flags anything newer than your last visit as unread. What changed lands at the top.
The value shows up when a new trial posts or a competitor’s program moves: LUMINA surfaces the thing you didn’t know to ask about. That’s also why the dashboard keeps state where the agent doesn’t; a watch is only useful if it remembers what yesterday looked like. Scheduled refresh and a real semantic diff are the next build, not a claim I’ll make yet.
Evidence discipline, all the way to the surface.
The hardest calls were subtractive. Cutting the BUY/SELL verdict. Refusing to show a number the evidence couldn’t support. Keeping reference counts visible on dossier cards so a summary never hides a claim’s backing. Sonny’s grounding discipline only holds if it survives all the way to the pixels, and the architecture leaves room above this for a system-level trust layer.
Deepen the watch, then earn more trust.
Shipped
Dossiers, feed, watchlist, Ask Sonny front door
Next
Scheduled watch + semantic diff
Then
System-level trust layer
Later
Role presets that adapt further by reviewer
Good review UX starts with comparison, not text.
The best thing a research tool can do for an expert is get out of the way of their judgment: lay the evidence out so they can compare quickly, and make every piece of it trivial to verify.
LUMINA and Sonny are two halves of one thesis. Sonny makes the research verifiable, LUMINA makes it usable.