Calibrating a color printer without a densitometer means decoding a photo and comparing hues by eye. COLORLAB automates that decode: it takes a photo of your fresh target placed next to a reference target, analyzes the light, guides you to point 14 color patches (7 on your print, 7 on the reference), then calculates CMY deviations and offers you a verdict with actions. You don't measure by eye — the app does, but within a frame you control at each step.
#What you see on screen
You enter a chain of 14 screens designed like a guided questionnaire. Each one asks for a precise action, validates the input, then advances or sends you back.
Screen 1 — Welcome. Introduction to the assistant (about 4 minutes, no densitometer required). Optional demo mode: you can see 14 pre-calculated presets to explore the interface before launching your own print run.
Screens 2–3 — Print preparation. The app generates an A4 300 DPI PNG of a Venn target: three nested CMY circles (cyan, magenta, yellow) on a white background. You download it, print it, then the app guides you through drying: one layer per day (day 1 = Yellow, day 2 = Magenta, day 3 = Cyan), with 24 hours of drying between each. A counter tracks your progress.
Screen 4 — Photo. Drag-and-drop (or import) a single JPEG, PNG, or WebP photo (max 10 MB). The photo must show two targets side by side: the one you just printed and a reference printed target, in natural light. The constraint is strict: one photo, two sources. Calibration Flow expects exactly this composition.
Screen 5 — Light Check. The app automatically analyzes the brightness between the left target and the right one by calculating the raw RGB difference (Euclidean ΔE). If ΔE < 25 pixels, it's ok. Between 25 and 50, it's warning (flag
light.degraded). Beyond: light too uneven, you need to retake a photo. ⚠️ This check only detects raw luminance, not color temperature (Kelvin) — an asymmetric warm cast can pass ok visually but skew your verdict.
Screens 6–7 — Paper white. You point with a zoomed magnifier (×4) at the paper white on both targets: first the white of your print, then that of the reference print. The app samples the RGB of each point. If the white is too colored (R+G+B < 450), it warns you. The two points must be spaced more than 50 pixels on screen — otherwise the app thinks you've mispainted the same white twice.
Screen 8 — Quiz Brief. Sequential narration (90 seconds) explaining what comes next. You launch the quiz or resume a prior attempt (the app remembers your progress).
Screen 9 — Quiz Patches. The mechanic: you must point 14 patches total. 7 on your print (Y, M, C, MY red, CM blue, CY green, K black) and 7 identical ones on the reference target. For each tap, the app samples the RGB and heuristically validates whether you've found the right zone (e.g., Y must satisfy r+g > b+30). If you miss, undo is available. Counter: 0/14 up to 14/14. Invisible timeout: after 250 ms, the screen advances automatically to the next patch for fluidity.
Screens 17–18 — Compute and Verdict. Compute: blurred background, marked pulsing animation for 4.5 seconds. Narrator voice enumerates 3 sentences (parallel pipeline: white balance gains → ΔE2000 Lab → score 0–100 → channel deltas + action). Verdict: badge with score + emoji band, dynamic title ("Excellent", "To verify", "Correction required"), detail table (14 patches measured vs. expected), prescribed action (excellent → profile ok and memorize; warn → check light and retake; critical → generate ACV curves for Photoshop), full JSON export, "Redo" button.
#Why it matters
Measurement without a densitometer. A densitometer is an investment few amateur studios justify. The app lets you measure CMY deltas by direct RGB sampling from a photo, saving you the hardware and on-site calibration time.
Automated pipeline. Instead of pointing by hand at a target, noting RGB values, pulling out a calculator and interpreting gaps, you answer yes/no to 14 visual questions. The app calculates everything. Less error, less friction.
Actionable verdict. The score (0–100) alone isn't enough — the assistant tells you what to do: if excellent (≈95+), keep your current profile and you're good. If warn (70–94), check your light conditions and re-print. If critical (<70), the app generates ACV adjustment curves for you to load in Photoshop or exports JSON for a third-party pipeline.
Traceability. Each measurement is timestamped, exported, compared to history. You know if your printer is drifting slowly or fast over weeks.
#When to avoid it
Demo mode. The 14 presets on screen 1 generate a synthetic 82/100 verdict ("warn"). This is FABRICATED — no real photo, no real measurement. It's just to explore the interface. Don't use it to make a real calibration decision.
Asymmetric mono-target photo in light. The design constraint demands two targets side by side in one frame. If your light source is directional (lamp from one side), the right target will be brighter than the left, or vice versa. Light Check will flash warning/critical. The design can't fix this asymmetry — you need to retake with more even light (wide window, diffusion, or two-sided lamp).
Heuristic patch analysis with noise. The validation heuristic is coded (e.g., Y = r+g > b+30). On a very noisy photo, or overexposed, or shot with flash, these thresholds can fail false positive or false negative. The app warns you "color not recognized" and offers undo, but you must know that photo noise can fool the measurement.
Identity fallback curves. If the ACV curve computation fails (bridge file unavailable, data inconsistent), the app exports a default curve ((0,0)→(255,255) = no correction). It's a transparent safety net but frustrating for the user — you think you're exporting a correction, but it's an inert curve. Check the JSON output: if all channel adjustments are zero, the calculation didn't converge.
Resume after weeks. The app remembers your quiz progress in localStorage with no TTL. You can resume a quiz 3 weeks after starting it. It's a UX bonus, but be aware: if your printer conditions have changed in the meantime, the measurement is stale.
#At a glance
| Element | Detail |
|---|---|
| Chain | 14 screens (welcome, print, 3-day drying, photo, Light Check, White User/Ref, Quiz brief, Quiz 14 patches, Compute, Verdict) |
| Inputs | CMY Venn A4 print target + single double-target photo max 10 MB |
| Thresholds | Light Check: ΔE <25 ok, 25–50 warning; Paper white: R+G+B ≥450 |
| Patches measured | 14 total (7 user: Y/M/C/MY/CM/CY/K + 7 reference identical) |
| Score | 0–100; bands: excellent ≈95+, warn 70–94, critical <70 |
| Outputs | Verdict badge, detail table, prescribed action, JSON export ACV curves |
| Duration | 3-day print drying + 10–15 min photo/measurement on screen |
| Prerequisites | Color printer, white paper, natural or stable light |
| Limit | Single double-target photo = asymmetric light uncorrectable; patch heuristic = sensitive to noise |
#The test
Print a Venn target, let it dry 3 days (Y day 1, M day 2, C day 3 + 24h final). Place it next to a reference printed target, photograph in soft light (window without direct sun or diffused lamp). Import the photo into the app. Light Check should pass ok (<25 ΔE) — if warning or critical, retake with more even light. Point the two paper whites (min 50px apart). Quiz: point the 14 patches in order (7 user + 7 ref). The app should heuristically validate each color (undo if error). Watch the Compute (4.5s animation + narrator voice). Verdict: score and action. Check the exported JSON — the channel adjustments (Y, M, C deltas) must be non-zero (otherwise identity fallback curve = no correction). If score excellent (≥95), your measurement is reliable; if warn, retake; if critical, load the ACV curves into Photoshop and re-print to validate.
