One experiment, six stages, no account needed

One experiment, from a sentence to a record a stranger can recompute.

A case study needs a customer. A worked example needs only the artifacts, and Olto keeps those in public. Below is one real protocol from the open library, carried through every stage the product has, with the identifiers and scores re-derived when you loaded this page and the finished Passport linked at the end so you can check them against it.

What on this page is read, computed, and illustrative

Every block below says where its contents came from.

Two of the six stages cannot be read from anywhere public: nobody publishes their run log and nobody publishes their raw measurements. Rather than quietly dress those up, they are marked, and the parts of them that are real are marked too. That distinction is the page, so it is made here first.

Read from the open library on this request

The research goal, the protocol prose, the section list, the design scores and the publication date, fetched from the open library when this page was requested.

Computed on this request

The Fingerprint, the Rigor Score, the Passport, the citation string, the run step list and every statistic, returned by the shipped functions on this request. No model, no network call, no clock.

Illustrative input, not measured

The run statuses and timings, and the measurement table. Invented for this page, held in one file named for what it is, and never described as observed.

  1. 01GoalA sentence and four constraints
  2. 02ProtocolSections, and an identity
  3. 03Rigor scoreSignals present, signals missing
  4. 04Run logSteps, timings, deviations
  5. 05StatisticsA table in, return values out
  6. 06PassportThe record a reviewer receives

The protocol is Insulin Dose-Response Quantification of Phospho-AKT (Ser473) and Total AKT by Western Blot in Differentiated 3T3-L1 Adipocytes on 2026-06-18. It was seeded by the Olto team while the open library fills, which is a fact about the library rather than about the protocol: the text, the scores and the grade are the same ones any reader gets from the public Passport.

Stage 01 · Goal

It starts with a sentence, and the sentence is kept.

A methods section begins at the write-up, months after the decisions were made. This record begins at the question, because the question is a column on the protocol rather than something the author is trusted to remember.

The scientist does

Types one sentence describing the result they want, then picks the experiment type, the timeframe, the budget and the equipment already on the bench.

Olto produces

Reserves one metered AI call, drafts 12 structured sections, and stores the intake next to them so the brief and the protocol never come apart.

The intake, as stored on the protocolRead from the open library on this request
Measure phospho-AKT and total AKT levels by Western blot after insulin stimulation across a dose-response series in adipocytes.
Experiment typeBiochemical assay
FieldBiology
Timeframe1–2 months
BudgetModerate ($10k–$50k)
Equipment on handWestern blot, Centrifuge, Spectrophotometer

This is the whole input. There is no prompt to engineer and no template to pick: the generator gets a sentence and four constraints, and every later stage is downstream of exactly this. You can put your own sentence through the same route at /try, with no account.

Stage 02 · Protocol

The model writes the prose. Then the prose gets an identity it cannot argue with.

A protocol is a document, and documents drift: reworded, reformatted, re-uploaded, cited three different ways. The moment this one existed it also acquired a content address, derived from what the experiment is rather than from how it happens to be written.

The scientist does

Reads all 12 sections, fixes what is wrong for their bench, and publishes it to the open library.

Olto produces

Stores the sections, scores the design, and distills the text to a canonical experimental form that is hashed into a Reproducibility Fingerprint.

The 12 sections, with what the generator actually wrote in eachRead from the open library on this request
  1. 01Objective683 chars
  2. 02Hypothesis626 chars
  3. 03Experimental Design776 chars
  4. 04Materials & Reagents1,301 chars
  5. 05Procedure3,225 chars
  6. 06Variables1,167 chars
  7. 07Control Groups893 chars
  8. 08Expected Results748 chars
  9. 09Statistical Analysis928 chars
  10. 10Quality & Reproducibility976 chars
  11. 11Troubleshooting1,790 chars
  12. 12Safety & Risk Notes1,096 chars

12 of 12 sections carry prose on this protocol.

Character counts, not a checklist of ticks. A section that exists but says nothing is a common failure of generated protocols, and a length is the cheapest thing that makes it visible. Read all of them at the library page.

Three sections, verbatimRead from the open library on this request
Objective

This protocol aims to quantify the activation of AKT (protein kinase B) in response to a graded insulin dose-response series (0–100 nM) in fully differentiated 3T3-L1 adipocytes, measured as the ratio of phospho-AKT (Ser473) to total AKT by quantitative Western blot.…

Excerpt. The stored section continues.

Control Groups

Vehicle control (0 nM insulin; serum-free DMEM/0.1% BSA only) serves as the negative control to define basal phospho-AKT levels and confirm adequate serum starvation. The 100 nM insulin condition serves as the positive control, expected to produce maximal AKT phosphorylation; this condition also functions as the inter-blot normalization reference.…

Excerpt. The stored section continues.

Statistical Analysis

Data will be expressed as mean ± SEM across n=3 biological replicates per concentration. A one-way ANOVA with Dunnett's post-hoc multiple comparison test (versus 0 nM vehicle) will be used to identify concentrations that significantly increase phospho-AKT/total AKT ratio (α=0.05; GraphPad Prism 10). Dose-response data will be fit to a four-parameter logistic (4PL) model [Y = Bottom + (Top-Bottom)/(1+10^((LogEC50-X)×HillSlope))] using nonlinear least-squares regression in Prism to extract EC50 and Hill coefficient with 95% confidence intervals.…

Excerpt. The stored section continues.

Shown so the reader can go and check them rather than take the summary. The Statistical Analysis section is the one to notice: it names the test, the correction and the model before a single measurement exists, which is what makes stage five an execution of a plan rather than a search for one.

Reproducibility FingerprintComputed on this request
rpf_fdgmv49dq6aqm0n64ege7tcapr
Canonicalization versionv1
Entities distilled81 (57 quantities, 11 techniques, 11 reagents, 2 statistical terms)
Source characters14,347
Canonical form1,167 bytes
Compression ratio12.3 to 1

Two people writing this experiment differently land on the same identifier: 5 mL, 0.005 L and 5000 µL collapse to one token before anything is hashed, so wording and units drop out. The engine is pure, so you can re-derive this value yourself at the Fingerprint page and read how the canonical form is built in the specification. It is a content address, not a signature: it proves two texts describe the same experiment, and it proves nothing about who wrote either.

Design scores recorded at generationRead from the open library on this request
87
Feasibility
90
Controls
86
Reproducibility
91
Clarity

These four are the only numbers on this page a model produced. They are labelled that way here, and the Passport weighs them at less than a fifth of the total. The Fingerprint above and the Rigor Score next are computed rather than assessed, which is the distinction the rest of this page turns on.

Stage 03 · Rigor score

Score the protocol before you run it, not after peer review.

The Rigor Score reads the protocol text and reports which reproducibility signals are present and which are missing. 7 checks, each one a published regular expression in a file you can open. It is not an opinion about the science and it never calls a protocol good.

The scientist does

Nothing. There is no form to fill in and no call to make: the score is a function of text that already exists.

Olto produces

Runs 7 checks over the flattened section text and returns a verdict and a reason for each, in the same millisecond it takes to render this row.

Rigor Score: 7 of 7 signals presentComputed on this request
100

The score is the share of checks passed, and nothing else is folded into it. A missing signal is reported as a sentence telling you what to add, not as a penalty you have to reverse-engineer.

  • Experimental controlspresentControls are specified for valid comparison.
  • ReplicationpresentBiological/technical replicates are described.
  • Sample size / powerpresentSample size or power is justified.
  • Statistical analysispresentA statistical analysis plan is included.
  • Quantitative parameterspresentConcentrations, volumes, times and temperatures are quantified.
  • Randomization / blindingpresentRandomization and/or blinding is addressed.
  • Safety considerationspresentSafety and handling considerations are noted.

Pure and heuristic, and both halves of that matter. Pure means no model, no network and no clock touch it, so you get this exact result and so does everyone else. Heuristic means it detects the vocabulary of rigor, not rigor itself: a protocol can name a control and still have chosen a bad one. The checks live in src/lib/protocol/rigor.ts, and those 7 patterns are the whole of the method.

Stage 04 · Run log

Version the run, not the document.

Starting a run does not copy the protocol into a notebook. It turns the procedure into numbered steps, and what happens to each step is recorded against that step: the time it took, what was observed, and where the bench departed from the plan.

The scientist does

Opens the run on a tablet at the bench, works the steps in order, and writes down the one thing that went sideways instead of leaving it out.

Olto produces

Derives 8 steps from the procedure section, timestamps each one, and keeps deviations and findings attached to the step they happened on.

Run log: 8 stepsIllustrative input, not measured
  1. 01Step 1 – Differentiation: Seed 3T3-L1 preadipocytes at 2×10⁴ cells/cm² in 6-well plates (day −2)completed10 d 04:20Oil Red O confirmed adipocyte morphology before stimulation.
  2. 02Step 2 – Serum starvation: On the day of stimulation, aspirate medium from all wells and wash once with 2 mL warm PBScompleted04:02:00
  3. 03Step 3 – Insulin stimulation: Prepare 8 insulin working solutions (0, 0completed00:15:00Eight working solutions prepared fresh; plate returned to the incubator between additions.
  4. 04Step 4 – Lysis: Aspirate insulin solution, place plate on ice, wash wells twice with 2 mL ice-cold PBSdeviated00:41:30Deviation. Well C3 reached lysis buffer roughly 90 s after the rest of the plate. Recorded against the step rather than discarded, so the deviation travels with the result.
  5. 05Step 5 – Protein quantification: Thaw lysates on ice; perform BCA assay in triplicate using 5 µL lysate + 200 µL BCA working reagent in a 96completed01:05:00BCA standard curve R-squared above the 0.99 gate written into the protocol.
  6. 06Step 6 – SDS-PAGE and transfer: Load 30 µg protein per lane on a 4–20% TGX gel alongside a pre-stained ladder (Bio-Rad Precision Plus, #1610completed03:20:00
  7. 07Step 7 – Immunoblotting: Block membrane in 5% BSA/TBST at RT for 1 hcompleted18:10:00Primary antibody incubated overnight at 4 degrees Celsius.
  8. 08Step 8 – Densitometry and normalization: Quantify band intensities using Image Lab 6completed00:35:00

Read the two halves separately. The step titles are real: they were derived from this protocol when you loaded the page, by the same extractStepsFromProtocol the product calls when a run starts. The statuses, the elapsed times and the notes are not: no run log is public, so those were written for this page. Illustrative input, not a real run. Nothing in this block was measured.

One finding, logged against the step it happened onIllustrative input, not measured
Elevated basal signal in one vehicle lanemediumobservationStep 4

The vehicle lane of replicate 2 sits above the other two at baseline. Serum starvation was extended by 30 minutes for that replicate. Logged against the step it occurred on so the analysis is read next to it rather than after it.

A deviation that stays attached to its step is the difference between a result you can defend and a result you can only assert. This is the stage where most of the evidence a reviewer eventually wants is either captured or lost.

Stage 05 · Statistics

The analysis was chosen before the data existed.

Stage two fixed the statistical plan in writing. Here it is carried out: a table goes in, and what comes out is a return value with a test name, degrees of freedom and an effect size attached, rather than a sentence about significance.

The scientist does

Pastes the 24 measurements into the stats workbench and picks the test the protocol already named.

Olto produces

Returns the test statistic, the degrees of freedom, the p-value, the effect size and the fitted curve, and writes none of it in prose.

Measurements: 8 concentrations, n=3 biological replicatesIllustrative input, not measured
Phospho-AKT to total AKT ratio, normalised to the top concentration.
Insulin (nM)Rep 1Rep 2Rep 3MeanSEM
00.0710.0640.0790.0710.0043
0.10.0860.0780.0940.0860.0046
0.50.1520.1390.1680.1530.0084
10.2440.2210.2630.2430.0121
50.6120.5780.6490.6130.0205
100.8020.7710.8360.8030.0188
500.9580.9310.9810.9570.0144
1001.0000.9721.0281.0000.0162

The mean and the standard error columns are already computed rather than typed: they come from describe() in the same module as the tests below.

Illustrative input, not a real run. Nothing in this block was measured. No experiment was performed and these values are evidence about nothing. They exist so the three blocks after them have something to consume, and every number in those blocks moves when a number here does.

One-way ANOVAComputed on this request
840.9
F(7, 16)
0.0001
p-value
0.997
η²
8
groups

The interpretation line is generated by the statistics module from its own return values, not written here, which is why it reads like a result rather than a claim: The 8 group means differ (η² = 0.997, i.e. 100% of variance explained); highly significant (p < 0.001). Run pairwise post-hoc comparisons to locate the differences.

Each concentration against the vehicle controlComputed on this request
ComparisonDifference in meanspp adjusted (Holm)Verdict at 0.05
0 nM vs 0.1 nM-0.0158.2e-21.6e-1does not separate
0 nM vs 0.5 nM-0.0823.3e-32.0e-2separates
0 nM vs 1 nM-0.1712.2e-32.0e-2separates
0 nM vs 5 nM-0.5429.4e-41.1e-2separates
0 nM vs 10 nM-0.7323.7e-45.7e-3separates
0 nM vs 50 nM-0.8858.7e-51.9e-3separates
0 nM vs 100 nM-0.9291.3e-42.5e-3separates

A discrepancy, stated rather than smoothed over. The protocol names Dunnett’s test. The workbench ships Holm-corrected pairwise comparisons, and that is what ran here. Two consequences, both worth knowing before you read the column: the correction was applied across all 28 pairwise comparisons rather than only the 7 against the control shown here, which makes these adjusted values more conservative than a many-to-one procedure would give; and if your analysis needs Dunnett specifically, this workbench does not have it yet.

4-parameter logistic (4PL)Computed on this request
3.70
EC50 (nM)
0.9968
R-squared
0.0211
RMSE
20
residual d.f.
Best-fit parameters, with standard errors
a (bottom)1.0112 ± 0.0129
b (Hill slope)-1.1785 ± 0.0629
IC50/EC503.7022 ± 0.1931
d (top)0.0728 ± 0.0101

Solved by Levenberg and Marquardt in 8 iterations, from a deterministic initial guess, so this fit is the same fit on every request. The parameter labels follow the module’s own parameterisation, y = d + (a − d) / (1 + (x/IC50)^b), in which the third parameter is the half-maximal concentration and the sign of the Hill coefficient follows the direction of the curve. In the product this runs in your browser and the table never leaves your machine; on this page it ran on the server, because a marketing page has no table of yours to protect.

Stage 06 · Passport

This is what you give the person who asks how you got that number.

The Reproducibility Passport is a public page with a completeness score, a per-dimension breakdown, a fingerprint and a citation string. It is computed from the protocol's public fields alone, which is the reason it can be shown to a stranger at all.

The scientist does

Sends one link, or drops the citation string into the manuscript.

Olto produces

Weighs 5 dimensions of the public record into one score, grades it, and says in plain sentences what would move it.

Reproducibility PassportComputed on this request
C
63completeness, weighted across 5 dimensions

Graded Developing. The method carries 7 of 7 rigor signals, and the score is still what it is, because methodological rigor is one dimension of 5. The others measure provenance, transparency and standards alignment. Community uptake and bench evidence are shown below and deliberately carry no weight: one is other people’s behaviour and the other is private, and a grade printed beside a content fingerprint may only depend on what a reader can check.

The dimensions
Methodological rigor100 at weight 0.30

7 of 7 reproducibility signals present.

Design quality89 at weight 0.18

Average design score 89/100.

Standards alignment0 at weight 0.12

Whether the method aligns to recognized methodological standards.

Provenance67 at weight 0.14

Where this protocol came from and how it has evolved.

Transparency0 at weight 0.14

How traceable the authorship and sources are.

Validation0, not scored

Bench evidence is not part of the public record, so it is not scored here.

Community engagement0, not scored

How others have engaged with this protocol. Shown for context and deliberately not scored: it measures readers, not the record.

Fingerprintrpf_fdgmv49d
Versionv1
Cited standards recognisednone cited
Forks, stars0, 0

Every value here is recomputed from the same public row that fed the stages above, by buildPassport. Open the live Passport and the grade, the completeness and the fingerprint should match this block exactly. If they ever do not, one of the two is wrong and you have caught it.

What the record says is missingComputed on this request
  • Reference a recognized standard your method follows (e.g. ISO 17025, ASTM, USP, 21 CFR Part 11).
  • Add a references section citing the sources your method builds on.
  • Link the author ORCID iD for verifiable attribution.
  • Iterate and version the protocol — a revision history strengthens provenance.

This list is the part a vendor would cut. It is the point of the artifact: a record that only ever flatters its subject tells a reviewer nothing, and a scorer that cannot mark its own showcase down is not an instrument. Nothing here is hidden behind a login or a paid tier, and the same list appears on the public Passport.

The citation string, as a reference manager would take itComputed on this request
Insulin Dose-Response Quantification of Phospho-AKT (Ser473) and Total AKT by Western Blot in Differentiated 3T3-L1 Adipocytes [Reproducibility Passport]. (2026). Olto Discovery. https://www.oltodiscovery.com/passport/insulin-dose-response-quantification-of-phospho-akt-ser473--c4a6385c

A citable permalink, with a JSON manifest and a PDF beside it that carry the same fingerprint. It is not a registered DOI: minting is written but env-gated and dormant, so the identifier here is the Passport URL, and the citation prints that rather than implying an identifier we do not hold.

Open the live PassportRead the full protocol
The end of the loop

Six stages, and one record that carried through all of them.

Nothing above was retyped between stages. The goal is a column on the protocol, the fingerprint is a function of the protocol, the run steps are derived from its procedure, the analysis was named in its Statistical Analysis section, and the Passport is computed from the same public fields. That continuity is the product.

A permalink

One public URL that renders the whole record, with no account and no request for a demo between a reviewer and the thing they asked to see.

A fingerprint

A content address that survives rewording and unit changes, so a reviewer can tell whether two protocols are the same experiment without reading both.

A rigor breakdown

7 named signals with a verdict and a reason each, recomputable from the published patterns by anyone who wants to disagree with one.

A citation string

Ready for a reference manager, in APA, BibTeX and RIS, with the identifier stated plainly for what it is.

What this record is not.

  • Not a claim that the experiment was performed. Stages four and five are illustrative and are labelled as such wherever they appear.
  • Not a signature, and not proof of authorship. The fingerprint is a content address, and the module that computes it disclaims preimage resistance in the same file.
  • Not a registered DOI. Minting is dormant, so the citation carries the Passport permalink instead.
  • Not a judgement about the science. A deterministic score can be reproducibly wrong, which is why every engine claim on this site stands on three legs: cited to a published source, unit-tested against it, and recomputable by you.

Exactly one model call appears in these six stages, at stage two. It drafted the prose and returned the four design scores, and it touched nothing else. Of Olto’s 454 server routes, 31 call a language model and the other 423 compute. That is stated with its limit attached, because the unscoped version would be false: one protocol risk score elsewhere in the product is a model assessment, and so are those four design scores, which is why they are labelled where they appear. What a model never writes is the Fingerprint, the Rigor Score, the statistics or the Passport. Those it can narrate. It cannot compute them.

Now do it with your experiment.

One sentence into the generator, no account and no card, and the same six stages are open to you. The record at the end is public only if you publish it.

Try OltoBrowse the open library