The Workbench
The Workbench is where active research lives day to day. One page with four core tabs (Projects, Experiments, Notes, Lists), each with its own way of grouping work, plus a fifth tab that appears only for people in a 1:1. The URL is /workbench, and /experiments still redirects there for backwards compatibility.
Four tabs, four ways to slice the work
The Workbench packs four different views of your in-flight work into one page. The tab strip across the top names them and gives each a color identity. Projects (indigo), Experiments (blue), Notes (emerald), Lists (violet). The active tab fills with its color, and the others read as gray text buttons. Projects is the default landing tab, so opening ResearchOS drops you on a grid of your projects rather than a flat task list (see Project Surface).
Each tab uses a different organizing principle. The Projects tab is a browsable grid of project cards. The Experiments tab arranges protocols by stage in a status-banded list (the default) or a four-column kanban board, toggled with a List/Board button in the pane header. The Lists tab groups list tasks by how close their dates are to right now (overdue, doing, upcoming, recently done, earlier). The Notes tab skips grouping entirely and offers a flat, search-driven list. So if you want to know "what can I run today," you reach for Experiments. If you want to know "what paperwork is overdue," you reach for Lists. If you want to find the meeting note from three weeks ago, you reach for Notes.
A fifth tab appears for some people. Lab heads, and any member who is in a 1:1, also see a role-relative Mentoring or Check-ins tab (rose), the shared advising surface for a lab-head and member pair. It is gated, so a solo user with no 1:1s never sees it.
The project filter pill strip
On the Experiments and Lists tabs, a row of colored pills sits below the tab strip, one per project, plus an All projects pill on the left. Click a pill to narrow the view to that project, and click it again (or pick a different one) to clear. The filter carries across those two tabs, so picking a project on Experiments and switching to Lists opens Lists already narrowed to the same project. That keeps a single research question coherent across the two views.
Standalone tasks with no project
Some tasks never get filed under a project. A one-off experiment you spin up in the "Miscellaneous" standalone slot stays project-less on purpose. To move a task into or out of a project later, open it and use the project dropdown on the popup's Details tab. Alongside your real projects it offers a Standalone (no project) option. Pick it to drop the task off every project, or pick a real project to file an orphan task back under it. On the Gantt timeline the project dropdown also carries a Standalone toggle so you can show or hide those orphan tasks while a specific project is in focus.
The Experiments tab
The Experiments tab arranges every experiment task in your library by stage of the protocol. It opens in List view by default, a dense status-banded list grouped into sections (In flight, Awaiting write-up, Recent results, Earlier). A List / Board toggle in the pane header switches to Board view, which spreads the in-flight work across a kanban board of four side-by-side columns.
A left rail runs alongside both views. The top of the rail has a Status section (All experiments, In flight, Awaiting write-up, Recent results, Earlier) and a By project section with one entry per project. Clicking any rail item narrows the pane to that scope without leaving the tab. Below the project list are two filter groups, Owner (Mine / Shared with me) and Filter by method (one chip per method name used across your experiments). These compose with each other and with the status and project navigation above them.
The in-flight section of the list and the full board share the same four stage categories.
Ready to start
Experiments scheduled to begin today or recently, with no incomplete upstream task blocking the start. These are the cards you can pick up and run today, so the column reads first on the left.
Blocked
Experiments that depend on an upstream task that hasn't finished yet. The blocking parent's name renders directly under the card in a small amber strip so you know what you're waiting on. Click the parent name to jump straight to that task and unblock the chain.
Running
Experiments where today falls between the start date and the end date. Each card carries a Day N of M freshness label, and (if the experiment is part of a chain) a gray Next: pointer to the experiment that follows it so you can step through a multi-day protocol without leaving the Workbench.
Awaiting writeup
Experiments marked complete but with no results body or attached images on disk yet. This column is your reminder pile, the bench work is done but the writeup is still owed. When the column is empty it shows a bordered emerald chip reading "All recent experiments have results logged" in place of cards.
Recent results
Below the board, the Recent results zone holds completed experiments with results landed in the last 30 days, in a wide full-card grid. When you have results across two or more projects, the zone sub-groups them by project (a small colored dot per project header) so a busy month doesn't collapse into one undifferentiated grid.
Earlier results
The archive at the bottom, completed experiments older than 30 days. The zone header carries a Flat / By project toggle so you can flip between a single time-ordered grid and one block per project. There's no time cap, so the whole completion history is reachable from one place. Long archives page in behind a Show more control, and by-project groups start collapsed.
Cards and chains
Each card carries the experiment name, a project pill, the project color along the edge, a hero image (if the writeup has one), a method chip strip, and a freshness label keyed to the column it sits in. When an experiment is part of a dependency chain, the Running card shows a gray Next: pointer to the experiment that follows it, and a blocked card shows the parent it's waiting on. The Gantt page is where you walk a chain step-by-step.
+ New Experiment
The blue button at the top right of the tab opens the New Task modal with the type pre-selected to experiment. It is the same modal you'd get from the Gantt.
The Notes tab
The Notes tab holds every note that isn't tied to a specific experiment. Meeting notes from a Tuesday lab meeting, a running log of equipment-room weirdness, half-formed ideas you want to find again next month, they all land here, in one flat list with no section headers. The choice to skip grouping is deliberate. Notes are search-first, not date-first, because a researcher coming back to a note usually remembers what the note was about, not when it was written.
The header carries a search box on the left and three type filter buttons in the middle (All, Single, Running Logs). Single notes are one-page records of a moment (a meeting, an idea). Running logs are timestamped multi-entry pages you append to over time (an equipment journal, a daily standup log). The New Note button on the right opens a dropdown that asks which kind to create.
The Lists tab
The Lists tab is the queue view of every list task you own. Lists are the non-experiment task type, things like checklists, paperwork, ordering tasks, errands, anything that isn't a protocol. The Lists tab sorts them into five stages by how their dates relate to today, stacked top-to-bottom in this order.
- Overdue: list tasks whose end date has passed and that aren't complete yet. The first thing in your queue every morning.
- Doing: list tasks where today falls between start and end.
- Upcoming: list tasks scheduled to start within the next 14 days. Tasks starting further out are omitted from the main list, and a small gray footnote below the section reads "+ N scheduled later than 14d out" so you know they exist without cluttering the view.
- Recently done: completed in the last 30 days.
- Earlier: completed more than 30 days ago. Collapsed by default, so click the header to expand.
Each card carries the task name, a project color dot with the project name, and a date signal phrased relative to today ("3d overdue", "Started yesterday", "Starts in 4d"). Clicking a card expands it inline as an accordion panel. Opening one card collapses the previously-open one.
Expanding a list task inline
Clicking a list card expands it in place. A violet border highlights the open card, and a panel slides down below the header row. Inside the panel, you get these controls.
- The name row lets you click the name to rename it inline. Press Enter or click away to save.
- The sub-task checklist lets you tick individual items to check them off. Click an item's text to rename it, and the delete icon appears on hover to remove an item.
- Add item appends a new item to the checklist when you type in the input and press Enter (or click Add).
- The Mark list complete button in the footer marks the whole list done and cascades all un-checked items to complete. Click again to mark it incomplete.
- The Open full view link in the footer opens the legacy full-screen popup for the same task, useful for the Details and date-editing fields not exposed in the inline panel.
Opening an experiment, the four-tab popup
Clicking any experiment card opens a centered modal. The popup always opens on the Details tab, regardless of whether the experiment is ready, running, awaiting writeup, or completed. You land on the same view every time, then pick the tab that fits the task at hand.
The popup carries four tabs across the header.
- Details is the entry tab. It holds the name, dates, duration, project, tags, and the high-level toggles. If the task carries a (legacy) deviation log string, it renders here in an amber box.
- Lab Notes is the during-the-run markdown body, with a bottom attachment strip (Images / Files tabs) for photos, PDFs, and other files.
- Method shows one tab per attached method, with the Variation Notes panel and (for PCR methods) an editable gradient and recipe.
- Results is the second markdown editor, for the final writeup (the gel image you'd put in a paper, the plot for a thesis chapter), with its own attachment strip.
The header row also holds a green completion checkmark, an Export icon (down arrow, experiments only), a Share button, a fullscreen toggle, and Delete. Drag any file onto the popup and it lands in the last-viewed editor tab's Files/ or Images/ folder, with a confirmation toast at the drop point.
Lab Notes and Results
The two markdown tabs hold different kinds of writing on the same experiment. Lab Notes is the during-the-run record, holding running observations, what reagents you grabbed, what went sideways, the photo you took at the bench five minutes ago. Results is the final-output writeup, holding the gel image, the plot, the short summary of what the experiment actually showed. Both live on the same task and both write to the same per-task folder on disk, so flipping between the two tabs in the popup is instantaneous.
Both tabs use the same editor surface, a single live markdown body with an Edit / Preview toggle, an attachment strip (Images / Files tabs) pinned below the editor, and an Add File toolbar button. Saving is explicit, so each Save checkpoint records a revertible version you can browse and restore from the Version history button. The full editor reference (shortcuts, the language picker, image-resize popovers, the attachment strip, checkpoints) lives on its own page, The Markdown Editor.
Drag images straight into the body to place them inline, or drop them on the strip to attach without inlining. Switch the strip to its Files tab for non-image attachments (PDFs especially). Click a file link in the prose to open or download it.
Attach a method (or a PCR protocol)
- Open the Method tab and click the + button on the tab strip.
- The Method Picker opens with Recently used in this project and Recently used pinned at the top, the full library below grouped by folder, and a search box that also takes
#tagqueries. PCR protocols show up alongside markdown methods (their tab gets a small PCR badge). - Pick a method. It becomes a new tab on the strip. Attach as many as the experiment needs.
Variation Notes and per-run PCR tweaks
Each attached method has a collapsible amber Variation Notes panel at the top of its tab. Click + Add Note and the editor prepends a fresh ### Variation - <date> <time> heading so each entry is timestamped. Hover any rendered entry to reveal an in-place delete button. The notes save back to the experiment, not the method, so the shared method file stays clean.
For PCR-typed methods, the gradient editor and recipe table below the variation panel are editable per-experiment. Reset to Method drops your overrides back to the protocol's defaults, and Save Changes writes them to this task only.
The deviation log
Sometimes a run drifts from the protocol in a way worth recording on its own, not just a tweak but a real deviation. When a task carries a deviation note it renders in an amber box on the experiment's Details tab, so the next person to read the experiment sees exactly what was different.
The Note Deviations dialog is where you write one. You describe what changed during the run, then choose what to do with it.
- Save to task results only. The deviation is recorded in this task's log and the underlying method stays untouched. Use this for a one-off change that only mattered for this run.
- Fork as new method. The deviation becomes the seed of a brand-new method file, created as a child of the original with the deviation baked into its text. Use this when the change is good enough to keep as its own protocol going forward.
Export an experiment
Click the down-arrow icon in the popup header (tooltip: Export experiment) to open the Export dialog. The dialog heading reads Export <experiment name> and lists three format cards, each with a short description of what you get and who it's for. Click a card and the file downloads straight to your browser's Downloads folder.
- PDF report: a professional, printable PDF with a title page, a clickable table of contents, an outline pane (bookmarks) for jumping between sections, and inline images. Lab Notes, Results, every attached method (rendered, with per-run PCR tweaks), Sub-tasks, the Deviation log, and a Files attached appendix all live in the same document. Text is selectable, so you can copy passages straight out into a thesis chapter, IRB filing, or grant report.
- HTML report: a single self-contained
.htmlpage bundled in a.zipwith its attachments. Images are base64-inlined so the page renders even offline, and PDF methods and other non-image files sit alongside inattachments/Notes/,attachments/Results/, andattachments/Methods/. Open it in any browser, or mail the zip to a collaborator who doesn't run ResearchOS. - Raw ResearchOS format: the full experiment as a sharable
.zipbundle (task.json,project.json, the rawnotes.mdandresults.md, each method as its own JSON file including PCR protocols, plus every attached image and file in the same folder layout the app uses on disk). This is the format another ResearchOS user imports through Settings → Import experiment to land the experiment in their own folder with all the methods, PCR protocols, and attachments wired up.
While the file builds, the dialog shows a Preparing export… spinner and disables every button (Escape and the backdrop are also locked) so you can't kick off a second export by accident. If anything goes wrong, an alert shows the error and the dialog stays open for a retry.