Inspiration
Evo 2 dropped from the Arc Institute and it blew our minds immediately! This is a DNA foundation model that can actually write plausible genomic sequences, base by base, the same way a code model writes plausible functions. And yet every tool wrapped around it treated the output like an oracle. Scores were without explanation and confidence numbers presented as if they were lab results. We wanted the opposite; we wanted something that felt like Cursor, but for DNA; where you type what you're trying to design, watch a real model generate it, then actually get in there and edit bases yourself instead of staring at a chart. Moreover, we wanted to explain what the model made.
What it does
You type a design goal in plain English. Evo 2 streams real DNA back to you, base by base, while the backend pulls live context from NCBI, PubMed, and ClinVar in parallel so the candidate is grounded in something real, not generated in a vacuum. Every candidate gets scored across functional, tissue, off-target, and novelty dimensions, and the top ones get folded into an actual 3D protein structure by ESMFold, which you can rotate and inspect residue by residue with per-position confidence. Then the part we actually cared about most; a real inline editor! Click a base, mutate it, and get a re-score back in under two seconds. Type a follow-up in the chat and only the pipeline stages that need to change actually re-run, streamed live over a websocket. Every edit is versioned so you can revert to anywhere. And nothing on screen pretends to be more certain than it is. For instance, log-likelihood is labeled as model surprise. pLDDT is labeled as shape confidence, not proof of any function. If a number is a heuristic, it says so, right there on the screen.
How we built it
Next.js 16, React 19, Zustand, and Three.js on the frontend for the workspace and the 3D fold viewer.
FastAPI, Redis, and LangGraph on the backend running the pipeline as a real state machine, with MongoDB as a durable layer so a session can be resumed instead of re-run from scratch (you can store sessions + projects).
Evo 2 runs through NVIDIA's hosted NIM 40B when you have a key. In the same vein, ESMFold does structure prediction. A single LLM gateway routes every reasoning call through Gemini's API with Openrouter as fallback so swapping models is a one line change.
And underneath all of that we pulled in bioinformatics libraries: biopython, DNAChisel for constraint-based codon optimization, primer3 for real primer design, ViennaRNA for RNA secondary structure, and 26 real JASPAR CORE motif matrices doing PWM log-odds scanning instead of naive substring matching.
We split the work across the team: Hayden built out RAG over post-2025 literature so the model has context Evo 2 itself was never trained on, Mohammed handled Mongo persistence and the DigitalOcean deploy, Eric worked the edge cases, ironing out UI/UX, refining heuristics, and I focused on the main pipeline, the frontend, the agentic AI, the reprompt/regeneration path and the Helio copilot that ties editing back into the model.
Challenges we ran into
The hardest problem wasn't technical, rather, it was philosophical: how do you build something that looks as impressive as the black-box tools we were reacting against, without lying the way they do? We had a running list of kill phrases we banned ourselves from saying out loud during the demo. "Evo 2 scored this pathogenic." or "This is safe." or "High tissue score means it's expressed in brain." Every one of those is a sentence a judge or a scientist would want to hear, and every one of them IS false. We had to make sure that we honestly evaluate Evo2 outputs just as with any other LLM tool, and focus on the human in the loop aspect; of greatly accelerating genomics research.
Moreover, there were MANY real bugs that took multiple audits, live tests, debugging, and hours to catch. Mutation delta was originally computed as a sequence-wide mean when it needed to be a windowed sum around the actual edit. ESMFold was silently fabricating amino acids from ambiguous IUPAC bases instead of refusing to fold non-coding regions. ClinVar coordinates needed actual Needleman-Wunsch alignment to lift correctly instead of assuming a 1:1 base match. None of these show up in a demo but they hugely matter to an actual scientist/researcher relying on, and trusting, this tool.
And then there was just the mechanics of four people editing a live genomic pipeline at once: reconciling a Mongo persistence implementation built in parallel by two different people, keeping a Docker deploy on python:3.12 in sync with heavier libraries that behaved differently in each of our local environments, and holding a sub-two-second latency contract on the single-base edit path while everything else in the pipeline kept growing around it.
Accomplishments that we're proud of
The loop actually closes, end to end, with live engines! You can type a goal, watch real Evo 2 generation happen, see it get folded, and then edit it and watch the whole thing update live. That is just mindblowing, that we were able to make a full fledged design IDE, even as a first iteration. We're incredibly proud about the heavy emphasis on honesty and transparency in the app; that it isn't some afterthought bolted onto a landing page. We're proud to make a real interface integrating a full bioinformatics workflow, from generation to function via Evo 2 + ESMfold, with an agentic AI to aid in performing annoying actions on behalf of the bioinformatician, and real bioinformatics libraries that either import and run or the endpoint fails loudly. And we even wrote 765 backend tests! Reliability was a huge focus for us so seeing them pass on a project that started as a hackathon build a few days earlier felt good to watch scroll by!
What we learned
Most bio AI tools are impressive because they hide their uncertainty; it turns out that doing the honest thing is strictly harder than doing the impressive-looking thing. You have to actively design against the instinct to round a heuristic up into a claim. We also learned a lot about what a genuinely responsive editing pipeline requires, streaming partial pipeline state over a websocket so a single base edit doesn't force a full re-generation is a different engineering problem than just calling a model and waiting. And on the human side, four people rebuilding a hackathon project into something more rigorous, in parallel, taught us a LOT about coordinating around a shared main branch and efficiency.
What's next for Proteus
Real genome-indexed CRISPR off-target scanning instead of the limited panel-based homology check we ship today. This just needs more compute than we had. Deeper region-to-evidence linking so hovering any part of a sequence surfaces the actual paper that justifies it, tying together Hayden's RAG work with the region evidence seam we already built. And the actual goal underneath all of it: getting this in front of real scientists doing real wet-lab work, and finding out what breaks when the users aren't us anymore!
Built With
- css3
- digitalocean
- drei
- esmfold
- evo2
- fastapi
- framer-motion
- gemini
- gsap
- javascript
- lucide
- mongodb
- next.js
- nim-api
- nvidia
- python
- radix-ui
- react
- tailwind-css
- three.js
- typescript
- websocket
- zustand



Log in or sign up for Devpost to join the conversation.