65 KiB
FlowCV UI/UX investigation
Research completed 20–21 October 2026. Targets: resume dashboard and cover letters. The user operated the browser manually; REA passively inspected the page, took screenshots and observed bounded network windows through the dedicated localhost CDP endpoint. No scripted clicks, typing, navigation, upgrades or privileged API calls were used.
Evidence standard and boundaries
- Verified: visible screenshot/DOM/accessibility or network metadata within a stated checkpoint; explicitly attributed user observations are identified. Source findings for Jobjakt are separately labelled Verified — source.
- Inferred: a plausible interpretation of that evidence, not established implementation behaviour.
- Not Tested: no successful behavioural verification. It never means a feature is absent.
There are 37 curated checkpoints, each with a PNG and selected DOM/accessibility JSON. Every checkpoint records the user's manual action, findings, original REA evidence identifiers and observation limits. Findings within a checkpoint describe knowledge at that moment; later checkpoints can resolve an earlier Not Tested item. The coverage summary below is the final status.
The endpoint was the user-authorised Chrome-family browser at http://127.0.0.1:9222; REA reported Edge 155.0.4283.62. Desktop captures are generally 1912×948; the cover-letter creation gallery was 1661×948. Mobile captures used a measured 390×840 emulated viewport, despite an approximately 390×844 requested setup. This is not real-device evidence. Capture timestamps are UTC in the JSON; research dates here use Europe/Paris.
Screenshots and extracts use the newly created synthetic Resume 1 / Letter 1, or FlowCV's public sample templates. The initial pre-synthetic capture is excluded from this package. The raw REA session ledger is deliberately not exported. No passwords, cookies, credential headers, storage, request/response bodies or original personal CV content are included. Account and document identifiers are omitted from retained network metadata. Synthetic contact values are not reproduced in the narrative. Screenshots of proprietary sample designs are research evidence only and must not be reused as Jobjakt assets.
DOM files are selected structures, not complete HTML archives. AX snapshots establish reported names/roles/states at a moment; they do not establish a complete keyboard or screen-reader experience. Bounded network observation cannot recover earlier activity or prove durability, causation, exact debounce or backend implementation. No product marketing claim is treated as a verified functional result.
Main UX findings
- Verified — coherent desktop editing loop. The editor keeps forms and a physical-page preview adjacent. Editing an experience title updates the document before Done; section ordering and typography changes also appear in the preview. On narrow screens, a dedicated preview replaces the side-by-side layout. Evidence E2–E3, E13–E14, M1–M3.
- Verified — deliberate, reversible design choice. Gallery selection opens a larger sample/details view, then Use this template applies a bundle of design values. One undo restored the prior design; redo reapplied it. Observed synthetic content remained. This is evidence for one template operation, not unlimited history or full data equivalence. E8–E12.
- Verified metadata / Inferred automatic saving. Successful resume entry PATCH and letter body POST requests occurred while forms remained open before Done. User saw no save feedback in sampled resume edits; final snapshots lacked saving/saved text. A transient indicator may have been missed. The network observations support autosave, but reload durability and failure handling remain Not Tested. E3–E4, L6.
- Verified — separate data and design reuse. Letters start blank and offer explicit contact copying and separate resume design copying, each with source selection and replacement scope. Design copying retained the paragraph and sender. Copying is observed; ongoing synchronization is not established. L2–L9.
- Verified — access limits shape workflows. Draft Cover Letter opens a Pro gate. Duplicate opens a one-resume plan-limit prompt. Successful AI generation and successful duplication are Not Tested; no upgrade was performed. E16–E17, E20–E21.
- Verified snapshot findings / Inferred accessibility risks. Unnamed icon buttons, duplicate MM/YYYY date names and an unnamed letter body textbox were observed. Some modal snapshots retained underlying controls; focus trapping was not exercised. The drag announcement reported position 3→3 despite changed order. These warrant direct assistive-technology reproduction rather than a blanket compliance conclusion. E2, E5, E8–E9, E13–E14, L6, M2–M4.
- Verified form state / Inferred date validation gap. Start 02/2026 and End 01/2026 coexist with no visible error, AX invalid=false and Done available. The user could not choose a prior year but could choose the prior month in the same year. Submission/backend acceptance was not tested; the dates were restored. M4.
- Verified — PDF export path completes. Resume and letter downloads returned 200 application/pdf; user reported completed downloads. Resume success popup was captured. Files were not opened, so page fidelity, font embedding, accessibility and full text retention remain Not Tested. E18, L10.
Final coverage matrix
| Requested area | Final finding / limit | Status | Evidence |
|---|---|---|---|
| Resume navigation/dashboard/cards | Sidebar, new tile, thumbnail/title/edited/A4/overflow and action list observed | Verified | D1–D2 |
| Resume creation | User created a fresh resume before capture; wizard/import/blank transition not observed | Not Tested | D1, E1 |
| Content editing/types | Fifteen existing headings; experience form; add-content chooser; project entry added and retained | Verified for sampled flows | E1–E7 |
| Drag/drop | Mouse section reorder changes outline/preview; rows move aside per user | Verified | E12–E13 |
| Keyboard/touch drag | Instructions present, actual success/cancel not exercised | Not Tested | E1, E13 |
| Templates | Gallery → details → Apply → Undo → Redo, observed content retained | Verified for one template | E8–E12 |
| Layout customisation | One/Two/Mix and numerous controls present; template changed layout; section order changed | Verified presence and sampled effects | E7, E10–E13 |
| Typography | 10.5→11pt and preview update; font groups/options; user reports hover preview | Verified increment/list; hover Inferred | E14–E16 |
| Page preview | Adjacent desktop pages and narrow stacked overlay observed | Verified | E14, M2 |
| Zoom | No dedicated zoom in sampled views; pinch/keyboard/manual zoom not exercised | Not Tested overall | E19, M2 |
| Save | Before-Done save requests, preview update, reopen retained title; exact persistence and error behaviour unknown | Verified observations; autosave Inferred | E3–E4, L6 |
| Undo/redo | Applied template undone/redone successfully | Verified limited scope | E11–E12 |
| AI | Hub/cards and Pro gate observed; no generation/result tested | Verified entry/gate; results Not Tested | E16–E17 |
| Export | Resume/letter PDF metadata and user completion; downloaded contents not checked | Verified completion metadata; fidelity Not Tested | E18, L10 |
| Duplication | Attempt blocked by one-resume gate | Verified gate; successful copy Not Tested | E20–E21 |
| Versions/history | No selector seen in sampled menus; cannot establish absence | Not Tested | D2, E19–E21 |
| Responsive/mobile | 390×840 content/form/preview states; real phone/keyboard/rotation unknown | Verified emulation; hardware Not Tested | M1–M4 |
| Letter creation/editor | New blank → letter content/preview; sender/body/customize exercised | Verified sampled workflow | L1–L7 |
| Shared resume data | Explicit source selection, replacement warning and copied sender fields | Verified copy; live sync Not Tested | L3–L5 |
| Matching designs | Separate copy-design review; compatible settings changed; content retained | Verified mapping; exact equivalence Not Tested | L7–L9 |
Observable network metadata
Only traffic generated by the user's actions was observed; these paths are evidence, not an invitation to call undocumented endpoints. Queries/identifiers, credentials and bodies are excluded.
| Action window | Observed metadata | Interpretation / limit |
|---|---|---|
| Resume title edit, 45 seconds | GET /api/resumes/:document-id 200; PATCH /api/resumes/save_entry 200 | Consistent with before-Done save; no payload/durability proof. See E3 and selected metadata |
| Resume Download | GET /api/resumes/download 200, application/pdf | Successful export response; bytes not inspected |
| Letter body edit, 45 seconds | Two POST /api/letters/save_body 200, application/json | Before-Done requests observed; duplicate-request cause and debounce unknown |
| Letter Download and Overview, 45 seconds | GET /api/letters/download 200, application/pdf | User reported export complete; final dashboard captured |
Client logging/helper traffic also appeared in some windows. It does not prove a user-facing state or explain backend implementation. Selected request metadata is retained in each applicable JSON file.
UX implications for Jobjakt
Inferred recommendations: retain adjacent output feedback, separate design browsing from application, preserve content and make design changes reversible. Keep contact-copy and design-copy distinct. Improve the clarity of saving rather than copying sampled ambiguity. Treat focus/naming/date validation as explicit acceptance conditions. Jobjakt should organise these patterns around an application and its career-data provenance, not reproduce FlowCV's standalone-document appearance.
Priorities are proposal judgments, not measured prevalence: high priority for reliable saving, accessible controls and safe export; medium priority for actual rendered candidate previews and clear compatible design reuse; lower priority for custom zoom or advanced layout controls until user need is established.
Manual walkthrough and checkpoint evidence
The following actions are the actual requested manual sequence. No additional user action is needed now. For reproduction, use only synthetic data in a dedicated test account. Each screenshot captures the resulting state, not a continuous recording of every gesture. Per-checkpoint Not Tested findings are historical; use the final coverage matrix above for overall status.
D1 — D1-dashboard
Manual action: User prepared synthetic Resume 1 before capture; creation actions not observed.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_ad9b4a83d5f903f7a81ecdda728e90787e1acd96e043816e38bb16676ae5e15f
Screenshot: ev_36fa7c238b35367839ebafd99207b3e088840583b067d10addf34a7d0321179e
- Verified — Navigation links, New resume button, A4 document preview, relative edited time, card overflow.
- Verified — Focusable overflow button has empty accessible name.
- Not Tested — Creation, overflow actions, keyboard behavior and autosave.
D2 — D2-card-menu
Manual action: User clicked the Resume 1 card overflow control and left it open.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_e6042f9f3781652d832a21236af57e30b2eb23f4b018b307feb912bfd62b518a
Screenshot: ev_25b9c8c43ab933e0a36c38a5901a28748f3fc902987cf85da908939b647cb9af
- Verified — Overflow opens a panel positioned upward over the card preview, with Edit title, Duplicate, AI translate Beta, Download and Delete.
- Verified — Panel actions are exposed as buttons; no menu or menuitem role appears in this accessibility snapshot. Trigger remains focused; expanded state is not reported.
- Not Tested — Successful duplication, translation, download, deletion, rename validation, keyboard navigation, focus trapping/restoration and versions.
E1 — E1-editor
Manual action: User opened Resume 1 editor and reports adding one of every content type. Add operations happened before capture.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_b0daa0caa9ac03b664b5c02b8d1bc02fb60cef98bb1ae80eef0665fc10203321
Screenshot: ev_06b7ffebb9dfea53dca237ac6c90914006a9b5f901e39ce1b41d1cc256aea484
- Verified — Content editor is at /resume/content. Header links: Overview, Content, Customize, AI Tools; document switcher, Download and overflow control.
- Verified — Desktop split view: section accordions left, document preview right. Current screenshot is scrolled near bottom of content list.
- Verified — 15 headings: Summary, Skills, Languages, Professional Experience, Education, Certificates, Awards, Courses, Projects, Interests, References, Declaration, Publications, Organisations, Custom. Add Content control present.
- Verified — Entry drag buttons expose instructions for Space to lift, arrow keys to move and Escape to cancel. Add Entry and Delete section controls exist.
- Not Tested — Keyboard reorder success, section reorder, add workflow, save state, preview update timing, undo/redo and zoom. No save indicator text observed in this snapshot; this does not prove absence.
E2 — E2-experience-form
Manual action: User expanded Professional Experience and opened the synthetic entry; no edits made during capture.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_222a079e080b076e0bffc9f9d4dd7a3702e27d75d39b5e227d801a62611c40ec
Screenshot: ev_eee014d7499e9b230aa69e7f9ede1548f25e86d40e2e918852810c8420f358b2
- Verified — Experience editing replaces the left accordion pane with an Edit Entry form while the resume preview remains alongside.
- Verified — Employer autocomplete combobox plus Link button; Job Title and Location text inputs; Start Date/End Date inputs with Clear date controls; richtext Description.
- Verified — Richtext tools: Bold, Italic, Underline, Bulleted list, Insert link, left/center/right/justified alignment. AI shortcuts: Improve Writing, Suggest Content, Grammar Check, Shorter.
- Verified — Done button, Get Tips, eye and trash icons, section customization disclosure. Eye/trash buttons have empty names in this snapshot.
- Verified — Both date inputs expose accessible name MM/YYYY despite separate visible Start Date and End Date labels.
- Not Tested — Autocomplete suggestions, date validation, AI results, hide/delete effects, Done semantics and autosave.
E3 — E3-title-edit
Manual action: User replaced Job Title with UX Test Engineer, paused without clicking Done and reported no visible feedback.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_0cd546540fc14303a49e09d45250c176b791539b72dcbc0f1d0f18ed8a3eca30
Screenshot: ev_dfff05a0439ed3fb98374ff00a1ad15ff546de1292246929f4e6a7e36fc7f07e
- Verified — UX Test Engineer appears in document preview while entry form remains open; user did not click Done.
- Verified — 45-second attach window observed GET /api/resumes/:document-id 200, PATCH /api/resumes/save_entry 200 and POST /clientlog 200. No payloads or raw headers captured.
- Inferred — Successful save_entry PATCH during the manual title edit is consistent with automatic saving before Done; no reload persistence or conflict behavior tested.
- Verified — User reported seeing no feedback; final AX snapshot has no saving/saved text. Transient visual indicators may have been missed.
- Not Tested — Reload persistence, exact debounce timing, error/retry, offline behavior, undo/redo, whether Done triggers additional saves.
E4 — E4-section-customizations
Manual action: User clicked Done, reopened experience, confirmed title retention and expanded section customizations.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_94df1db000f48a368e9f348da0bd456417b8971eab9d2cc552d1cd36e4c2414f
Screenshot: ev_1a179ded7f695b3c7bcc55e803712e611faa589ad7e9f74d0ba3c032499a0376
- Verified — UX Test Engineer remains visible after user reports Done then reopening the same entry. This verifies in-app reopen retention, not browser reload persistence.
- Verified — Section disclosure expands and changes name to Hide customizations for this section with expanded=true.
- Verified — Work Experience customizations show two Title/Subtitle Order choices: Job Title - Employer and Employer - Job Title; latter visibly selected. Group promotions checkbox is unchecked.
- Verified — Hint links to Customize > Entry Layout for more options.
- Not Tested — Applying order choice, grouping multiple promotions, history/undo, reload persistence and date validation.
E5 — E5-add-content
Manual action: User chose Job Title - Employer and reported preview order swapped; clicked Done and Add Content, leaving chooser open.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_8585fc786af03622136cc7cc4fd137b7aef895552f954624634a07a9082f4825
Screenshot: ev_876d6db0f707207fc96777f24129617d82de323cacfd628a7e7d3bb7a51f0ef7
- Verified — Add Content opens a large modal with icon/title/help-text tiles in four columns at this desktop viewport.
- Verified — Current chooser lists Education, Professional Experience, Skills, Languages, Certificates, Interests, Projects, Courses, Awards, Organisations, Publications, References and two Custom tiles (existing custom section and add-custom tile).
- Verified — Summary and Declaration exist in this document but are not offered in this captured chooser state. Do not infer they are unsupported or why they are omitted.
- Verified — Dialog has modal=true but an empty accessible name. Close icon is an unnamed button. Background controls remain in the captured AX tree; focus is reported on Add Content. Keyboard containment was not tested.
- Verified — Experience entry name now reads UX Test Engineer, employer after presentation change; user reports preview swapped their order.
- Not Tested — Choosing a new section, duplicate section rules, custom schema editing, modal keyboard behavior and add cancellation.
E6 — E6-new-project
Manual action: User selected Projects from Add Content and left the blank form untouched.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_161f5f8f94f0203d86559fad55ffa1409b0057ccb9ea8e5293b46d32e85462f9
Screenshot: ev_faba34d15eed1a0996caa0be4b0e349f9318ae1f17371bd048eb9a5a6058ebe7
- Verified — Choosing Projects when a Projects section already exists opens a blank Edit Entry form at /resume/content/edit/project/:entry-id. The existing project remains visible in the preview.
- Verified — Project fields: Project title with Link, Sub title, Start Date, End Date and richtext Description. Project title is focused; exposed required states are false. Done, hide/delete icons, AI shortcuts and customization disclosure are present.
- Inferred — Chooser appears to add a new entry to the existing typed section; successful completion and section count still need corroboration.
- Not Tested — Empty-submit validation, date validation, new entry persistence, cancellation and reordering.
E7 — E7-customize-overview
Manual action: User completed new synthetic Project B, clicked Done and opened Customize; reported no save feedback.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_29122a19664a4b20938e5e993a7724630c2026735b53816bfb09f1927f7f17f5
Screenshot: ev_6c3f2921a298021bafd22d7a8549e202d238ff857b461848f5b9fa97aa6e010e
- Verified — Customize route /resume/customization retains preview and shows anchor navigation: Document, Templates, Layout, Font Size, Spacing, Entries, Headings, Font, Colors, Header, Photo, Links, Footer, Sections.
- Verified — Document defaults currently English (UK), DD/MM/YYYY, A4; Browse templates control present. Existing and new UX Test Project B appear together under Projects in preview.
- Verified — Layout controls include One/Two/Mix columns, Top/Left/Right header, section drag list with page breaks and 45%/55% column widths. Two and Left currently selected.
- Verified — AX exposes font size offsets, line height, spacing, margins, entry/date layout, heading styles, fonts, color area/modes, accent targets, header alignment/icon styling, photo options, link styling, footer fields and section customizations. Presence only; effects not tested.
- Verified — Current fonts: Zilla Slab body and Same as body font for name. Color modes Single/Multi/Image; current Multi. Photo controls explain options appear after photo added.
- Inferred — Floating curved-arrow pair resembles undo/redo; both are unnamed buttons in AX, so function and scope need testing.
- Verified — User reports no save feedback while adding project and moving to Customize.
- Not Tested — Template selection effects, typography changes, page format/language effects, undo/redo, drag/drop success, preview zoom and pagination behavior.
E8 — E8-template-gallery
Manual action: User clicked Browse templates and left gallery open without selecting a design.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_34a67434596debe1e00e2df269fd980805596a3e2672dbf85c58056984e45eff
Screenshot: ev_8d0f02f709a199c296cb157cd2c0b0f72c79aff3ef8f9f580381c5296c844f6b
- Verified — Browse templates opens Apply a design template modal at ?modal=resume-templates. Four preview cards per row at 1912px, labeled names beneath; gallery extends below viewport.
- Verified — Filter controls All Templates, Popular, Simple, Modern, Creative are exposed as checkboxes, All Templates checked. Their filtering behavior is not yet tested.
- Verified — Gallery previews show sample content rather than the current synthetic resume content. Original assets are retained only in audit screenshots; no template or asset extraction/reuse.
- Verified — Modal and close button have empty accessible names in this snapshot. Underlying Browse templates remains the reported focused control; keyboard behavior not tested.
- Not Tested — Template application/confirmation, content retention, filter combinations, paywalls, undo and persistence.
E9 — E9-template-detail
Manual action: User selected CLASSIC CLEAR; observed larger preview/details and Use this template action.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_f7a67166d2bd44bdd125f56b4898ca111f847d444b241602e9c7447a39abad91
Screenshot: ev_2e4070d424f8a2b08fe758d596abf332fbe7f81c48994cbe88a950da64d4f92c
- Verified — Selecting Classic Clear opens a larger sample preview and detail modal, preserving underlying editor design until Use this template is chosen. URL gains template=classic-clear.
- Verified — Use this template is a named button. Detail copy advertises A4/US-Letter, editable text, customization, print readiness and online sharing. Only copy presence is verified; exported output/sharing not tested.
- Verified — Selected design preview uses sample content, not the synthetic current document. No confirmation warning observed before this intermediate screen.
- Not Tested — Applying design, data retention, undo/redo, export format and online sharing.
E10 — E10-template-applied
Manual action: User clicked Use this template; returned to editor.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_1c3e980e78819f5e18cb5699e73769df96cb4ab97eb9b72617507b962676be1e
Screenshot: ev_84ad8e6f58511776c9ef45c65919fdcc51acd611976e8013e0ffcf2c475659aa
- Verified — Use this template closes modal and returns to Customize. Layout changed from Two to One; preview changed to single column, centered header, uppercase ruled headings and Alegreya body font.
- Verified — Synthetic experience title, original section content and new Project B remain in AX/preview after application. No field-by-field export or backend comparison performed.
- Verified — Template changes a bundle of settings: section order, typography, spacing, margins, color/header choices and entry layout. Base font remains 10.5pt; line height is now 1.15 and margins 22mm/12mm.
- Not Tested — Undo/redo reversibility, template persistence after reload, full data equivalence, original design recovery and pagination/export fidelity.
E11 — E11-template-undo
Manual action: User clicked left curved arrow once and reported previous design returned.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_f3fb5aaa4e6e000aa3e6bcc1f629f56d9605f2523453afeefbc2402cc9b0dddc
Screenshot: ev_a37daa85e4c405b317c43692cc8e4c51f9ebf558223c15c61f93c3060ca056d7
- Verified — One click on left curved-arrow control restores observed two-column layout, left header, Zilla Slab font, previous spacing/margins, color settings and section ordering after template application.
- Verified — New synthetic Project B remains present after undo; title and content edits predate template change.
- Verified — Right curved arrow changes from visually muted to active-looking. Both controls remain unnamed in AX; actual redo still needs testing.
- Not Tested — Redo, history depth, content-edit undo scope, cross-route history and persistence across reload.
E12 — E12-redo-layout
Manual action: User clicked right curved arrow and Layout anchor; reported single-column design returned.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_e5a2e4f3d0b6b943afe0da9a498258f82531022a8ca5a08370e778350f985ab7
Screenshot: ev_7154704a4b67cc5f439ff95330a8f13c8ef9a6b3d199e26845e51c40cfd1d060
- Verified — Right curved-arrow restores applied single-column template: One selected, Alegreya font, template settings and reordered sections; synthetic content remains observed.
- Verified — Layout anchor scrolls controls into view while fixed top navigation remains. Section layout uses a vertical list of draggable labeled rows with grip icons and a fixed Personal Details block above.
- Verified — Current section order starts Summary, Professional Experience, Education, Skills, Certificates, Languages. Rows expose keyboard drag instructions.
- Not Tested — Actual section reorder, column reassignment, mixed columns, page-break placement, undo beyond this template change and layout save errors.
E13 — E13-sections-reordered
Manual action: User dragged Skills grip above Education and reported rows moving aside with no confirmation.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_71a3567de75d1f60c83413c74d0706df4d86354dffd7e03f5071ca9240461e27
Screenshot: ev_4aec11aea42785fe1f7ed11998db285538b84581e8327a97aab767286ff91b8b
- Verified — Mouse drag moves Skills above Education in both section layout list and document preview; neighboring rows shifted during dragging per user report; no visible confirmation reported.
- Verified — AX contains drop announcement: You have dropped the item. You have moved the item from position 3 to position 3.
- Inferred — Drop announcement may be misleading because before/after section order changed while reported source/destination positions are equal. Needs keyboard/screen-reader reproduction before treating as general defect.
- Not Tested — Keyboard drop success/cancel, drag across columns, entry reorder, persistence after reload and multi-page page-break behavior.
E14 — E14-font-size-pagination
Manual action: User clicked Font Size anchor and Base Font Size plus once; reported 11pt and preview update.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_cc9fd5d81bc873d743bdab192ac6cab18686a982ebe40ad71f77056b177d44a7
Screenshot: ev_179245b5fdcbc71ead83b56b401a424dfdd155d051c0f69f4964408a50f74ef6
- Verified — One plus click increases Base Font Size from 10.5pt to 11pt. User observed preview update; final screenshot shows changed typography and two physical page surfaces separated by a gap.
- Verified — Font Size card offers base size and relative offsets for Full Name, Professional Title, Section Headings and Entry Header using segmented-looking tracks plus minus/plus controls.
- Verified — Spacing card begins with Line Height and Space Between Elements; line height remains 1.15. Increment/decrement buttons are unnamed in AX, and no slider role appears in this snapshot.
- Not Tested — Whether 11pt caused page count to increase, numeric ranges/limits, keyboard slider operation, zoom, typography persistence and export pagination parity.
E15 — E15-body-font-picker
Manual action: User opened Font anchor and Body Font selector, leaving list open.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_631e87802ee8aeef5fb4dab08e631c56c690f98f13e767c2f1c315f017b3191c
Screenshot: ev_13f9be64f32fe9a60ecbca6aaff96dcec9c063cced14cd3dcd5bb810ee44a2fa
- Verified — Body Font opens scrollable option list grouped SERIF, SANS and MONO, with each font name rendered as a sample. Current Alegreya has visible checkmark.
- Verified — AX exposes 35 font options in this capture, including Source Sans Pro, Roboto, Lora, EB Garamond and Courier Prime. Body Font trigger expanded=true with listbox popup semantics.
- Verified — No search field observed in this captured picker. Do not infer font upload is unsupported from this view.
- Not Tested — Changing body/name font, keyboard selection, multilingual glyph coverage, font embedding and export matching.
E16 — E16-ai-tools
Manual action: User selected Source Sans Pro, reported preview also changes on hover, then opened AI Tools without submitting.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_fb3a4e206d2e43df4a1b54c29a9f449e73254d22854b8ba57fd39761a39248c9
Screenshot: ev_23a286d3242f4ac2a639436b01a80e198396d1af1d6a02ad201981747f78c677
- Verified — AI Tools route /resume/ai-tools shows Pro-plan notice and Upgrade to Pro action, plus Translate resume, Improve writing, Draft Cover Letter, Generate Summary, Check spelling & grammar cards.
- Verified — Draft Cover Letter copy says it uses resume and target job description. Grammar check copy distinguishes checking from rewriting. These are interface claims; resulting behavior not tested.
- Verified — Document preview remains alongside AI tool navigation.
- Inferred — User reports choosing Source Sans Pro changes preview, including temporary preview on font hover. Current screenshot is visibly sans serif; selected font value and hover cancellation not independently captured.
- Not Tested — AI input forms, gating enforcement, privacy disclosure, quota, generation latency/result quality, apply/reject/undo behavior and AI network requests.
E17 — E17-ai-plan-gate
Manual action: User clicked Draft now and paused; resulting screen is a Pro-plan gate.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_12a8c212379a827a672c5a843089b51cb3f17b1ac7d08d52c84aec99fbccf1fa
Screenshot: ev_b6747488e6683bb26410d9a10bcc4175267d81d21aad22448a97be6798baf5e8
- Verified — Draft now opens a plan gate stating AI features are available on Pro, with Stay on Free, Upgrade to Pro and close controls. No drafting form or generation result observed.
- Verified — Gate copy advertises unlimited PDF downloads, all resume templates and design options on free plan. This verifies messaging, not unlimited use or export behavior.
- Not Tested — Paid AI input fields, generation, resume/job data use, privacy options, quotas and apply/reject results. No upgrade or generation requested.
E18 — E18-pdf-export-success
Manual action: User dismissed Pro gate and clicked Download; observed spinner popup then download. Passive 45-second window captured export metadata and final success state.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_118c18eba2941646b36112d2b6e12f437373ed07c68044e50c71e72356b31574
Screenshot: ev_5eef7462f875407f9108732f79bdfb3960fc3eddc647b8df0cfc7c4f94542b0f
- Verified — Manual Download observed successful GET /api/resumes/download with 200 application/pdf. No response body, query identifiers, cookies or raw headers retained.
- Verified — Final AX/screenshot shows Resume downloaded success popup with encouragement and return-to-editing action. User reports spinner popup then completed download; spinner pixels not captured.
- Not Tested — Actual local PDF contents, page size/count, font embedding, selectable text, output accessibility, retry/failure path and alternative export formats.
E19 — E19-editor-menu
Manual action: User closed export success popup and opened top-right editor overflow.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_66d2d5de5ab3f0312070cf2de2c422ba73ebef337a16e48d0c8efd0b4f313667
Screenshot: ev_9979db4473a8bfa16a324c3c64a5b99d6da90830af00532abe7ea717bdcb54ff
- Verified — Top-right editor overflow exposes two menuitems: Download via email and Get shareable link. No version/history/zoom control appears in this menu state.
- Verified — Unlike earlier custom dialogs, current AX snapshot is restricted to menu content with menuitem roles. No keyboard navigation test performed.
- Not Tested — Email delivery, publishing/sharing, link permissions, revocation and history/version availability elsewhere. Neither action was invoked.
E20 — E20-document-switcher
Manual action: User opened Resume 1 dropdown beside Download.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_6f7f6080bdc5fce13f013989611d56f4645dd0877b3a78325b6bb837d33aa291
Screenshot: ev_d15b868e07cbc9b34bc8f86ef42e381974c78011ee030ee52f3d9a05a04f020c
- Verified — Resume selector opens My Resumes popover listing Resume 1 with Switch to Resume 1, Duplicate, More actions and Add new resume controls.
- Verified — Duplicate and More actions controls are named in AX, unlike the editor top-level overflow. No revision or version selector appears in current popover.
- Not Tested — Switching between distinct documents, duplication result, per-document actions, creation limit and revision/history availability elsewhere.
E21 — E21-duplicate-limit
Manual action: User clicked Duplicate beside Resume 1 and paused at the free-plan limit prompt.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_7ed607de6ab1b76248336853400a6fcb6cff2d7cb00c118ff20307f5e000d225
Screenshot: ev_32ac3f25adddbadbf8c63df2c841bbd9df53d8e21d4f27c2db0bc98b0ce228bb
- Verified — Duplicate opens Need more than one resume? gate stating free plan includes one resume and upgrade is required to create another. No successful duplicate observed.
- Verified — Gate offers upgrade and close; no purchase or upgrade performed.
- Not Tested — Copy naming, independent editing, copied content/design ownership, version history and duplicate behavior on paid plan.
M1 — M1-mobile-content
Manual action: User opened Content and manually configured narrow responsive viewport, then scrolled top. REA observed 390x840.
Viewport: 390×840. Selected DOM/AX and metadata · Screenshot
Inspection: ev_40089fc5360494f28adfc53c69d0e8bf54aedffeeb1ded2c99915580a3fdb25d
Screenshot: ev_7fc958b068d40052e920a5dc355ebbca1b3348137237a0e0963db39d74297852
- Verified — At observed 390x840 viewport desktop split view becomes a single editing column. Top bar contains FlowCV logo and Menu; content cards remain full-width.
- Verified — Fixed bottom action bar exposes Preview and Add Content. Preview document text is absent from current AX snapshot; content editor remains available.
- Verified — Section order retains Skills above Education; synthetic new project remains in section inventory. Resume data survives the tested route and viewport transitions.
- Not Tested — Real phone input/touch, mobile keyboard, screen rotation, horizontal overflow measurements, focus containment, mobile form editing, preview zoom and responsive breakpoints between desktop/mobile.
M2 — M2-mobile-preview
Manual action: User tapped Preview from mobile bottom action bar and left overlay open without zooming.
Viewport: 390×840. Selected DOM/AX and metadata · Screenshot
Inspection: ev_98bb54236c647e0a9f7d8c51857a81613aa8902cab2cfbb66fb4fe203b71ea4e
Screenshot: ev_4d506a3682f782dc59359f720672b16e58e134d7e6152e09664ba99155bae9e1
- Verified — Preview opens an overlay with document pages scaled to narrow viewport width and stacked vertically. Keep editing and Download remain fixed at bottom.
- Verified — Two page surfaces are visible, showing synthetic content and manual section order. No dedicated zoom or page-jump control is visible or named in current AX snapshot.
- Verified — Underlying content controls remain in AX with Preview reported focused; overlay has no dialog role in this capture. Keyboard/focus behavior needs direct testing.
- Not Tested — Pinch zoom, keyboard zoom, scroll-to-page behavior, background scroll lock, focus restoration, mobile export success and real-device viewport behavior.
M3 — M3-mobile-experience-form
Manual action: User returned from Preview and opened synthetic experience entry at mobile viewport.
Viewport: 390×840. Selected DOM/AX and metadata · Screenshot
Inspection: ev_7438eaa81dc1ab424351608a47c7a6c1a2c9ade0d32c48db170cc142e8c4b046
Screenshot: ev_3d6e4ffbab5ab9458fb2f81ce499a4703a3f208588f0f18f34b58c580ea68b80
- Verified — At 390x840, experience form stacks Job Title/Employer/Location/Description; Start Date and End Date remain side by side. Fixed bottom Preview and Done actions replace desktop Done card.
- Verified — Richtext alignment changes from four separate desktop alignment buttons to named Text alignment: left dropdown. Bold/Italic/Underline/Bullets/Link remain visible.
- Verified — Mobile top bar provides Content back navigation and Menu. Tips, hide and delete icons remain; date inputs still have identical MM/YYYY accessible names.
- Not Tested — On-screen keyboard occlusion, typing/autosave on real phone, date validation, touch target sizes, mobile richtext editing and focus behavior.
M4 — M4-date-range-edge
Manual action: User tried earlier end date via picker, reported earlier year unavailable, and selected Jan 2026 while start remained Feb 2026. No Done/submit performed.
Viewport: 390×840. Selected DOM/AX and metadata · Screenshot
Inspection: ev_c2d6c60adec181a44e436d3d4c0521c238accc04d5049ac960400a4c49ad742f
Screenshot: ev_8c9eaa781bb0f05893e036ef405584db4c7ffe9d99dea1e13cb417328682e978
- Verified — Captured form simultaneously displays Start Date 02/2026 and End Date 01/2026, with Done available, no visible error and both AX textbox invalid states false.
- Verified — Open end-date picker has Present (Current) unchecked, month selector including Jan-Dec/Remove month, and year option 2026/Remove year in captured AX.
- Inferred — Likely month-level date-range validation gap: picker appears to restrict year but permits end month before start in same year. User could not choose 2025; server-side validation and persistence of invalid range not tested.
- Not Tested — Done/submit behavior for invalid range, backend acceptance, direct typed values, current-date upper bound, year-only semantics, localization, validation after start-date change and exported invalid range.
L1 — L1-cover-letter-creation-gallery
Manual action: User restored synthetic experience date per report, returned desktop width and opened cover-letters landing page.
Viewport: 1661×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_c76aa58744f5010fa270ce4673894e5a7b2981fdd412b31b6ec87a100a99bb04
Screenshot: ev_07589c12580810ff1e5cbb99fa7b12f07afe655252b2846b501b626661d029df
- Verified — At /cover-letters with no user letters displayed, landing state is Create a cover letter with New blank tile and template gallery. Sidebar includes Resume, Cover Letter and Job Tracker.
- Verified — Filters All Templates/Simple/Modern/Creative appear as checkboxes; All Templates selected. At observed 1661x948, first row has New blank and two named template previews.
- Verified — Copy promises first cover letter free, all features and unlimited downloads. This verifies messaging, not paid-plan behavior or download limits.
- Not Tested — Blank/template creation, populated document card dashboard, letter limits, resume data reuse and matching design.
L2 — L2-blank-cover-letter-editor
Manual action: User clicked New blank in cover-letter gallery and left initial editor untouched.
Viewport: 1661×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_7b253acb997286f8ba1a04264425b1d26c015e1070ee13ed3b757b464a7bddd8
Screenshot: ev_fffab0e75768770a9d081490745ff98b82f6e202096c12b0c132c0cc7837d1b3
- Verified — New blank creates Letter 1 and opens /cover-letter/write with desktop content/preview split and Overview, Content, Customize, letter selector and Download controls.
- Verified — Content cards: Sender details (Modern header), Date, Recipient details, Subject, Body, Signature. Cards have named Edit controls in AX.
- Verified — Initial date is 21st October 2026; sender/recipient/subject/body/signature show Not added. Preview includes date and default greeting/signoff placeholders.
- Verified — Existing resume contact data was not automatically populated into this initial blank letter state. No resume-data/design prompt observed after New blank.
- Not Tested — Explicit resume-data import, sender editing, body formatting, signature input, letter autosave, matching designs, export and mobile letter editing.
L3 — L3-letter-sender-form
Manual action: User opened Sender details without entering personal information.
Viewport: 1661×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_47716576389df49c1829c355fb0578cc38143c5a19d900adac3a3eb2f1d9cb84
Screenshot: ev_8748dbce582666081c7a1533ff34b839ab18f8dd56e284dd82bcb51c1467fdea
- Verified — Sender editor provides explicit Copy from resume button with accessible name Copy sender details from resume.
- Verified — Sender style radios Modern Header (selected) and Classic Sender; fields Full name, Professional title, Email, Phone, Location; photo affordance and reorder grips for contact details.
- Verified — Add details options include LinkedIn, Website, Nationality, Date of Birth, Visa, Passport or Id, Availability and Show More. Presence does not establish data validation or privacy defaults.
- Not Tested — Copy source selection, which fields copy, one-time copy versus live synchronization, sender style change, photo upload and reorder behavior.
L4 — L4-copy-sender-prompt
Manual action: User clicked Copy from resume and paused at source-selection prompt.
Viewport: 1661×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_3683e215fbaa8c2e81eb7a73a40b2bb8da64d31ca65ad7b83b0bc77b734dd947
Screenshot: ev_0bf571ddbe3214622a7ed8139bb29247aa08f96a880e03e5c9e1e038c576dc88
- Verified — Copy from resume opens source selector and explicit warning that current personal details and photo will be replaced.
- Verified — Resume dropdown initially Select resume; Copy sender details disabled until source chosen. Cancel action present.
- Inferred — Wording describes replacement/copy, suggesting snapshot semantics rather than live synchronization; actual cross-document update behavior remains untested.
- Not Tested — Source selection list, successful import, copied field completeness, overwrite behavior with populated sender and later resume edits.
L5 — L5-sender-copied
Manual action: User selected synthetic Resume 1 and confirmed Copy sender details; populated sender form and preview observed.
Viewport: 1661×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_4a2b3b2216ec89aec2fc4b216bd554f1610035b4b92d4ff8443ccc3dedeb15a9
Screenshot: ev_9d117446769749ec0ae92ae5d97638912d115f637770e4e4e60f0043f954bdd0
- Verified — Copying from synthetic Resume 1 populates name, professional title, email, phone, location and optional website/nationality/ID/LinkedIn/birth-date/visa/availability fields. Those details appear in letter preview.
- Verified — Modern Header remains selected and letter body stays blank with default greeting/signoff. Copy did not import experience or project paragraphs into body.
- Inferred — Copy imports optional personal fields broadly rather than only core contact fields; a design recommendation should make this scope clear before replacement.
- Not Tested — Photo copying, omitted-field removal, data synchronization after later edits, copy rollback, source provenance display and server persistence.
L6 — L6-letter-body-autosave
Manual action: User clicked sender Done, opened Body, entered synthetic paragraph and paused without Done.
Viewport: 1661×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_2a9c8e18bcbd77d5eb97f207368c40c1b64038951afb273a43a09432df632c83
Screenshot: ev_062ceef0ba96b17ccccbf745be4c452387f75757569f0b345d8edcad43cdb7ff
- Verified — Body editor has Bold, Italic, Underline, Bulleted list, Insert link and four text alignment controls. Synthetic paragraph appears in editor and document preview before Done.
- Verified — 45-second window recorded two successful POST /api/letters/save_body requests, both 200 application/json. No content bodies, credential headers or query values retained.
- Inferred — Save requests while form remains open are consistent with automatic saving before Done. Exact debounce, duplicate-request cause, storage semantics and reload durability remain unknown.
- Not Tested — Richtext formatting effects, preview latency, request-error feedback, undo/redo for body content, grammar/AI assistance, signature image input and backend persistence after reload.
- Verified — Body richtext textbox has an empty accessible name. Screenshot and AX show paragraph in bold in editor and preview; direct toolbar action sequence was not observed.
L7 — L7-letter-customize
Manual action: User clicked body Done and opened letter Customize.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_912473419851c3564a9414b838f5eb3d52241149470b321adc1342232ec2482c
Screenshot: ev_396b6686ad1e45a4d9741562fc459418785686be19a2bd12675ce5de6ffd2ddd
- Verified — Letter Customize at /cover-letter/design has Copy resume design and Browse templates, plus anchor navigation for document, templates, layout, header, photo, font size, spacing, font, colors, links and footer.
- Verified — Letter-specific controls include sender style, date/recipient drag reorder, position choices, declaration position/line and name emphasis; common typography/color/header/link/footer controls also appear.
- Verified — Current design shows Modern Header, Source Sans Pro body, name Same as body font, base 11pt, line height1.5 and 16mm margins. Letter remains alongside controls; synthetic body and copied sender retained.
- Not Tested — Copy resume design mapping/confirmation, letter template application, reordering letter blocks, photo/signature behavior, cover-letter undo/redo and matching export.
L8 — L8-copy-resume-design-prompt
Manual action: User opened Copy resume design and selected Resume 1, pausing before Copy design.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_0ba43afeea2f65bf7dcbaedb159283d7ff1f0cc893cfd4be2f0d5a4b5b4bfae6
Screenshot: ev_90aeda9eff89587946336fe0e96f7275c56c21ee94914b984fc15dcd858823c5
- Verified — Copy resume design opens source selector with explicit scope: matching colors, typography, spacing, layout, header and footer settings will be replaced.
- Verified — Selected synthetic Resume 1 is shown; Copy design enabled and Cancel available. Data import is separate from design import.
- Not Tested — Which settings map exactly, copied sender style, content preservation after apply, undo and continued synchronization.
L9 — L9-resume-design-copied
Manual action: User confirmed Copy design from synthetic Resume 1 and left resulting letter Customize visible.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_f5092d02be6d769ea918c76647452ad80345108afcfc11147a868cce1ad56861
Screenshot: ev_b416b97a00bfd64b5bbf0229c297c64f0ec1541e6a2d68cc471714c8c494e0e2
- Verified — Copy design closes dialog and updates letter preview/settings while retaining synthetic body and copied sender.
- Verified — Name/professional-title offsets change +8/+2 to +11/+5; margins change from16mm to22mm horizontal/12mm vertical. Link icon becomes checked. Base11pt, Source Sans Pro and centered Modern Header remain.
- Verified — Letter line-height now displays1.2, while captured resume line-height was1.15. This is a mapped compatible design, not demonstrated pixel-identical settings.
- Inferred — Line-height difference may be rounding, clamping or document-specific mapping; implementation unknown and not inferred from pixels alone.
- Not Tested — Live synchronization after resume changes, complete copied-setting equivalence, design-copy undo, export matching and letter-specific layout edge cases.
L10 — L10-letter-export-dashboard
Manual action: User downloaded letter, dismissed any success popup and clicked Overview; 45-second passive window observed export and final dashboard.
Viewport: 1912×948. Selected DOM/AX and metadata · Screenshot
Inspection: ev_6275d35f61b5ec2e8cde5c8672ef31ab14a27c4b0dff21c5836147cc5b83e2b1
Screenshot: ev_c9216ebbb5c6e39a5d2b9dba4407db97ac818d3bd00c2b1401e33e9482276d2c
- Verified — Letter Download returned200 application/pdf from GET /api/letters/download. User reports completed export; no PDF body or local file inspected.
- Verified — Overview opens populated My Cover Letters dashboard at /cover-letters with New letter tile, Letter1 thumbnail, relative edit time, A4 metadata and unnamed overflow button.
- Verified — Dashboard thumbnail and AX retain copied sender, edited synthetic paragraph and new design after returning from editor.
- Not Tested — Local PDF fidelity/accessibility, letter duplication/versions/overflow actions, letter mobile behavior, multiple-letter limit and live resume synchronization.




































