677 lines
65 KiB
Markdown
677 lines
65 KiB
Markdown
# FlowCV UI/UX investigation
|
||
|
||
Research completed 20–21 October 2026. Targets: [resume dashboard](https://app.flowcv.com/resumes) and [cover letters](https://app.flowcv.com/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
|
||
|
||
1. **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.
|
||
2. **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.
|
||
3. **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.
|
||
4. **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.
|
||
5. **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.
|
||
6. **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.
|
||
7. **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.
|
||
8. **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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E3-network-metadata.json) |
|
||
| 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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/D1-dashboard-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/D1-dashboard.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/D2-card-menu-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/D2-card-menu.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E1-editor-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E1-editor.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E2-experience-form-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E2-experience-form.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E3-title-edit-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E3-title-edit.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E4-section-customizations-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E4-section-customizations.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E5-add-content-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E5-add-content.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E6-new-project-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E6-new-project.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E7-customize-overview-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E7-customize-overview.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E8-template-gallery-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E8-template-gallery.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E9-template-detail-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E9-template-detail.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E10-template-applied-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E10-template-applied.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E11-template-undo-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E11-template-undo.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E12-redo-layout-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E12-redo-layout.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E13-sections-reordered-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E13-sections-reordered.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E14-font-size-pagination-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E14-font-size-pagination.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E15-body-font-picker-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E15-body-font-picker.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E16-ai-tools-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E16-ai-tools.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E17-ai-plan-gate-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E17-ai-plan-gate.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E18-pdf-export-success-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E18-pdf-export-success.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E19-editor-menu-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E19-editor-menu.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E20-document-switcher-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E20-document-switcher.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E21-duplicate-limit-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/E21-duplicate-limit.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/M1-mobile-content-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/M1-mobile-content.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/M2-mobile-preview-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/M2-mobile-preview.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/M3-mobile-experience-form-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/M3-mobile-experience-form.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/M4-date-range-edge-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/M4-date-range-edge.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L1-cover-letter-creation-gallery-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L1-cover-letter-creation-gallery.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L2-blank-cover-letter-editor-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L2-blank-cover-letter-editor.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L3-letter-sender-form-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L3-letter-sender-form.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L4-copy-sender-prompt-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L4-copy-sender-prompt.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L5-sender-copied-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L5-sender-copied.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L6-letter-body-autosave-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L6-letter-body-autosave.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L7-letter-customize-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L7-letter-customize.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L8-copy-resume-design-prompt-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L8-copy-resume-design-prompt.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L9-resume-design-copied-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L9-resume-design-copied.png)
|
||
|
||
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](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L10-letter-export-dashboard-evidence.json) · [Screenshot](C:/Users/Connor/.codex/visualizations/2026/10/20/01a15834-7508-7352-9e5a-782bc5c4e6f5/flowcv-research/L10-letter-export-dashboard.png)
|
||
|
||
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.
|
||
|
||

|