Where we currently stand

Roadmap

We're working on the first productive report for a pilot practice. This page shows what is already built and what's coming next.

What's coming next

Planned and in progress.

In progress

Towards the first productive practice

What we're building so the first pilot doctor can use their scanner right away.

  • BackendIn progress

    Live scanner integration

    Ingest pipeline live against a real Isemeco device, not just sample data.

  • BackendIn progress

    3D render worker

    Dedicated worker service that renders rotating report GIFs from the .obj model and texture images.

  • BackendPlanned

    Server-side 3D reprojection

    Render pipeline that warps UV-texture overlays (pores, brown spots) back onto the 1:1 front projection, so all markers sit exactly on the face instead of floating as cheek wings.

Planned

After the first pilot

Features we'll build once the foundation is in place at one practice.

  • BackendPlanned

    GDT integration with practice software

    Hand reports automatically into the practice-management system (e.g. medatixx, T2med) via the GDT interface, instead of just an email link.

  • BackendPlanned

    Multiple practices per account

    Multi-tenancy for practices with multiple locations or MVZ structures.

  • FrontendPlanned

    Multi-language reports

    Patient report already available in German and English; French and Italian to follow.

  • CompliancePlanned

    Finalise MDR classification

    External regulatory assessment of whether and in which class Dermalia qualifies as a medical device.

Already built

Releases.

v0.4.02026-06-02

Findings cockpit: the interactive 3D viewer for the consultation

New in the practice dashboard: a fullscreen cockpit to freely rotate and zoom a patient's 3D scan, toggle capture and diagnostic layers, and discuss the findings right on screen — with timeline and side-by-side comparison plus a treatment and home-care layer.

  • New

    Interactive 3D findings

    Open any processed scan in a fullscreen 3D view: rotate and zoom freely, quick views (front/45°/profile) and a live rotation angle. Toggle light modes (daylight, polarised, UV) and diagnostic layers (pores, pigment, UV markers, redness, porphyrins) right on the face — with a score and short read per layer, plus clickable wrinkle regions.

  • New

    Timeline & side-by-side comparison

    When a patient has several scans, switch between them on a timeline and see the change as a value — or place two scans side by side, rotated in sync, for a direct before/after.

  • Frontend

    Treatment & care in the conversation

    The cockpit shows the treatments from your catalogue that match the findings. One click highlights the affected area on the model; matching home-care ingredients are shown alongside.

  • Frontend

    Quick access in the findings list

    Every finding can be opened in 3D with one click; the per-row actions were tidied into a compact menu.

v0.3.72026-06-02

Before/after comparison in the report

When a patient returns for a second scan at the same practice, the report now shows what has changed since last time — right below the overall score, in both the web report and the PDF.

  • New

    Before/after comparison

    On a follow-up scan at the same practice, the report shows a comparison with the previous result: overall skin score and all five axes (wrinkles, pores, pigment, redness, hydration) with their change, plus a short read on the development. Appears in the web report and the PDF when the comparison module is active.

v0.3.62026-06-02

Passkey sign-in, expiring report links and consistent logo framing

Signing in to the practice dashboard with a passkey (Touch/Face ID or Windows Hello) now works reliably. Report links expire after a while for privacy, and the practice logo is framed consistently across the report and PDF.

  • New

    Passkey sign-in

    Practice teams can now sign in with a passkey (Touch/Face ID or Windows Hello) and register passkeys in their account — safer and faster than the magic link.

  • Design

    Consistent logo framing

    The practice logo now sits in a clean light chip across the report and PDF, regardless of the uploaded logo's background. Without an uploaded logo, a subtle practice monogram appears.

v0.3.02026-03-16

Account passkeys, live threshold preview and report polish

Passkeys now sit on the personal account rather than on a practice and survive switching practices. The threshold sliders in the report editor take effect instantly inside the preview iframe, and the PDF report renders the practice logo and score layout cleanly.

  • Frontend

    My account on its own route

    Passkeys and personal identity live under /dashboard/konto. Practice master data stays under Settings. Login methods survive a practice switch or an impersonation. UserMenu and the mobile nav both link to the account page.

  • Frontend

    Threshold sliders apply instantly in the preview iframe

    The preview bridge now classifies score buckets client-side with the same logic as the server. Wrinkle tile colours and stage labels update live as the threshold sliders move in the report editor.

  • Fix

    Practice logo in the PDF

    Vercel-Blob URL pattern in the PDF renderer is now correct. Logos reliably appear in the report PDF. SVG logos fall back gracefully to the practice name, because react-pdf cannot render external SVGs.

  • Design

    Score and value cards with proper spacing

    The score cards in MetricBlock and WrinkleRegionCards now stack cleanly on narrow containers with 40px between the number and the next label. On wide screens the two-column layout stays.

v0.2.02025-11-18

Befund editor, smart recommendations and practice domains

A single editor for every report content surface with live preview, AI-driven treatment and ingredient recommendations per metric, practice subdomains and custom domains. Plus a Phase-2 landing, synthetic demo report and consistent mobile polish.

  • Frontend

    Unified report editor with live preview

    Texts, modules and thresholds in one editor with an iframe live preview of /analyse/beispiel. Typing updates the preview instantly via postMessage, module toggles show and hide sections on the spot. One Save button batches every change. Mail and PDF previews in their own tabs.

  • AI

    Treatment and ingredient recommendations under each metric

    Per report the practice catalogue is matched against the score signals. Each recommendation surfaces directly under the metric that triggers it. Per module you decide whether treatments, ingredients or both appear, plus global CTA gating (off, signals only, every card).

  • Frontend

    Ingredient shop links and conversation summary

    Practices add affiliate or shop URLs per ingredient. At the report end a conversation-summary card collects every triggered treatment with a practice-contact CTA.

  • AI

    Patient chat with practice catalogue context

    AI Q&A receives the practice treatment and ingredient catalogue as context. Answers stay MDR-safe (no diagnosis, no therapy recommendation) yet reference the real services the practice offers. Mobile polish: larger input area, better keyboard handling.

  • Infra

    Practice subdomains and custom domains

    Every practice automatically gets a slug.dermalia.de subdomain for their reports. Custom domains like befund.praxis.de can be added self-service; the Vercel domain API verifies and attaches the host end-to-end. Practice hosts serve only the patient report and redirect everything else to the apex.

  • Frontend

    Phase 2 landing page

    Nine-chapter narrative with practice tools, a specs strip and a clear product path. Duplicate CTAs removed, phone number and contact block corrected.

  • Frontend

    /analyse/beispiel without an Isemeco fetch

    Marketing and editor previews run on a fully synthetic view model. No external dependency, no drifting data, six placeholder spectra with the same visual structure as a real report.

  • Mobile

    Mobile polish across the report

    Tightened header and hero, doctor subline stays visible, consistent section padding, radar no longer clips, mouth markers placed correctly. Em-dashes removed from user-facing copy.

  • Frontend

    Clean split between Account, Profile and Branding

    Practice profile, identity and booking URL now live under Branding. Account is for the person only. Sidebar labels corrected, the settings hub now feels like a configuration surface rather than a form dump.

v0.1.12025-09-02

Configurable score thresholds

Practices now decide at which score each report text appears. Seven metrics plus wrinkle stages, each with a slider editor, live preview and per-field reset to the Dermalia default.

  • Backend

    Per-practice thresholds for every score-driven text

    Acne, brown spots, UV markers, surface pigment, pores, redness and overall wrinkles, each metric carries its own ‘high’ and ‘mid’ cut-off. The mapper reads the cut-offs fresh per report; without an override the Dermalia default stays in effect.

  • Frontend

    Threshold editor in the settings hub

    New tab inside Report content with slider + numeric input per cut-off, a coloured preview band per metric, and a 4-stage editor for the wrinkle classification. Owner and admin can save or reset to the default with one click.

v0.1.02025-07-15

Phase 2, Patient report v2

Nine-chapter narrative arc with AI commentary, settings hub for practices and before/after comparison. dermalia.de live, mail delivery verified.

  • Frontend

    Report as a guided journey

    9 chapters from hero through radar, captures, strengths/signals, wrinkles, pattern to conversation and next steps. Sticky 3D hero, consistent imagery, clear section transitions.

  • AI

    AI narrative engine

    Structured narrative output via Gemini Pro with five beats (headline, strengths, signals, pattern, conversation) and MDR-safe hard constraints (no diagnosis, no therapy advice).

  • Design

    Consistent imagery

    All capture tiles and detail blocks share the same source per spectrum. UV-texture 2:1 images with misalign trap removed, only 1:1 front projections or heatmaps with baked-in face base.

  • Frontend

    Settings hub with sidebar

    Dedicated navigation for profile, branding, content (modules + texts), treatments, ingredients, members and privacy. Tabbed UI for content, clean separation between practice identity and visual brand.

  • Backend

    Treatment and ingredient CRUD

    Practices maintain their own treatment catalogue and ingredient library. Report recommendations draw from this curated list instead of generic marketing copy.

  • Frontend

    Before / after comparison

    Two reports of the same patient side by side with score deltas and visual diff across spectra. Proves treatment effect without marketing claims.

  • Frontend

    PDF export of the report

    Print-ready PDF with practice branding, all metrics and wrinkle regions. Identical layout to the web report, cleanly rendered via @react-pdf.

  • Infra

    dermalia.de live

    Apex + wildcard domain on Vercel, Resend for mail.dermalia.de verified with DKIM/SPF/DMARC. Report and auth mails now arrive from our own domain.

v0.0.12025-05-06

Initial scaffold

Setup day: repo, Isemeco backend skeleton, in-house design system, patient report demo.

  • New

    Project repo created

    Next.js 16, React 19, Prisma 7, Tailwind 4, Better Auth 1.6 as the default stack.

  • Backend

    Isemeco API integration scaffolded

    Token management, 3-endpoint fallback (D8/D9), asset download with magic-bytes detection and minimum-size check.

  • Backend

    Ingest pipeline with waitUntil

    POST /api/ingest/:reportId triggers the entire pipeline in the background. Response returns immediately.

  • Design

    In-house design system

    Editorial-medical, Inter throughout, formal address, calm typography, consistent score scale.

  • Frontend

    Sample report under /analyse/beispiel

    Complete report page with radar chart, score displays and metric blocks. Runs without DB connection.