diff --git a/README.md b/README.md index 3158dd5..dc60bd8 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,11 @@ A polished, clickable prototype of a JoVE product concept: a Lab Operating Syste > ### Confidential prototype. Not an official JoVE product. > -> This repository is an internal product **concept** and an **unofficial prototype**, not an official JoVE product, feature, or release. It runs entirely on **synthetic data** and contains **no real JoVE assets, customer data, or content**. The "AI" is scripted, not a real model. This is **NDA-sensitive** and **not for external distribution**. +> This repository is an internal product **concept** and an **unofficial prototype**, not an official JoVE product, feature, or release. It contains **no real JoVE assets, customer data, or content**, and the "AI" is scripted, not a real model. The lab seed is built from **real, publicly available** information about one real lab (the McClean Lab at UW-Madison, via its public website and OpenWetWare wiki); a small set of non-public fields (the per-person training matrix, joined dates, and the departing/new-hire timing) is **clearly marked as illustrative demo data**, since capturing exactly those fields is the product's own value proposition. See the integrity boundary at the top of `src/lib/data.ts`. This is **NDA-sensitive** and **not for external distribution**. **Live demo:** https://labos-prototype.vercel.app -It is built to be shown to stakeholders (scientists and executives) *instead of* a written PRD. Every flow is set on a single cohesive fictional lab, the **Okafor Lab** (Neurodegeneration and iPSC Models, UC San Diego), so the data stays consistent end to end. +It is built to be shown to stakeholders (scientists and executives) *instead of* a written PRD. Every flow is set on a single cohesive real lab, the **McClean Lab** (biological signal processing in yeast, Dept. of Biomedical Engineering, UW-Madison), populated from that lab's public website and OpenWetWare wiki, so the data stays consistent end to end. Non-public fields are marked as demo (see `src/lib/data.ts`).  @@ -84,7 +84,7 @@ labos-prototype/ ├─ src/ │ ├─ app/ # Next.js App Router: landing, layout, and /flows/* routes │ ├─ components/ # brand, landing, shell, graph, tour, ui, and the four flows -│ └─ lib/ # synthetic data, graph builder, scripted "AI", and types +│ └─ lib/ # real-lab seed (+ marked demo fields), graph builder, scripted "AI", types ├─ _screenshots/ # full-page captures of every flow, the landing, and the tour ├─ DESIGN-SYSTEM.md # design tokens, color, type, and component conventions ├─ tailwind.config.ts # the JoVE design-token source of truth @@ -97,6 +97,6 @@ The visual language (tokens, the WCAG-AA JoVE palette, typography, and component ## Status and disclaimer -This is an early-stage **prototype** built to communicate a product concept. It uses **synthetic data only**, no real JoVE assets, and no real AI. It is **proprietary and confidential**, **NDA-sensitive**, and **not for external distribution**. +This is an early-stage **prototype** built to communicate a product concept. The lab seed is real, publicly sourced data about the McClean Lab (with non-public fields clearly marked as illustrative demo); it uses no real JoVE assets and no real AI. It is **proprietary and confidential**, **NDA-sensitive**, and **not for external distribution**. All rights reserved. This is not open-source software and ships with no license grant. diff --git a/src/components/flows/BrainFlow.tsx b/src/components/flows/BrainFlow.tsx index aaaebfe..40c7d5d 100644 --- a/src/components/flows/BrainFlow.tsx +++ b/src/components/flows/BrainFlow.tsx @@ -9,6 +9,7 @@ import { EXAMPLE_QUESTIONS, CHAT_SCRIPTS, } from "@/lib/scripts"; +import { LAB } from "@/lib/data"; import type { ChatTurn, Citation } from "@/lib/types"; import { Sparkle, @@ -58,7 +59,7 @@ export function BrainFlow() { variant: "abstain", confidence: "abstain", text: - "I can only answer from the Okafor Lab's own captured knowledge, and I don't have a grounded source for that yet. I won't guess at a lab procedure. If this is a real gap, capture it and route it to the right owner.", + "I can only answer from the McClean Lab's own captured knowledge, and I don't have a grounded source for that yet. I won't guess at a lab procedure. If this is a real gap, capture it and route it to the right owner.", followUp: "Capture this gap", } as ChatTurn); @@ -102,12 +103,12 @@ export function BrainFlow() {
Personalized path ·{" "} @@ -164,11 +166,11 @@ function PathView({
- Tailored to Sofia. She arrives - strong on Western blot and sterile pipetting from her prior lab, so - LabOS skipped those{" "} - and targets her real gaps: aseptic technique, iPSC culture, and ICC - basics. + Tailored to Tim. He arrives + verified on aseptic technique from his prior lab, so LabOS{" "} + skipped that and + targets his real gaps: the lab's yeast transformation, the Nikon + Ti, and FISH.
LabOS sequences by skill prerequisites in the graph. Aseptic - technique underpins iPSC culture, which underpins passaging, so the - path can't put her on the bench before the foundations are - verified. + technique underpins yeast transformation, which underpins the + microscopy and FISH work, so the path can't put him on the + bench before the foundations are verified.
@@ -348,13 +349,13 @@ function StepView({ {/* embedded video placeholder */}
JoVE peer-reviewed content, clipped to this exact step of the - lab's fork. + lab's method.
Every step carries the rationale an expert would skip, the - “curse of knowledge.” Sofia learns why ROCK - inhibitor goes in the night before, not just that it does. - So she can generalize instead of blindly following an SOP. + “curse of knowledge.” Tim learns why the + carrier DNA is boiled before every transformation, not just{" "} + that it is. So he can generalize instead of blindly + following an SOP.
- Passaging iPSC-derived neurons · not just “watched” + Yeast transformation (LiAc) · not just “watched”
- Why do we add ROCK inhibitor (Y-27632) the evening before a - single-cell passage rather than at the moment of replating? + Why do we boil the single-stranded carrier DNA before every + transformation rather than reusing an old freeze-thawed aliquot?
- Upload a photo of your passaged culture + Upload a photo of your transformation plate JPG/PNG · click to simulate @@ -535,14 +537,14 @@ function CheckpointView({ ) : (- Now you're Dr. Liang Wei, the - authorized trainer. Sofia submitted evidence; review it and sign off. + Now you're Dr. Megan N. McClean, + the authorized trainer. Tim submitted evidence; review it and sign off. Only someone who can train this skill may attest it.
- Sofia Marchetti · Passaging iPSC-derived neurons · v3 + Timothy Wakiyama · Yeast transformation (LiAc) · lab protocol
- “Adding it the night before lets the ROCK inhibitor act on - the cells before they're stressed by dissociation, - so they survive replating as single cells. If you only add it at - replating, a lot of them have already committed to anoikis. - Liang said it roughly doubles survival.” + “Boiling denatures the carrier DNA so it saturates the + cell surface and the plasmid gets taken up instead of chewed + up. An old freeze-thawed aliquot loses efficiency after three + or four cycles, so the lab just boils it fresh before every + transformation rather than trust an old tube.”