From af4ae2040d5132f3e81d6e4b0149d7268a7770a9 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Thu, 1 Oct 2026 20:19:16 +0100 Subject: [PATCH 1/2] test(qa): hold every template's DOCX export to a Word baseline, measured through a private Word instance --- CHANGELOG.md | 8 + CONTRIBUTING.md | 5 +- .../fidelity/DocxFidelityCorpusTest.java | 97 +- .../docx-fidelity/word-windows-lines.tsv | 4155 +++++++++++++++++ .../resources/docx-fidelity/word-windows.tsv | 64 + scripts/docx-visual/convert-with-word.ps1 | 2 + scripts/docx-visual/word-fidelity.ps1 | 61 + 7 files changed, 4368 insertions(+), 24 deletions(-) create mode 100644 qa/src/test/resources/docx-fidelity/word-windows-lines.tsv create mode 100644 qa/src/test/resources/docx-fidelity/word-windows.tsv create mode 100644 scripts/docx-visual/word-fidelity.ps1 diff --git a/CHANGELOG.md b/CHANGELOG.md index fcbc1b0e3..6fc707d6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1489,6 +1489,14 @@ follow semantic versioning; release dates are ISO 8601. ### Tests +- **Word holds the DOCX export to its corpus too.** `scripts/docx-visual/word-fidelity.ps1` + runs `DocxFidelityCorpusTest` in two halves around a conversion by a private Word instance: + `export` writes the documents, Word converts them, and `word` measures Word's PDFs against + `word-windows.tsv` — after checking this tree still exports, to the byte, the DOCX Word + converted, so a stale conversion fails rather than passing. Word is not driven from the build: + COM started from the build's own process tree has stalled it. `convert-with-word.ps1` now + repaginates before it exports, as Word settles pagination on screen. + - **CI holds the DOCX export to its corpus.** The `DOCX Fidelity` job runs `DocxFidelityCorpusTest` on a pinned Ubuntu image with LibreOffice whenever the engine, a backend it measures with, the DOCX backend, a template or the corpus changes, against a diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6aaa7096d..d051ae10a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -358,7 +358,10 @@ Choose the smallest tests that match the change: CI runs it on Linux (the `DOCX Fidelity` job) against `libreoffice-linux.tsv`, and uploads what it measured: LibreOffice sets text a little differently per platform, so a change that moves documents nearer the page takes that artifact's files as the Linux baseline, and its own - run's as the Windows one. + run's as the Windows one. Microsoft Word, the editor the export answers to, is not in CI: on + Windows with Word, `scripts/docx-visual/word-fidelity.ps1` (`-Update` to rewrite) exports the + corpus, has a private Word instance convert it, and holds it to `word-windows.tsv` — run it + before a DOCX export change is opened. If a change affects public docs, examples, or screenshots, update those assets in the same PR so the repository stays internally consistent. diff --git a/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityCorpusTest.java b/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityCorpusTest.java index 2d90919f1..4273c14d9 100644 --- a/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityCorpusTest.java +++ b/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityCorpusTest.java @@ -34,47 +34,72 @@ * *

It runs only when asked for, with {@code -Dgraphcompose.docxFidelity=libreoffice}: it * needs LibreOffice and takes a few minutes. Asked for and without LibreOffice, it fails rather - * than passing unrun. {@code -Dgraphcompose.docxFidelity.update=true} writes what it measured as + * than passing unrun. Microsoft Word, the editor the export answers to, is measured on Windows + * in two runs around a conversion of its own ({@code scripts/docx-visual/word-fidelity.ps1}): + * {@code export} writes the documents, Word converts them, and {@code word} measures Word's + * PDFs — first checking that this tree still exports, to the byte, the DOCX Word converted — + * against {@code word-windows.tsv}. {@code -Dgraphcompose.docxFidelity.update=true} writes what it measured as * the baseline, for a change that moves documents nearer the page; the baseline's diff then * shows the reviewer which documents moved. The documents, their PDFs and the report are left * in {@code target/docx-fidelity}.

*/ class DocxFidelityCorpusTest { - private static final String EDITOR = "libreoffice"; + private static final String LIBREOFFICE = "libreoffice"; + private static final String WORD = "word"; + private static final String EXPORT = "export"; @Test void everyDocumentStandsNoFurtherFromThePageThanItsBaseline() throws Exception { - Assumptions.assumeTrue(EDITOR.equals(System.getProperty("graphcompose.docxFidelity")), - "NOT_RUN: the DOCX fidelity corpus runs with -Dgraphcompose.docxFidelity=libreoffice"); - LibreOfficeConverter converter = LibreOfficeConverter.find().orElseThrow(() -> new IllegalStateException( - "the DOCX fidelity corpus was asked for, and no LibreOffice was found: set -Dgraphcompose.soffice")); - + String mode = System.getProperty("graphcompose.docxFidelity", ""); + Assumptions.assumeTrue(List.of(LIBREOFFICE, WORD, EXPORT).contains(mode), + "NOT_RUN: the DOCX fidelity corpus runs with -Dgraphcompose.docxFidelity=libreoffice, " + + "or export then word (scripts/docx-visual/word-fidelity.ps1)"); Path work = Path.of("target", "docx-fidelity").toAbsolutePath(); Path engine = Files.createDirectories(work.resolve("engine")); - Path editor = work.resolve(EDITOR); - // LibreOffice can exit cleanly when a file fails to load: a PDF left from an earlier - // run would then be measured in its place. - deleteTree(editor); List corpus = corpus(); - List docx = new ArrayList<>(); - for (DocxCorpusDocument document : corpus) { - docx.add(export(document, engine)); + String note; + Path editor = work.resolve(mode); + if (mode.equals(WORD)) { + // Word converts what export wrote, outside this run: COM from the build's own + // process tree can stall. The DOCX it converted must be the one this tree exports. + List stale = new ArrayList<>(); + for (DocxCorpusDocument document : corpus) { + if (!exportUnchanged(document, engine)) { + stale.add(document.stem()); + } + } + assertThat(stale).as("DOCX this tree exports otherwise than the ones Word converted: run " + + "scripts/docx-visual/word-fidelity.ps1, which exports and converts first").isEmpty(); + note = WORD + " " + wordVersion(editor) + " on " + LibreOfficeConverter.platform(); + } else { + List docx = new ArrayList<>(); + for (DocxCorpusDocument document : corpus) { + docx.add(export(document, engine)); + } + if (mode.equals(EXPORT)) { + return; + } + LibreOfficeConverter converter = LibreOfficeConverter.find().orElseThrow(() -> new IllegalStateException( + "the DOCX fidelity corpus was asked for, and no LibreOffice was found: set -Dgraphcompose.soffice")); + // LibreOffice can exit cleanly when a file fails to load: a PDF left from an earlier + // run would then be measured in its place. + deleteTree(editor); + converter.convert(docx, editor, work); + note = LIBREOFFICE + " " + converter.build() + " on " + LibreOfficeConverter.platform(); } - converter.convert(docx, editor, work); List measurements = new ArrayList<>(); for (DocxCorpusDocument document : corpus) { Path converted = editor.resolve(document.stem() + ".pdf"); - assertThat(converted).as("LibreOffice's PDF of %s", document.stem()).exists(); + assertThat(converted).as("%s's PDF of %s", mode, document.stem()).exists(); measurements.add(FidelityMeasurement.of(document.stem(), engine.resolve(document.stem() + ".pdf"), converted)); } - String note = EDITOR + " " + converter.build() + " on " + LibreOfficeConverter.platform(); - FidelityBaseline.write(work.resolve("measured-" + EDITOR + ".tsv"), note, measurements); + FidelityBaseline.write(work.resolve("measured-" + mode + ".tsv"), note, measurements); Path baseline = Path.of("src", "test", "resources", "docx-fidelity", - EDITOR + "-" + LibreOfficeConverter.platform() + ".tsv"); + mode + "-" + LibreOfficeConverter.platform() + ".tsv"); List regressions = FidelityBaseline.read(baseline).regressions(measurements); if (Boolean.getBoolean("graphcompose.docxFidelity.update")) { // Written all the same: what it lets through is the baseline's diff, shown here first. @@ -84,7 +109,7 @@ void everyDocumentStandsNoFurtherFromThePageThanItsBaseline() throws Exception { } assertThat(regressions) .as("documents set further from the page than %s holds them (measured: %s)", - baseline, work.resolve("measured-" + EDITOR + ".tsv")) + baseline, work.resolve("measured-" + mode + ".tsv")) .isEmpty(); } @@ -120,8 +145,36 @@ static List corpus() { return corpus; } + /** + * Writes a document's PDF, and says whether its DOCX, exported to the byte the same each time, + * is the one already in {@code dir}. + */ + private static boolean exportUnchanged(DocxCorpusDocument document, Path dir) throws Exception { + Path docx = dir.resolve(document.stem() + ".docx"); + byte[] exported = exportTo(document, dir); + return Files.exists(docx) && java.util.Arrays.equals(Files.readAllBytes(docx), exported); + } + + /** The Word version the conversion beside its PDFs records, or {@code unknown}. */ + private static String wordVersion(Path pdfs) { + Path record = pdfs.resolve("conversion.json"); + try { + var tree = new com.fasterxml.jackson.databind.ObjectMapper().readTree(record.toFile()); + return tree.path("version").asText("unknown"); + } catch (java.io.IOException unreadable) { + return "unknown"; + } + } + /** Writes a document's PDF and its DOCX; returns the DOCX. */ private static Path export(DocxCorpusDocument document, Path dir) throws Exception { + Path docx = dir.resolve(document.stem() + ".docx"); + Files.write(docx, exportTo(document, dir)); + return docx; + } + + /** Writes a document's PDF into {@code dir}; returns its DOCX. */ + private static byte[] exportTo(DocxCorpusDocument document, Path dir) throws Exception { var builder = GraphCompose.document(); if (document.margin() >= 0) { float margin = (float) document.margin(); @@ -130,9 +183,7 @@ private static Path export(DocxCorpusDocument document, Path dir) throws Excepti try (DocumentSession session = builder.create()) { document.compose().accept(session); Files.write(dir.resolve(document.stem() + ".pdf"), session.toPdfBytes()); - Path docx = dir.resolve(document.stem() + ".docx"); - Files.write(docx, session.export(DocxSemanticBackend.builder().deterministic(true).build())); - return docx; + return session.export(DocxSemanticBackend.builder().deterministic(true).build()); } } } diff --git a/qa/src/test/resources/docx-fidelity/word-windows-lines.tsv b/qa/src/test/resources/docx-fidelity/word-windows-lines.tsv new file mode 100644 index 000000000..ce61fe97e --- /dev/null +++ b/qa/src/test/resources/docx-fidelity/word-windows-lines.tsv @@ -0,0 +1,4155 @@ +# word 16.0 (16.0.20430) on windows — document, line, drift below the page (pt), letters +cv-blue_banner 0:8f1010120ed6 0.46 jordanrivera +cv-blue_banner 0:8d7a2cca3060 -0.24 +442055551000|jordan.rivera@exam +cv-blue_banner 0:b944906ed84c -0.21 professionalsummary +cv-blue_banner 0:8d6758a29c08 -0.52 platformengineerwith10+yearsbuil +cv-blue_banner 0:f0d993eb5f9d -0.50 high-throughputpdfrendering,sema +cv-blue_banner 0:c2f296ef30a3 -0.23 professionalexperience +cv-blue_banner 0:a76f47480818 -0.24 seniorplatformengineer +cv-blue_banner 0:060300b18051 -0.18 2024-present +cv-blue_banner 0:f890faef907f -0.17 northwindsystems +cv-blue_banner 0:e9ca73f80176 -0.48 ledthereusabledocument-generatio +cv-blue_banner 0:4d5fc9766174 -0.46 70%byretiringper-teampdfscriptsi +cv-blue_banner 0:daf65306b3b6 -0.16 softwareengineer +cv-blue_banner 0:e7cc1822c6dc -0.10 2021-2024 +cv-blue_banner 0:998c1a985022 -0.21 brightleaflabs +cv-blue_banner 0:57305305a2eb -0.49 builtbackendservicesandproductio +cv-blue_banner 0:7b7239897a2f -0.35 layoutengine,eliminatinglicensin +cv-blue_banner 0:41bb54fbae8d -0.17 backendengineer +cv-blue_banner 0:3fa772117260 -0.11 2019-2021 +cv-blue_banner 0:3fa772117260#1 -0.09 2019-2021 +cv-blue_banner 0:ef148f221e31 -0.10 helixprintco +cv-blue_banner 0:d7119ba1b2b4 -0.05 maintainedahigh-volumeinvoice-pr +cv-blue_banner 0:68bf0109c6f8 -0.14 education +cv-blue_banner 0:0ad1957d6bab -0.15 msccomputerscience +cv-blue_banner 0:47ce0218bbea -0.08 universityofmanchester +cv-blue_banner 0:2ffe115b06e5 -0.03 distinction.thesis:composablelay +cv-blue_banner 0:b6749d0b616b -0.09 bscsoftwareengineering +cv-blue_banner 0:30f9262640a0 -0.03 2015-2019 +cv-blue_banner 0:89ad9656f393 -0.02 imperialcollegelondon +cv-blue_banner 0:baa173b4a82e 0.03 first-classhonours.specialisatio +cv-blue_banner 0:6d3d5673c39f -0.01 oraclejavacertification +cv-blue_banner 0:d40b22f00acb 0.05 2023-2024 +cv-blue_banner 0:2669e1f6d55c -0.06 professionaltrack +cv-blue_banner 0:3857373829c1 -0.01 java17platformdeep-dive:records, +cv-blue_banner 0:5f94c50dc5bf -0.10 technicalskills +cv-blue_banner 0:eea537278f83 0.07 •languages:java21,kotlin,groovy, +cv-blue_banner 0:9c2cd7231a53 0.07 •document&print:pdfbox,apachepoi +cv-blue_banner 0:7bf8639ec5d3 0.07 •layoutengines:customdsldesign,s +cv-blue_banner 0:8e66776d28d7 0.07 •build&infrastructure:maven,grad +cv-blue_banner 0:1ed4fc7d7768 0.07 •testing:junit5,assertj,pdfbox-b +cv-blue_banner 0:26671c309eb9 0.07 •distribution:mavencentral,sonat +cv-blue_banner 0:676dfdd56ad2 0.01 additionalinformation +cv-blue_banner 0:f20997652453 0.06 languages:english(fluent),german +cv-blue_banner 0:ec9d3622395e 0.06 workeligibility:eligibletoworkin +cv-blue_banner 0:dd20ae01c3cf 0.18 opensource:maintainerofgraphcomp +cv-blue_banner 0:33c35e9d236d 0.18 speaking:jvmsummit2024,devoxxuk2 +cv-blue_banner 0:2577c0f557b2 0.09 projects +cv-blue_banner 0:47f6c54ae700 -0.16 graphcompose(java21,pdfbox,maven +cv-blue_banner 0:7fea658a4957 0.16 productioncv/invoice/proposalpip +cv-blue_banner 0:b56776d153e9 0.22 templatestudio(kotlin,composedes +cv-blue_banner 0:88b226d51fe1 0.54 pngdiffing,side-by-sidelayout,ba +cv-blue_banner 0:339245d63103 0.60 layoutlint(java21,javaparser,spo +cv-blue_banner 0:8c87b84946f3 0.82 beforetheyshiptoproduction. +cv-boxed_sections 0:8f1010120ed6 0.54 jordanrivera +cv-boxed_sections 0:8d7a2cca3060 -0.16 +442055551000|jordan.rivera@exam +cv-boxed_sections 0:b944906ed84c -0.38 professionalsummary +cv-boxed_sections 0:80cc87fdc4c4 -0.67 platformengineerwith10+yearsbuil +cv-boxed_sections 0:bddc0bd093ce -0.62 systems.specialisedinhigh-throug +cv-boxed_sections 0:95a43d7b3df0 -0.70 snapshot-testedlibrariesthatscal +cv-boxed_sections 0:5f94c50dc5bf -0.33 technicalskills +cv-boxed_sections 0:eea537278f83 -0.49 •languages:java21,kotlin,groovy, +cv-boxed_sections 0:9c2cd7231a53 -0.37 •document&print:pdfbox,apachepoi +cv-boxed_sections 0:7bf8639ec5d3 -0.36 •layoutengines:customdsldesign,s +cv-boxed_sections 0:8e66776d28d7 -0.33 •build&infrastructure:maven,grad +cv-boxed_sections 0:1ed4fc7d7768 -0.32 •testing:junit5,assertj,pdfbox-b +cv-boxed_sections 0:26671c309eb9 -0.32 •distribution:mavencentral,sonat +cv-boxed_sections 0:68bf0109c6f8 -0.31 education +cv-boxed_sections 0:0ad1957d6bab -0.29 msccomputerscience +cv-boxed_sections 0:3fa772117260 -0.36 2019-2021 +cv-boxed_sections 0:47ce0218bbea -0.41 universityofmanchester +cv-boxed_sections 0:2ffe115b06e5 -0.35 distinction.thesis:composablelay +cv-boxed_sections 0:b6749d0b616b -0.21 bscsoftwareengineering +cv-boxed_sections 0:30f9262640a0 -0.27 2015-2019 +cv-boxed_sections 0:89ad9656f393 -0.31 imperialcollegelondon +cv-boxed_sections 0:baa173b4a82e -0.25 first-classhonours.specialisatio +cv-boxed_sections 0:6d3d5673c39f 0.02 oraclejavacertification +cv-boxed_sections 0:d40b22f00acb -0.05 2023-2024 +cv-boxed_sections 0:2669e1f6d55c -0.10 professionaltrack +cv-boxed_sections 0:3857373829c1 -0.04 java17platformdeep-dive:records, +cv-boxed_sections 0:2577c0f557b2 -0.03 projects +cv-boxed_sections 0:b2b029995203 -0.08 •graphcompose(java21,pdfbox,mave +cv-boxed_sections 0:67593a76ef70 -0.35 declarativejavapdflayoutengine.s +cv-boxed_sections 0:b9292cbd1454 -0.31 pipelinesforhiringtoolsandbillin +cv-boxed_sections 0:1b50bb81df5a 0.05 •templatestudio(kotlin,composede +cv-boxed_sections 0:836e76daecbf 0.01 internaltoolforevaluatingcv,prop +cv-boxed_sections 0:25cdca2beb8b 0.22 •layoutlint(java21,javaparser,sp +cv-boxed_sections 0:7488006d7864 -0.06 staticanalyserthatflagsfragileau +cv-boxed_sections 0:c4d0c415b4f8 -0.01 production. +cv-boxed_sections 0:fb1927f88597 0.31 •chromeforge(java,graphcompose,p +cv-boxed_sections 0:e7e62230eb1f 0.28 editorial-magazinedocumenttoolki +cv-boxed_sections 0:c2f296ef30a3 0.28 professionalexperience +cv-boxed_sections 0:a76f47480818 0.30 seniorplatformengineer +cv-boxed_sections 0:060300b18051 0.35 2024-present +cv-boxed_sections 0:f890faef907f 0.20 northwindsystems +cv-boxed_sections 1:49faf14f1f56 -0.66 ledthereusabledocument-generatio +cv-boxed_sections 1:6bd3f168e89e -0.61 maintenancetimeby70%byretiringpe +cv-boxed_sections 1:daf65306b3b6 -0.23 softwareengineer +cv-boxed_sections 1:e7cc1822c6dc -0.29 2021-2024 +cv-boxed_sections 1:998c1a985022 -0.33 brightleaflabs +cv-boxed_sections 1:e55664011cda -0.51 builtbackendservicesandproductio +cv-boxed_sections 1:e80236b6d2b1 -0.46 itexttoacustomlayoutengine,elimi +cv-boxed_sections 1:41bb54fbae8d -0.08 backendengineer +cv-boxed_sections 1:3fa772117260 -0.14 2019-2021 +cv-boxed_sections 1:ef148f221e31 -0.20 helixprintco +cv-boxed_sections 1:9d31a6bfbc69 -0.38 maintainedahigh-volumeinvoice-pr +cv-boxed_sections 1:03af8a628309 -0.45 change. +cv-boxed_sections 1:676dfdd56ad2 -0.08 additionalinformation +cv-boxed_sections 1:f20997652453 -0.13 languages:english(fluent),german +cv-boxed_sections 1:ec9d3622395e -0.09 workeligibility:eligibletoworkin +cv-boxed_sections 1:dd20ae01c3cf -0.09 opensource:maintainerofgraphcomp +cv-boxed_sections 1:33c35e9d236d -0.08 speaking:jvmsummit2024,devoxxuk2 +cv-centered_headline 0:8f1010120ed6 0.12 jordanrivera +cv-centered_headline 0:87ca614d0eab 0.09 professionaltitle +cv-centered_headline 0:8d7a2cca3060 -0.29 +442055551000|jordan.rivera@exam +cv-centered_headline 0:b944906ed84c -0.20 professionalsummary +cv-centered_headline 0:f43d42692f27 -0.09 platformengineerwith10+yearsbuil +cv-centered_headline 0:5f94c50dc5bf -0.26 technicalskills +cv-centered_headline 0:eea537278f83 -0.15 •languages:java21,kotlin,groovy, +cv-centered_headline 0:9c2cd7231a53 -0.09 •document&print:pdfbox,apachepoi +cv-centered_headline 0:7bf8639ec5d3 -0.12 •layoutengines:customdsldesign,s +cv-centered_headline 0:8e66776d28d7 -0.06 •build&infrastructure:maven,grad +cv-centered_headline 0:1ed4fc7d7768 -0.12 •testing:junit5,assertj,pdfbox-b +cv-centered_headline 0:26671c309eb9 -0.06 •distribution:mavencentral,sonat +cv-centered_headline 0:68bf0109c6f8 -0.09 education +cv-centered_headline 0:0ad1957d6bab -0.20 msccomputerscience +cv-centered_headline 0:3fa772117260 -0.12 2019-2021 +cv-centered_headline 0:3fa772117260#1 0.90 2019-2021 +cv-centered_headline 0:47ce0218bbea -0.10 universityofmanchester +cv-centered_headline 0:2ffe115b06e5 0.02 distinction.thesis:composablelay +cv-centered_headline 0:b6749d0b616b -0.08 bscsoftwareengineering +cv-centered_headline 0:30f9262640a0 0.00 2015-2019 +cv-centered_headline 0:89ad9656f393 0.02 imperialcollegelondon +cv-centered_headline 0:baa173b4a82e 0.14 first-classhonours.specialisatio +cv-centered_headline 0:6d3d5673c39f 0.06 oraclejavacertification +cv-centered_headline 0:d40b22f00acb 0.14 2023-2024 +cv-centered_headline 0:2669e1f6d55c 0.16 professionaltrack +cv-centered_headline 0:3857373829c1 0.28 java17platformdeep-dive:records, +cv-centered_headline 0:2577c0f557b2 0.13 projects +cv-centered_headline 0:0f2c67872251 0.24 graphcompose(java21,pdfbox,maven +cv-centered_headline 0:67593a76ef70 0.42 declarativejavapdflayoutengine.s +cv-centered_headline 0:b9292cbd1454 0.41 pipelinesforhiringtoolsandbillin +cv-centered_headline 0:d73d02174dc9 0.41 templatestudio(kotlin,composedes +cv-centered_headline 0:836e76daecbf 0.35 internaltoolforevaluatingcv,prop +cv-centered_headline 0:542ec793b5b1 0.47 layoutlint(java21,javaparser,spo +cv-centered_headline 0:dc31b6a18325 0.53 staticanalyserthatflagsfragileau +cv-centered_headline 0:ee180ea1e0a5 0.68 chromeforge(java,graphcompose,pa +cv-centered_headline 0:e7e62230eb1f 0.62 editorial-magazinedocumenttoolki +cv-centered_headline 0:c2f296ef30a3 0.59 professionalexperience +cv-centered_headline 0:a76f47480818 0.48 seniorplatformengineer +cv-centered_headline 0:060300b18051 0.56 2024-present +cv-centered_headline 0:f890faef907f 0.58 northwindsystems +cv-centered_headline 0:49faf14f1f56 0.82 ledthereusabledocument-generatio +cv-centered_headline 0:6bd3f168e89e 0.81 maintenancetimeby70%byretiringpe +cv-centered_headline 0:daf65306b3b6 0.71 softwareengineer +cv-centered_headline 0:e7cc1822c6dc 0.79 2021-2024 +cv-centered_headline 0:998c1a985022 0.69 brightleaflabs +cv-centered_headline 0:f0e2046536d3 0.93 builtbackendservicesandproductio +cv-centered_headline 0:4eb608992328 0.92 toacustomlayoutengine,eliminatin +cv-centered_headline 0:41bb54fbae8d 0.82 backendengineer +cv-centered_headline 0:ef148f221e31 0.82 helixprintco +cv-centered_headline 1:9d31a6bfbc69 0.13 maintainedahigh-volumeinvoice-pr +cv-centered_headline 1:03af8a628309 0.12 change. +cv-centered_headline 1:676dfdd56ad2 -0.03 additionalinformation +cv-centered_headline 1:f20997652453 0.10 languages:english(fluent),german +cv-centered_headline 1:ec9d3622395e 0.16 workeligibility:eligibletoworkin +cv-centered_headline 1:dd20ae01c3cf 0.10 opensource:maintainerofgraphcomp +cv-centered_headline 1:33c35e9d236d 0.16 speaking:jvmsummit2024,devoxxuk2 +cv-charcoal_gold 0:73423c7707c4 0.14 anastasia +cv-charcoal_gold 0:6627835f988e -0.03 smith +cv-charcoal_gold 0:093e7d5fdbaa -0.15 contact +cv-charcoal_gold 0:a8acc3a90a7b -0.02 +447700900123 +cv-charcoal_gold 0:0126a18bf252 0.10 hello@anastasiasmith.com +cv-charcoal_gold 0:92966f349443 0.10 london,unitedkingdom +cv-charcoal_gold 0:42535367bd3c 0.13 anastasiasmith.com +cv-charcoal_gold 0:d5d2c85de2b9 0.13 linkedin.com/in/anastasiasmith +cv-charcoal_gold 0:32c1cf49a2fe -0.04 skills +cv-charcoal_gold 0:340455fbac25 -0.03 projectmanagement +cv-charcoal_gold 0:03cd52ebdc67 0.05 budgeting&forecasting +cv-charcoal_gold 0:115925c1b96b 0.01 stakeholdercommunication +cv-charcoal_gold 0:4e321f38b222 -0.03 riskmanagement +cv-charcoal_gold 0:2f594f65f16c 0.05 dataanalysis +cv-charcoal_gold 0:b08c44dac044 0.03 processimprovement +cv-charcoal_gold 0:c7b5692b2d27 -0.01 microsoftexcel +cv-charcoal_gold 0:2e2c6b2f5ad9 0.07 powerbi +cv-charcoal_gold 0:f73b1d7d3bc6 0.03 jira/confluence +cv-charcoal_gold 0:b011cfad056f -0.01 agilemethodologies +cv-charcoal_gold 0:6cb574fa10b6 0.02 languages +cv-charcoal_gold 0:b6234d2ea0d6 0.19 english +cv-charcoal_gold 0:bef32d2c315a 0.19 native +cv-charcoal_gold 0:bef32d2c315a#1 0.21 native +cv-charcoal_gold 0:aa304b5d1d72 0.21 russian +cv-charcoal_gold 0:21bb36ad0638 0.26 french +cv-charcoal_gold 0:23ed645595d6 0.26 b2–upperintermediate +cv-charcoal_gold 0:28561c6b68fc 0.16 german +cv-charcoal_gold 0:3cb3c2736bad 0.16 a2–basic +cv-charcoal_gold 0:68bf0109c6f8 0.21 education +cv-charcoal_gold 0:48f12eb2ea0d 0.22 mscprojectmanagement +cv-charcoal_gold 0:ede0c8c47a1f 0.18 universitycollegelondon +cv-charcoal_gold 0:fc3f0389b9de 0.14 2018–2019 +cv-charcoal_gold 0:66cb4ff79ee1 0.12 bscbusinessadministration +cv-charcoal_gold 0:8826393fc0f0 0.08 king'scollegelondon +cv-charcoal_gold 0:c7d18ae8c50d 0.18 2014–2017 +cv-charcoal_gold 0:3acba0d7b5dc -0.17 projectmanager +cv-charcoal_gold 0:f54e0195601a 0.14 results-drivenprojectmanagerwith +cv-charcoal_gold 0:7a0497cef9c6 0.20 teamsanddeliveringcomplexproject +cv-charcoal_gold 0:c38f1902ece8 0.56 skilledinagileandwaterfallmethod +cv-charcoal_gold 0:ca94787c6c7a -0.22 management.passionateaboutdrivin +cv-charcoal_gold 0:53e5e7c5a884 -0.14 experience +cv-charcoal_gold 0:243953e20dc4 0.06 digitalsolutionsltd·london,uk +cv-charcoal_gold 0:7fde5861c84b 0.09 •managecross-functionalteamsofup +cv-charcoal_gold 0:80c76af1fe2a 0.17 •implementagilepracticesthatimpr +cv-charcoal_gold 0:b6bb33b79f44 0.13 •buildstrongclientrelationshipsa +cv-charcoal_gold 0:46df57ef8321 0.24 innovatechsystems·london,uk +cv-charcoal_gold 0:271b01626043 0.17 •delivered12+projectsacrossitand +cv-charcoal_gold 0:77dd7c2ad6ae 0.25 •monitoredbudgets,timelines,andr +cv-charcoal_gold 0:bf8278cd4edc 0.23 •identifiedrisksandimplementedmi +cv-charcoal_gold 0:2773f92777d7 0.31 •achieved98%on-timeprojectdelive +cv-charcoal_gold 0:6ac382583801 0.30 globalbusinessservices·london,uk +cv-charcoal_gold 0:77aec5bb6b7f 0.35 •supportedprojectmanagersinplann +cv-charcoal_gold 0:38dafe4a1765 0.31 •preparedreports,dashboards,andd +cv-charcoal_gold 0:5c95a9041b72 0.39 •coordinatedmeetingsandtrackedac +cv-charcoal_gold 0:f0d87e2131e2 0.35 •improvedinternalprocessesandpro +cv-charcoal_gold 0:e831beb04c00 0.36 certifications +cv-charcoal_gold 0:93a7ba535da0 0.50 pmp®certification +cv-charcoal_gold 0:0f9f6d10bfa3 0.56 projectmanagementinstitute +cv-charcoal_gold 0:73a2af8864fc 0.60 2020 +cv-charcoal_gold 0:73a2af8864fc#1 0.60 2020 +cv-charcoal_gold 0:043092900ed5 0.50 prince2®foundation +cv-charcoal_gold 0:544a764703d6 0.56 axelos +cv-charcoal_gold 0:023e33504ab9 0.60 2019 +cv-charcoal_gold 0:023e33504ab9#1 0.60 2019 +cv-charcoal_gold 0:83cd2e790f6a 0.62 agilepm®foundation +cv-charcoal_gold 0:0005e5872534 0.56 apmginternational +cv-charcoal_gold 0:6ee18b42fbf1 0.36 achievements +cv-charcoal_gold 0:3f06e4a3eb33 0.50 excellenceindeliveryaward +cv-charcoal_gold 0:0c373352626d 0.56 digitalsolutionsltd +cv-charcoal_gold 0:d398b29d3dbb 0.60 2023 +cv-charcoal_gold 0:92cb97e6b786 0.50 processimprovementinitiative +cv-charcoal_gold 0:6517b58450f7 0.56 increasedefficiencyby30% +cv-charcoal_gold 0:b1ab1e892617 0.60 2022 +cv-charcoal_gold 0:c2f5106fbd5a 0.62 topperformer +cv-charcoal_gold 0:058521fbf0d1 0.56 innovatechsystems +cv-charcoal_gold 0:3def82282260 0.52 technicaltools +cv-charcoal_gold 0:eb04bd42c7fb 0.58 microsoft365|jira|confluence|asa +cv-classic_serif 0:8f1010120ed6 0.19 jordanrivera +cv-classic_serif 0:8d7a2cca3060 0.27 +442055551000|jordan.rivera@exam +cv-classic_serif 0:3c69d6bb4892 0.28 professionalprofile +cv-classic_serif 0:32c1cf49a2fe 0.19 skills +cv-classic_serif 0:873a24d153c8 0.13 languages:java21,kotlin,groovy,p +cv-classic_serif 0:05e907ef2b18 0.05 document&print:pdfbox,apachepoi( +cv-classic_serif 0:76656a8a6621 -0.04 layoutengines:customdsldesign,se +cv-classic_serif 0:1cd141fef347 0.00 build&infrastructure:maven,gradl +cv-classic_serif 0:181ddda7f959 -0.06 testing:junit5,assertj,pdfbox-ba +cv-classic_serif 0:c40c656d9558 -0.02 distribution:mavencentral,sonaty +cv-classic_serif 0:53e5e7c5a884 0.04 experience +cv-classic_serif 0:a76f47480818 0.13 seniorplatformengineer +cv-classic_serif 0:060300b18051 0.05 2024-present +cv-classic_serif 0:f890faef907f 0.06 northwindsystems +cv-classic_serif 0:49faf14f1f56 -0.25 ledthereusabledocument-generatio +cv-classic_serif 0:6bd3f168e89e -0.18 maintenancetimeby70%byretiringpe +cv-classic_serif 0:daf65306b3b6 0.27 softwareengineer +cv-classic_serif 0:e7cc1822c6dc 0.19 2021-2024 +cv-classic_serif 0:998c1a985022 0.20 brightleaflabs +cv-classic_serif 0:e55664011cda -0.12 builtbackendservicesandproductio +cv-classic_serif 0:e80236b6d2b1 -0.03 itexttoacustomlayoutengine,elimi +cv-classic_serif 0:41bb54fbae8d 0.30 backendengineer +cv-classic_serif 0:3fa772117260 0.34 2019-2021 +cv-classic_serif 0:3fa772117260#1 0.67 2019-2021 +cv-classic_serif 0:ef148f221e31 0.35 helixprintco +cv-classic_serif 0:9d31a6bfbc69 0.04 maintainedahigh-volumeinvoice-pr +cv-classic_serif 0:03af8a628309 0.11 change. +cv-classic_serif 0:2577c0f557b2 0.35 projects +cv-classic_serif 0:0f2c67872251 0.40 graphcompose(java21,pdfbox,maven +cv-classic_serif 0:67593a76ef70 -0.01 declarativejavapdflayoutengine.s +cv-classic_serif 0:b9292cbd1454 0.06 pipelinesforhiringtoolsandbillin +cv-classic_serif 0:d73d02174dc9 0.46 templatestudio(kotlin,composedes +cv-classic_serif 0:836e76daecbf 0.44 internaltoolforevaluatingcv,prop +cv-classic_serif 0:542ec793b5b1 0.60 layoutlint(java21,javaparser,spo +cv-classic_serif 0:dc31b6a18325 0.55 staticanalyserthatflagsfragileau +cv-classic_serif 0:ee180ea1e0a5 0.71 chromeforge(java,graphcompose,pa +cv-classic_serif 0:e7e62230eb1f 0.66 editorial-magazinedocumenttoolki +cv-classic_serif 0:68bf0109c6f8 0.66 education +cv-classic_serif 0:0ad1957d6bab 0.75 msccomputerscience +cv-classic_serif 0:47ce0218bbea 0.68 universityofmanchester +cv-classic_serif 0:2ffe115b06e5 0.73 distinction.thesis:composablelay +cv-classic_serif 0:b6749d0b616b 0.83 bscsoftwareengineering +cv-classic_serif 0:30f9262640a0 0.75 2015-2019 +cv-classic_serif 1:89ad9656f393 0.24 imperialcollegelondon +cv-classic_serif 1:baa173b4a82e 0.29 first-classhonours.specialisatio +cv-classic_serif 1:6d3d5673c39f 0.37 oraclejavacertification +cv-classic_serif 1:d40b22f00acb 0.29 2023-2024 +cv-classic_serif 1:2669e1f6d55c 0.32 professionaltrack +cv-classic_serif 1:3857373829c1 0.37 java17platformdeep-dive:records, +cv-classic_serif 1:7b476727faf3 0.38 additional +cv-classic_serif 1:f20997652453 0.27 languages:english(fluent),german +cv-classic_serif 1:ec9d3622395e 0.35 workeligibility:eligibletoworkin +cv-classic_serif 1:dd20ae01c3cf 0.42 opensource:maintainerofgraphcomp +cv-classic_serif 1:33c35e9d236d 0.50 speaking:jvmsummit2024,devoxxuk2 +cv-compact_mono 0:8f1010120ed6 0.39 jordanrivera +cv-compact_mono 0:f9e4560bd641 -0.26 london,uk/+442055551000/jordan.r +cv-compact_mono 0:32c1cf49a2fe 0.43 skills +cv-compact_mono 0:551282493299 0.02 languagesjava21,kotlin,groovy,py +cv-compact_mono 0:8f5cfd05d621 -0.24 document&printpdfbox,apachepoi +cv-compact_mono 0:148ff6990529 -0.10 (docx/xlsx),itext,postscript +cv-compact_mono 0:862bd50bcc32 -0.10 layoutenginescustomdsldesign,sem +cv-compact_mono 0:ec4f3e745260 0.04 layouttrees,pagination,snapshott +cv-compact_mono 0:55a8b2742c06 0.04 build&infrastructuremaven,gradle +cv-compact_mono 0:1649ba79bc7a 0.18 actions,jitpack +cv-compact_mono 0:d4ac2ee01f81 0.18 testingjunit5,assertj,pdfbox-bas +cv-compact_mono 0:b04e6ebfb02b 0.32 diff,layout-graphsnapshots +cv-compact_mono 0:93c9f742ef14 0.32 distributionmavencentral,sonatyp +cv-compact_mono 0:8f21bd149ad7 0.49 gpgsigning,jitpack +cv-compact_mono 0:68bf0109c6f8 1.06 education +cv-compact_mono 0:9ad8d9ef1711 0.46 msccomputerscience/universityof +cv-compact_mono 0:594f6dd11e20 0.56 manchester/2019-2021 +cv-compact_mono 0:387dc0387824 0.56 bscsoftwareengineering/imperialc +cv-compact_mono 0:453806946a88 0.66 london/2015-2019 +cv-compact_mono 0:7816e7a28b71 0.66 oraclejavacertification/professi +cv-compact_mono 0:d40b22f00acb 0.91 2023-2024 +cv-compact_mono 0:7b476727faf3 1.46 additional +cv-compact_mono 0:ecc25e73b19b 0.91 languages:english(fluent),german +cv-compact_mono 0:ac7f0ee6a49e 0.94 (intermediate),spanish(basic) +cv-compact_mono 0:970ca9d789c2 0.98 workeligibility:eligibletoworkin +cv-compact_mono 0:0735680e2596 1.01 theeu +cv-compact_mono 0:8051a4b5e34f 1.07 opensource:maintainerofgraphcomp +cv-compact_mono 0:08c2e869a75b 1.10 regularcontributortopdfboxissuet +cv-compact_mono 0:12dcd1343975 1.02 speaking:jvmsummit2024,devoxxuk2 +cv-compact_mono 0:3aea7f90f8ed 1.05 —bothondeclarativedocumentlayout +cv-compact_mono 0:1900eab6c028 0.63 profile +cv-compact_mono 0:3828b9718a0d -0.04 platformengineerwith10+yearsbuil +cv-compact_mono 0:f6b5e93ccadd -0.08 engines,anddeveloper-facingtempl +cv-compact_mono 0:927ef106776a 0.00 semanticauthoringdsls,andturning +cv-compact_mono 0:330fcb75ed52 -0.04 librariesthatscale. +cv-compact_mono 0:53e5e7c5a884 0.33 experience +cv-compact_mono 0:c9efb118bfda -0.05 seniorplatformengineer,northwind +cv-compact_mono 0:64c4b52dceb1 -0.24 ledthereusabledocument-generatio +cv-compact_mono 0:1f193cd1d987 -0.24 productteams.reducedtemplatemain +cv-compact_mono 0:9ccc3e904e5a -0.21 favourofonecanonicalengine. +cv-compact_mono 0:e21e4e47835a 0.04 softwareengineer,brightleaflabs| +cv-compact_mono 0:0cdd48f05f9d -0.15 builtbackendservicesandproductio +cv-compact_mono 0:e48f1e2c853d -0.15 permonth.drovethemigrationfromit +cv-compact_mono 0:b78a9a72ca9a -0.15 andcuttingp99renderlatencyfrom1. +cv-compact_mono 0:9f5d87c00954 0.10 backendengineer,helixprintco|201 +cv-compact_mono 0:a485c37fe7ea -0.09 maintainedahigh-volumeinvoice-pr +cv-compact_mono 0:5a136b6b9d8c -0.09 testharnessthatgatedeverytemplat +cv-compact_mono 0:d94eccbb1fbe 0.18 selectedprojects +cv-compact_mono 0:0059a3aac61e -0.44 graphcompose(java21,pdfbox,maven +cv-compact_mono 0:18b7f8c840e4 -0.43 dsl,slot-basedtemplates,snapshot +cv-compact_mono 0:d36f78e88fe0 -0.41 forhiringtoolsandbillingsystems. +cv-compact_mono 0:55e119878845 -0.38 templatestudio(kotlin,composedes +cv-compact_mono 0:c7b83853442b -0.37 proposal,andinvoiceoutputacross1 +cv-compact_mono 0:6b844249c695 -0.23 freezing. +cv-compact_mono 0:ab89138286bb -0.22 layoutlint(java21,javaparser,spo +cv-compact_mono 0:2c506ce69aa6 -0.21 nestedrows,untypedoffsets,implic +cv-compact_mono 0:6793d28e9783 -0.20 chromeforge(java,graphcompose,pa +cv-compact_mono 0:e3cfea265b3b -0.19 graphcompose:cinematiccovers,pul +cv-editorial_blue 0:8f1010120ed6 0.40 jordanrivera +cv-editorial_blue 0:2d58f0cadc2d 0.31 platformengineer +cv-editorial_blue 0:1b28eb6a9a2e 0.18 +442055551000-london,uk +cv-editorial_blue 0:8817bf9310b6 0.15 jordan.rivera@example.com|linked +cv-editorial_blue 0:3c69d6bb4892 0.23 professionalprofile +cv-editorial_blue 0:80cc87fdc4c4 -0.15 platformengineerwith10+yearsbuil +cv-editorial_blue 0:c323ef4c385f -0.13 systems.specialisedinhigh-throug +cv-editorial_blue 0:3ff1933dba9a -0.10 typed,snapshot-testedlibrariesth +cv-editorial_blue 0:32c1cf49a2fe 0.21 skills +cv-editorial_blue 0:8447174c8fff 0.28 •java21 +cv-editorial_blue 0:4797e5b5555b 0.28 •kotlin +cv-editorial_blue 0:44408890ac29 0.28 •groovy +cv-editorial_blue 0:9b676a2ec3c3 0.28 •python +cv-editorial_blue 0:c96e7be4e2bd 0.41 •sql +cv-editorial_blue 0:5bf26a4a07e7 0.41 •pdfbox +cv-editorial_blue 0:60bb71068aa6 0.41 •apachepoi(docx/xlsx) +cv-editorial_blue 0:8af129f35b4a 0.41 •itext +cv-editorial_blue 0:af16271643f5 0.41 •postscript +cv-editorial_blue 0:52014e35429b 0.41 •icccolourprofiles +cv-editorial_blue 0:5cc4da0e31ab 0.41 •fontmetrics +cv-editorial_blue 0:ffd06dc07d03 0.41 •customdsldesign +cv-editorial_blue 0:b3307292a943 0.30 •semanticlayouttrees +cv-editorial_blue 0:6a0bf046882f 0.30 •pagination +cv-editorial_blue 0:8d5738dcdcbd 0.30 •snapshottesting +cv-editorial_blue 0:8f39f0146d0e 0.30 •visualregression +cv-editorial_blue 0:a26a92311896 0.33 •maven +cv-editorial_blue 0:d1002e9575f5 0.33 •gradle +cv-editorial_blue 0:e7b0f50a3bf3 0.33 •githubactions +cv-editorial_blue 0:193e87ad43b7 0.33 •jitpack +cv-editorial_blue 0:193e87ad43b7#1 0.47 •jitpack +cv-editorial_blue 0:62e29bf5f417 0.34 •docker +cv-editorial_blue 0:83844532ef02 0.34 •jmhbenchmarking +cv-editorial_blue 0:8a7a4807b03b 0.34 •junit5 +cv-editorial_blue 0:40aaef8fe2a9 0.34 •assertj +cv-editorial_blue 0:a736ceace0f5 0.34 •pdfbox-basedpngdiff +cv-editorial_blue 0:9a38eea08d15 0.34 •layout-graphsnapshots +cv-editorial_blue 0:0d50de959d19 0.34 •mutationtesting(pitest) +cv-editorial_blue 0:7ea255c76189 0.34 •mavencentral +cv-editorial_blue 0:4e484fca00bb 0.47 •sonatypeossrh +cv-editorial_blue 0:feaf5883619f 0.47 •gpgsigning +cv-editorial_blue 0:11f34b7449a4 0.47 •semanticversioningdiscipline +cv-editorial_blue 0:68bf0109c6f8 0.67 education +cv-editorial_blue 0:78cdd0bfd1ce 0.62 msccomputerscience2019-2021 +cv-editorial_blue 0:47ce0218bbea 0.62 universityofmanchester +cv-editorial_blue 0:2ffe115b06e5 0.61 distinction.thesis:composablelay +cv-editorial_blue 0:c5947a492ce6 0.81 bscsoftwareengineering2015-2019 +cv-editorial_blue 0:89ad9656f393 0.69 imperialcollegelondon +cv-editorial_blue 0:baa173b4a82e 0.68 first-classhonours.specialisatio +cv-editorial_blue 0:83766950a9ce 0.90 oraclejavacertification2023-2024 +cv-editorial_blue 0:2669e1f6d55c 0.78 professionaltrack +cv-editorial_blue 0:3857373829c1 0.77 java17platformdeep-dive:records, +cv-editorial_blue 0:2577c0f557b2 0.84 projects +cv-editorial_blue 0:0f2c67872251 0.79 graphcompose(java21,pdfbox,maven +cv-editorial_blue 0:cf13c8a0c3d0 0.37 declarativejavapdflayoutengine.s +cv-editorial_blue 0:cfef54184ea6 0.43 proposalpipelinesforhiringtoolsa +cv-editorial_blue 0:d73d02174dc9 0.99 templatestudio(kotlin,composedes +cv-editorial_blue 0:7127a108c33c 0.57 internaltoolforevaluatingcv,prop +cv-editorial_blue 0:6b844249c695 0.62 freezing. +cv-editorial_blue 0:542ec793b5b1 1.06 layoutlint(java21,javaparser,spo +cv-editorial_blue 0:7488006d7864 0.67 staticanalyserthatflagsfragileau +cv-editorial_blue 0:c4d0c415b4f8 0.73 production. +cv-editorial_blue 0:ee180ea1e0a5 1.17 chromeforge(java,graphcompose,pa +cv-editorial_blue 0:e7e62230eb1f 1.11 editorial-magazinedocumenttoolki +cv-editorial_blue 0:53e5e7c5a884 1.06 experience +cv-editorial_blue 0:1b72d3ce3e11 1.09 seniorplatformengineer2024-prese +cv-editorial_blue 0:f890faef907f 1.10 northwindsystems +cv-editorial_blue 0:1af5650959fe 0.69 ledthereusabledocument-generatio +cv-editorial_blue 0:27c01c228bd8 0.81 templatemaintenancetimeby70%byre +cv-editorial_blue 0:1a7fe8433bff 1.20 softwareengineer2021-2024 +cv-editorial_blue 0:998c1a985022 1.22 brightleaflabs +cv-editorial_blue 0:e86691b0219f 0.80 builtbackendservicesandproductio +cv-editorial_blue 0:4ec57434564a 0.81 migrationfromitexttoacustomlayou +cv-editorial_blue 1:ef148f221e31 10.41 helixprintco +cv-editorial_blue 1:f811fbee6901 10.00 maintainedahigh-volumeinvoice-pr +cv-editorial_blue 1:cbfca5b2a6d7 10.12 templatechange. +cv-editorial_blue 1:7b476727faf3 10.34 additional +cv-editorial_blue 1:f20997652453 10.43 languages:english(fluent),german +cv-editorial_blue 1:ec9d3622395e 10.38 workeligibility:eligibletoworkin +cv-editorial_blue 1:dd20ae01c3cf 10.32 opensource:maintainerofgraphcomp +cv-editorial_blue 1:33c35e9d236d 10.39 speaking:jvmsummit2024,devoxxuk2 +cv-editorial_blue 1:0b516aa076e0 10.37 referencesavailableuponrequest. +cv-engineering_resume 0:8f1010120ed6 -0.02 jordanrivera +cv-engineering_resume 0:2d58f0cadc2d -0.18 platformengineer +cv-engineering_resume 0:fbeea547d99e -0.15 london,uk +cv-engineering_resume 0:89674e6f130e -0.11 +442055551000 +cv-engineering_resume 0:e0f850305ded -0.07 jordan.rivera@example.com +cv-engineering_resume 0:84308bea4540 -0.15 linkedin +cv-engineering_resume 0:c0b0109d9439 -0.11 github +cv-engineering_resume 0:32c1cf49a2fe -0.54 skills +cv-engineering_resume 0:873a24d153c8 -0.36 languages:java21,kotlin,groovy,p +cv-engineering_resume 0:db84150190bb -0.66 document&print:pdfbox,apachepoi +cv-engineering_resume 0:69d03fef7130 -0.64 (docx/xlsx),itext,postscript,icc +cv-engineering_resume 0:d52fd337f016 -0.62 profiles +cv-engineering_resume 0:f93032b34754 -0.56 layoutengines:customdsldesign,se +cv-engineering_resume 0:2d6fa255ba3a -0.54 layouttrees,pagination,snapshott +cv-engineering_resume 0:f274537aaf2c -0.52 regression +cv-engineering_resume 0:45fcec9fa26d -0.58 build&infrastructure:maven,gradl +cv-engineering_resume 0:33ddf84f4bab -0.56 actions,jitpack,docker +cv-engineering_resume 0:af23376e2ec2 -0.50 testing:junit5,assertj,pdfbox-ba +cv-engineering_resume 0:a8c30cabf363 -0.48 diff,layout-graphsnapshots,mutat +cv-engineering_resume 0:7c093617a679 -0.58 (pitest) +cv-engineering_resume 0:11ca7190fe83 -0.49 distribution:mavencentral,sonaty +cv-engineering_resume 0:768ad260251b -0.47 gpgsigning,jitpack,semanticversi +cv-engineering_resume 0:d43c8bd5797a -0.45 discipline +cv-engineering_resume 0:68bf0109c6f8 -0.29 education +cv-engineering_resume 0:5f9c672fafaf -0.23 msccomputerscience/2019-2021 +cv-engineering_resume 0:141310eca6fb -0.19 bscsoftwareengineering/2015-2019 +cv-engineering_resume 0:608c03298f47 -0.27 oraclejavacertification/2023-202 +cv-engineering_resume 0:41ffd8b76afc -0.37 details +cv-engineering_resume 0:ecc25e73b19b -0.55 languages:english(fluent),german +cv-engineering_resume 0:ac7f0ee6a49e -0.53 (intermediate),spanish(basic) +cv-engineering_resume 0:970ca9d789c2 -0.47 workeligibility:eligibletoworkin +cv-engineering_resume 0:0735680e2596 -0.45 theeu +cv-engineering_resume 0:e8256e23459a -1.54 engineeringprofile +cv-engineering_resume 0:e9b75496bfb4 -1.59 platformengineerwith10+yearsbuil +cv-engineering_resume 0:866be9f7a132 -1.53 developer-facingtemplatesystems. +cv-engineering_resume 0:82c1650fbfe8 -1.59 dsls,andturningbrittleproduction +cv-engineering_resume 0:53e5e7c5a884 -1.60 experience +cv-engineering_resume 0:4977534824cc -1.46 seniorplatformengineer/2024-pres +cv-engineering_resume 0:f890faef907f -1.43 northwindsystems +cv-engineering_resume 0:0bf7eb0b1058 -1.68 ledthereusabledocument-generatio +cv-engineering_resume 0:d69cae607226 -1.50 teams.reducedtemplatemaintenance +cv-engineering_resume 0:bdea17333528 -1.56 engine. +cv-engineering_resume 0:7033b2988e4d -1.33 softwareengineer/2021-2024 +cv-engineering_resume 0:998c1a985022 -1.30 brightleaflabs +cv-engineering_resume 0:e77e909f6ff5 -1.55 builtbackendservicesandproductio +cv-engineering_resume 0:97c59b2fdb55 -1.49 drovethemigrationfromitexttoacus +cv-engineering_resume 0:2c2b19cf214d -1.43 latencyfrom1.4sto380ms. +cv-engineering_resume 0:8b5abdc8c0d7 -1.49 technicalevidence +cv-engineering_resume 0:e2fbf67cb588 -1.02 graphcompose(java21,pdfbox,maven +cv-engineering_resume 0:eb5950729749 -1.06 templates,snapshottesting.powers +cv-engineering_resume 0:81c8132f9792 -1.16 systems.(opensource) +cv-engineering_resume 0:643428f0ebf8 -1.04 templatestudio(kotlin,composedes +cv-engineering_resume 0:c259a0e7581e -1.32 invoiceoutputacross14designprese +cv-engineering_resume 0:c944ee08a5bf -1.06 layoutlint(java21,javaparser,spo +cv-engineering_resume 0:2d80d05697ad -1.34 untypedoffsets,implicitpagebreak +cv-engineering_resume 0:6793d28e9783 -1.22 chromeforge(java,graphcompose,pa +cv-engineering_resume 0:e3cfea265b3b -1.50 graphcompose:cinematiccovers,pul +cv-executive 0:8f1010120ed6 0.08 jordanrivera +cv-executive 0:89ff05847e96 -0.30 london,uk|+442055551000 +cv-executive 0:8817bf9310b6 -0.32 jordan.rivera@example.com|linked +cv-executive 0:b944906ed84c 0.38 professionalsummary +cv-executive 0:6fbdc8b79878 0.06 platformengineerwith10+yearsbuil +cv-executive 0:c2be183b1c5f 0.01 templatesystems.specialisedinhig +cv-executive 0:7f92a9c9efc9 -0.04 scriptsintotyped,snapshot-tested +cv-executive 0:5f94c50dc5bf 0.36 technicalskills +cv-executive 0:eea537278f83 -0.20 •languages:java21,kotlin,groovy, +cv-executive 0:9c2cd7231a53 -0.16 •document&print:pdfbox,apachepoi +cv-executive 0:7bf8639ec5d3 -0.21 •layoutengines:customdsldesign,s +cv-executive 0:8e66776d28d7 -0.17 •build&infrastructure:maven,grad +cv-executive 0:1ed4fc7d7768 -0.13 •testing:junit5,assertj,pdfbox-b +cv-executive 0:26671c309eb9 -0.21 •distribution:mavencentral,sonat +cv-executive 0:68bf0109c6f8 0.43 education +cv-executive 0:0ad1957d6bab -0.17 msccomputerscience +cv-executive 0:3fa772117260 -0.17 2019-2021 +cv-executive 0:47ce0218bbea -0.15 universityofmanchester +cv-executive 0:2ffe115b06e5 -0.25 distinction.thesis:composablelay +cv-executive 0:b6749d0b616b -0.13 bscsoftwareengineering +cv-executive 0:30f9262640a0 -0.13 2015-2019 +cv-executive 0:89ad9656f393 -0.11 imperialcollegelondon +cv-executive 0:baa173b4a82e -0.07 first-classhonours.specialisatio +cv-executive 0:6d3d5673c39f 0.05 oraclejavacertification +cv-executive 0:d40b22f00acb 0.05 2023-2024 +cv-executive 0:2669e1f6d55c 0.07 professionaltrack +cv-executive 0:3857373829c1 -0.03 java17platformdeep-dive:records, +cv-executive 0:2577c0f557b2 0.49 projects +cv-executive 0:b2b029995203 0.05 •graphcompose(java21,pdfbox,mave +cv-executive 0:cf13c8a0c3d0 -0.19 declarativejavapdflayoutengine.s +cv-executive 0:cfef54184ea6 -0.24 proposalpipelinesforhiringtoolsa +cv-executive 0:1b50bb81df5a 0.16 •templatestudio(kotlin,composede +cv-executive 0:7127a108c33c -0.08 internaltoolforevaluatingcv,prop +cv-executive 0:6b844249c695 -0.10 freezing. +cv-executive 0:25cdca2beb8b 0.18 •layoutlint(java21,javaparser,sp +cv-executive 0:f5fa2add7746 -0.06 staticanalyserthatflagsfragileau +cv-executive 0:9f5414016bd1 -0.11 toproduction. +cv-executive 0:fb1927f88597 0.29 •chromeforge(java,graphcompose,p +cv-executive 0:e7e62230eb1f 0.29 editorial-magazinedocumenttoolki +cv-executive 0:c2f296ef30a3 0.93 professionalexperience +cv-executive 0:a76f47480818 0.33 seniorplatformengineer +cv-executive 0:060300b18051 0.33 2024-present +cv-executive 0:f890faef907f 0.34 northwindsystems +cv-executive 0:1af5650959fe 0.63 ledthereusabledocument-generatio +cv-executive 0:27c01c228bd8 0.58 templatemaintenancetimeby70%byre +cv-executive 1:daf65306b3b6 -3.18 softwareengineer +cv-executive 1:e7cc1822c6dc -3.18 2021-2024 +cv-executive 1:998c1a985022 -3.16 brightleaflabs +cv-executive 1:ff8303967fa4 -2.90 builtbackendservicesandproductio +cv-executive 1:bd1fc9a4d815 -2.93 fromitexttoacustomlayoutengine,e +cv-executive 1:41bb54fbae8d -3.05 backendengineer +cv-executive 1:3fa772117260 -3.05 2019-2021 +cv-executive 1:ef148f221e31 -3.03 helixprintco +cv-executive 1:f811fbee6901 -2.77 maintainedahigh-volumeinvoice-pr +cv-executive 1:cbfca5b2a6d7 -2.82 templatechange. +cv-executive 1:676dfdd56ad2 -2.54 additionalinformation +cv-executive 1:f20997652453 -3.10 languages:english(fluent),german +cv-executive 1:ec9d3622395e -3.06 workeligibility:eligibletoworkin +cv-executive 1:dd20ae01c3cf -3.02 opensource:maintainerofgraphcomp +cv-executive 1:33c35e9d236d -3.10 speaking:jvmsummit2024,devoxxuk2 +cv-midnight_navy 0:21d2636ad3df -19.32 alexmorgan +cv-midnight_navy 0:5518402feccc -19.90 marketingmanager +cv-midnight_navy 0:5518402feccc#1 -0.34 marketingmanager +cv-midnight_navy 0:093e7d5fdbaa -19.83 contact +cv-midnight_navy 0:01dcad830244 -19.25 +1(555)123-4567 +cv-midnight_navy 0:3eef38c97138 -19.28 alex.morgan@email.com +cv-midnight_navy 0:d5a0d0abdc64 -19.30 newyork,ny,usa +cv-midnight_navy 0:84308bea4540 -19.33 linkedin +cv-midnight_navy 0:0e6a8e0b849e -19.33 portfolio +cv-midnight_navy 0:68bf0109c6f8 -19.88 education +cv-midnight_navy 0:6e1119579227 -19.86 masterofbusiness +cv-midnight_navy 0:512afb6c7631 -19.88 administration +cv-midnight_navy 0:09b0e2130c1e -19.57 universityofchicagoboothschoolof +cv-midnight_navy 0:11d404179596 -19.53 business +cv-midnight_navy 0:3b8048983ecc -19.80 2016–2018 +cv-midnight_navy 0:3b8048983ecc#1 -0.01 2016–2018 +cv-midnight_navy 0:84c2243138f7 -19.92 bachelorofsciencein +cv-midnight_navy 0:e2a530e251d3 -19.93 marketing +cv-midnight_navy 0:1f676d444ffb -19.60 bostonuniversity +cv-midnight_navy 0:8789bd1a8f91 -19.87 2012–2016 +cv-midnight_navy 0:32c1cf49a2fe -19.89 skills +cv-midnight_navy 0:4a3750fc1d48 -18.72 strategicplanning +cv-midnight_navy 0:0d676ed982b4 -16.54 digitalmarketing +cv-midnight_navy 0:c29cfa799c8d -14.47 marketresearch +cv-midnight_navy 0:2c5646de026b -12.41 brandmanagement +cv-midnight_navy 0:2f594f65f16c -10.22 dataanalysis +cv-midnight_navy 0:340455fbac25 -8.16 projectmanagement +cv-midnight_navy 0:96fa20c5c60d -6.07 googleanalytics +cv-midnight_navy 0:9bc298c12dc3 -3.88 seo/sem +cv-midnight_navy 0:a95ee8d8cf67 -1.82 microsoftofficesuite +cv-midnight_navy 0:d4e16994df90 0.25 communication +cv-midnight_navy 0:6cb574fa10b6 1.26 languages +cv-midnight_navy 0:b6234d2ea0d6 6.14 english +cv-midnight_navy 0:9c9b13446cd9 15.94 spanish +cv-midnight_navy 0:21bb36ad0638 25.64 french +cv-midnight_navy 0:b944906ed84c -0.44 professionalsummary +cv-midnight_navy 0:05b2b441ce7b 0.28 results-drivenmarketingmanagerwi +cv-midnight_navy 0:66d5ff95c72a 0.32 executingdata-drivenmarketingstr +cv-midnight_navy 0:27747b7a33ce 0.22 engagement.proventrackrecordinle +cv-midnight_navy 0:a0f4e7019ffc 0.24 successfulcampaigns,anddeliverin +cv-midnight_navy 0:68352cb08e62 0.26 strongbrandsandcreatingimpactful +cv-midnight_navy 0:53e5e7c5a884 -0.52 experience +cv-midnight_navy 0:086c0e036e67 -0.37 2021–present +cv-midnight_navy 0:009b5b6479fa -0.28 starwavesolutions +cv-midnight_navy 0:60cebc1ec80c -0.28 newyork,ny +cv-midnight_navy 0:60cebc1ec80c#1 -0.10 newyork,ny +cv-midnight_navy 0:e0ee3cbb7b53 -0.80 ·manageateamof6marketingprofessi +cv-midnight_navy 0:8ba85a74e016 -0.74 anddesignteamstodrivecampaignsuc +cv-midnight_navy 0:407f710db042 -0.69 ·overseedigitalcampaignsacrossse +cv-midnight_navy 0:308aef77a1c3 -0.75 resultingina25%increaseinroi. +cv-midnight_navy 0:7e121dceb78a -0.16 seniormarketingspecialist +cv-midnight_navy 0:f7d1049ec64b -0.19 2018–2021 +cv-midnight_navy 0:4b8292fda43e -0.10 brightlinetechnologies +cv-midnight_navy 0:a246f7ba3f71 -0.64 ·executedmulti-channelmarketingc +cv-midnight_navy 0:58b162e46dda -0.58 engagementby30%. +cv-midnight_navy 0:ef77f2daef0f -0.04 ·managedsocialmediachannelsandco +cv-midnight_navy 0:a112a7b3c16b 0.02 ·coordinatedwithcreativeteamstod +cv-midnight_navy 0:990b9f22bb48 0.02 marketingcoordinator +cv-midnight_navy 0:88f4e236ebcd 0.08 peakperformancegroup +cv-midnight_navy 0:c8186fbbdae9 0.08 boston,ma +cv-midnight_navy 0:87777be540ce 0.02 ·supportedthedevelopmentandexecu +cv-midnight_navy 0:44bbb2209a31 0.08 ·assistedinorganizingevents,webi +cv-midnight_navy 0:a1b8ec0d8fa7 0.13 ·monitoredcampaignperformanceand +cv-midnight_navy 0:6c6e2844f9eb 0.19 ·maintainedandupdatedmarketingda +cv-midnight_navy 0:6ee18b42fbf1 0.04 achievements +cv-midnight_navy 0:ce3ecf332528 1.13 increasedbrand +cv-midnight_navy 0:d42f3bf2c01a 0.58 awarenessby40% +cv-midnight_navy 0:f732077ea0c0 -0.08 within2years. +cv-midnight_navy 0:f030b07931b5 1.13 boostedlead +cv-midnight_navy 0:912bf883fae8 0.58 generationby35% +cv-midnight_navy 0:f9049751a4c8 -0.08 annually. +cv-midnight_navy 0:fa2311efab0a 0.90 recognizedastop +cv-midnight_navy 0:7918c6d41cc5 -0.01 performerin2022. +cv-midnight_navy 0:e831beb04c00 0.01 certifications +cv-midnight_navy 0:4344ae02bbc0 0.22 googleanalyticscertified +cv-midnight_navy 0:bbdefa2950f4 0.17 google +cv-midnight_navy 0:73a2af8864fc 0.10 2020 +cv-midnight_navy 0:86e529fac99d 0.22 hubspotcontentmarketingcertified +cv-midnight_navy 0:200b36afcfde 0.17 hubspotacademy +cv-midnight_navy 0:1bea20e1df19 0.10 2021 +cv-minimal_underlined 0:8f1010120ed6 0.50 jordanrivera +cv-minimal_underlined 0:8d7a2cca3060 0.18 +442055551000|jordan.rivera@exam +cv-minimal_underlined 0:b944906ed84c -0.09 professionalsummary +cv-minimal_underlined 0:80cc87fdc4c4 -0.74 platformengineerwith10+yearsbuil +cv-minimal_underlined 0:bddc0bd093ce -0.57 systems.specialisedinhigh-throug +cv-minimal_underlined 0:95a43d7b3df0 -0.53 snapshot-testedlibrariesthatscal +cv-minimal_underlined 0:5f94c50dc5bf -0.30 technicalskills +cv-minimal_underlined 0:eea537278f83 -0.71 •languages:java21,kotlin,groovy, +cv-minimal_underlined 0:9c2cd7231a53 -0.71 •document&print:pdfbox,apachepoi +cv-minimal_underlined 0:7bf8639ec5d3 -0.70 •layoutengines:customdsldesign,s +cv-minimal_underlined 0:8e66776d28d7 -0.67 •build&infrastructure:maven,grad +cv-minimal_underlined 0:1ed4fc7d7768 -0.66 •testing:junit5,assertj,pdfbox-b +cv-minimal_underlined 0:26671c309eb9 -0.66 •distribution:mavencentral,sonat +cv-minimal_underlined 0:68bf0109c6f8 -0.55 education +cv-minimal_underlined 0:0ad1957d6bab -0.78 msccomputerscience +cv-minimal_underlined 0:3fa772117260 -0.85 2019-2021 +cv-minimal_underlined 0:47ce0218bbea -0.90 universityofmanchester +cv-minimal_underlined 0:2ffe115b06e5 -0.84 distinction.thesis:composablelay +cv-minimal_underlined 0:b6749d0b616b -0.70 bscsoftwareengineering +cv-minimal_underlined 0:30f9262640a0 -0.76 2015-2019 +cv-minimal_underlined 0:89ad9656f393 -0.82 imperialcollegelondon +cv-minimal_underlined 0:baa173b4a82e -0.74 first-classhonours.specialisatio +cv-minimal_underlined 0:6d3d5673c39f -0.59 oraclejavacertification +cv-minimal_underlined 0:d40b22f00acb -0.54 2023-2024 +cv-minimal_underlined 0:2669e1f6d55c -0.71 professionaltrack +cv-minimal_underlined 0:3857373829c1 -0.53 java17platformdeep-dive:records, +cv-minimal_underlined 0:2577c0f557b2 -0.55 projects +cv-minimal_underlined 0:b2b029995203 -0.96 •graphcompose(java21,pdfbox,mave +cv-minimal_underlined 0:67593a76ef70 -1.11 declarativejavapdflayoutengine.s +cv-minimal_underlined 0:b9292cbd1454 -1.07 pipelinesforhiringtoolsandbillin +cv-minimal_underlined 0:1b50bb81df5a -0.74 •templatestudio(kotlin,composede +cv-minimal_underlined 0:7127a108c33c -0.99 internaltoolforevaluatingcv,prop +cv-minimal_underlined 0:6b844249c695 -0.94 freezing. +cv-minimal_underlined 0:25cdca2beb8b -0.62 •layoutlint(java21,javaparser,sp +cv-minimal_underlined 0:7488006d7864 -0.89 staticanalyserthatflagsfragileau +cv-minimal_underlined 0:c4d0c415b4f8 -0.85 production. +cv-minimal_underlined 0:fb1927f88597 -0.52 •chromeforge(java,graphcompose,p +cv-minimal_underlined 0:e7e62230eb1f -0.44 editorial-magazinedocumenttoolki +cv-minimal_underlined 0:c2f296ef30a3 -0.46 professionalexperience +cv-minimal_underlined 0:a76f47480818 -0.69 seniorplatformengineer +cv-minimal_underlined 0:060300b18051 -0.75 2024-present +cv-minimal_underlined 0:f890faef907f -0.78 northwindsystems +cv-minimal_underlined 1:49faf14f1f56 -0.70 ledthereusabledocument-generatio +cv-minimal_underlined 1:6bd3f168e89e -0.65 maintenancetimeby70%byretiringpe +cv-minimal_underlined 1:daf65306b3b6 -0.27 softwareengineer +cv-minimal_underlined 1:e7cc1822c6dc -0.21 2021-2024 +cv-minimal_underlined 1:998c1a985022 -0.37 brightleaflabs +cv-minimal_underlined 1:e55664011cda -0.55 builtbackendservicesandproductio +cv-minimal_underlined 1:e80236b6d2b1 -0.50 itexttoacustomlayoutengine,elimi +cv-minimal_underlined 1:41bb54fbae8d -0.12 backendengineer +cv-minimal_underlined 1:3fa772117260 -0.06 2019-2021 +cv-minimal_underlined 1:ef148f221e31 -0.24 helixprintco +cv-minimal_underlined 1:9d31a6bfbc69 -0.30 maintainedahigh-volumeinvoice-pr +cv-minimal_underlined 1:03af8a628309 -0.25 change. +cv-minimal_underlined 1:676dfdd56ad2 -0.03 additionalinformation +cv-minimal_underlined 1:f20997652453 -0.44 languages:english(fluent),german +cv-minimal_underlined 1:ec9d3622395e -0.40 workeligibility:eligibletoworkin +cv-minimal_underlined 1:dd20ae01c3cf -0.40 opensource:maintainerofgraphcomp +cv-minimal_underlined 1:33c35e9d236d -0.39 speaking:jvmsummit2024,devoxxuk2 +cv-mint_editorial 0:8f1010120ed6 -0.18 jordanrivera +cv-mint_editorial 0:2d58f0cadc2d 0.01 platformengineer +cv-mint_editorial 0:093e7d5fdbaa -0.13 contact +cv-mint_editorial 0:89674e6f130e 0.21 +442055551000 +cv-mint_editorial 0:e0f850305ded 0.21 jordan.rivera@example.com +cv-mint_editorial 0:fbeea547d99e 0.21 london,uk +cv-mint_editorial 0:84308bea4540 0.24 linkedin +cv-mint_editorial 0:c0b0109d9439 0.24 github +cv-mint_editorial 0:68bf0109c6f8 -0.18 education +cv-mint_editorial 0:0ad1957d6bab 0.05 msccomputerscience +cv-mint_editorial 0:47ce0218bbea 0.08 universityofmanchester +cv-mint_editorial 0:3fa772117260 0.08 2019-2021 +cv-mint_editorial 0:5993c29826a9 0.07 bscsoftware +cv-mint_editorial 0:8c85b6639e62 0.15 engineering +cv-mint_editorial 0:89ad9656f393 0.06 imperialcollegelondon +cv-mint_editorial 0:30f9262640a0 0.06 2015-2019 +cv-mint_editorial 0:95c2a0cf9777 0.03 oraclejava +cv-mint_editorial 0:b00a6c108553 0.11 certification +cv-mint_editorial 0:2669e1f6d55c 0.14 professionaltrack +cv-mint_editorial 0:d40b22f00acb 0.14 2023-2024 +cv-mint_editorial 0:1900eab6c028 -0.13 profile +cv-mint_editorial 0:924e8fc8d04f 0.22 platformengineerwith10+yearsbuil +cv-mint_editorial 0:df58bf5ac853 0.32 pipelines,layoutengines,anddevel +cv-mint_editorial 0:bedc997db3d0 0.30 inhigh-throughputpdfrendering,se +cv-mint_editorial 0:3be7f615205f 0.28 production-opsscriptsintotyped,s +cv-mint_editorial 0:53e5e7c5a884 -0.16 experience +cv-mint_editorial 0:a76f47480818 0.07 seniorplatformengineer +cv-mint_editorial 0:d492f2d34b81 0.10 northwindsystems|2024-present +cv-mint_editorial 0:11a63b6a756a 0.31 ledthereusabledocument-generatio +cv-mint_editorial 0:e9ddcca2381b 0.29 reportingflowsacross8productteam +cv-mint_editorial 0:8e7a066998f5 0.27 by70%byretiringper-teampdfscript +cv-mint_editorial 0:daf65306b3b6 -0.01 softwareengineer +cv-mint_editorial 0:14aeb7d88f36 0.14 brightleaflabs|2021-2024 +cv-mint_editorial 0:78c890058374 0.37 builtbackendservicesandproductio +cv-mint_editorial 0:798b575aa9c2 0.35 processing2m+documentspermonth.d +cv-mint_editorial 0:337c2b00cc88 0.33 customlayoutengine,eliminatingli +cv-mint_editorial 0:cbec16fb4c22 0.31 from1.4sto380ms. +cv-mint_editorial 1:2b3bcb2b7d1d -0.03 expertise +cv-mint_editorial 1:6cb574fa10b6 0.10 languages +cv-mint_editorial 1:f2197dc148f6 0.10 document&print +cv-mint_editorial 1:634db137981a 0.10 layoutengines +cv-mint_editorial 1:86c328e816c6 0.10 build&infrastructure +cv-mint_editorial 1:cf80cd8aed48 0.13 testing +cv-mint_editorial 1:933548450302 0.13 distribution +cv-mint_editorial 1:32c1cf49a2fe -0.18 skills +cv-mint_editorial 1:d5680c2e2769 0.17 java21 +cv-mint_editorial 1:19a67c2a5369 0.08 kotlin +cv-mint_editorial 1:95bfacd3a466 0.13 groovy +cv-mint_editorial 1:11a4a60b518b 0.16 python +cv-mint_editorial 1:4ec7c53222c8 0.19 sql +cv-mint_editorial 1:57529f20c3ad 0.10 pdfbox +cv-mint_editorial 1:3e860f41a5ea -0.03 social +cv-mint_editorial 1:84308bea4540 0.04 linkedin +cv-mint_editorial 1:c0b0109d9439 0.00 github +cv-mint_editorial 1:53e5e7c5a884 -0.03 experience +cv-mint_editorial 1:41bb54fbae8d 0.10 backendengineer +cv-mint_editorial 1:43aab7d19dc6 0.13 helixprintco|2019-2021 +cv-mint_editorial 1:d9af05f99661 0.34 maintainedahigh-volumeinvoice-pr +cv-mint_editorial 1:1081945512b1 0.32 authoredthecompliancetestharness +cv-modern_professional 0:8f1010120ed6 0.18 jordanrivera +cv-modern_professional 0:89ff05847e96 0.12 london,uk|+442055551000 +cv-modern_professional 0:8817bf9310b6 0.07 jordan.rivera@example.com|linked +cv-modern_professional 0:b944906ed84c 0.02 professionalsummary +cv-modern_professional 0:6fbdc8b79878 -0.49 platformengineerwith10+yearsbuil +cv-modern_professional 0:5f94c50dc5bf -0.01 technicalskills +cv-modern_professional 0:eea537278f83 -0.15 •languages:java21,kotlin,groovy, +cv-modern_professional 0:9c2cd7231a53 0.00 •document&print:pdfbox,apachepoi +cv-modern_professional 0:7bf8639ec5d3 -0.09 •layoutengines:customdsldesign,s +cv-modern_professional 0:8e66776d28d7 -0.06 •build&infrastructure:maven,grad +cv-modern_professional 0:1ed4fc7d7768 -0.03 •testing:junit5,assertj,pdfbox-b +cv-modern_professional 0:26671c309eb9 0.00 •distribution:mavencentral,sonat +cv-modern_professional 0:68bf0109c6f8 0.11 education +cv-modern_professional 0:0ad1957d6bab -0.07 msccomputerscience +cv-modern_professional 0:3fa772117260 -0.08 2019-2021 +cv-modern_professional 0:3fa772117260#1 0.77 2019-2021 +cv-modern_professional 0:47ce0218bbea -0.19 universityofmanchester +cv-modern_professional 0:2ffe115b06e5 -0.06 distinction.thesis:composablelay +cv-modern_professional 0:b6749d0b616b 0.08 bscsoftwareengineering +cv-modern_professional 0:30f9262640a0 0.07 2015-2019 +cv-modern_professional 0:89ad9656f393 -0.04 imperialcollegelondon +cv-modern_professional 0:baa173b4a82e 0.10 first-classhonours.specialisatio +cv-modern_professional 0:6d3d5673c39f 0.11 oraclejavacertification +cv-modern_professional 0:d40b22f00acb 0.22 2023-2024 +cv-modern_professional 0:2669e1f6d55c -0.01 professionaltrack +cv-modern_professional 0:3857373829c1 0.24 java17platformdeep-dive:records, +cv-modern_professional 0:2577c0f557b2 0.34 projects +cv-modern_professional 0:b2b029995203 0.20 •graphcompose(java21,pdfbox,mave +cv-modern_professional 0:dd39d2ff3520 -0.17 declarativejavapdflayoutengine.s +cv-modern_professional 0:9ecaa6df6d41 -0.09 invoice/proposalpipelinesforhiri +cv-modern_professional 0:1b50bb81df5a 0.32 •templatestudio(kotlin,composede +cv-modern_professional 0:18eec9e76e2d -0.05 internaltoolforevaluatingcv,prop +cv-modern_professional 0:6bc2807453c6 0.03 baselinefreezing. +cv-modern_professional 0:25cdca2beb8b 0.44 •layoutlint(java21,javaparser,sp +cv-modern_professional 0:cc2850ddd8ba 0.07 staticanalyserthatflagsfragileau +cv-modern_professional 0:7b985a1d2b08 0.15 shiptoproduction. +cv-modern_professional 0:fb1927f88597 0.56 •chromeforge(java,graphcompose,p +cv-modern_professional 0:cda7db6c6ea6 0.19 editorial-magazinedocumenttoolki +cv-modern_professional 0:fe63fe18585a 0.27 callouts. +cv-modern_professional 0:c2f296ef30a3 0.62 professionalexperience +cv-modern_professional 0:a76f47480818 0.56 seniorplatformengineer +cv-modern_professional 0:060300b18051 0.55 2024-present +cv-modern_professional 0:f890faef907f 0.44 northwindsystems +cv-modern_professional 0:a6525dacbac7 0.22 ledthereusabledocument-generatio +cv-modern_professional 0:15e3905f4890 0.29 reducedtemplatemaintenancetimeby +cv-modern_professional 0:daf65306b3b6 0.67 softwareengineer +cv-modern_professional 0:e7cc1822c6dc 0.67 2021-2024 +cv-modern_professional 0:998c1a985022 0.55 brightleaflabs +cv-modern_professional 0:e86691b0219f 0.33 builtbackendservicesandproductio +cv-modern_professional 0:4ec57434564a 0.40 migrationfromitexttoacustomlayou +cv-modern_professional 0:41bb54fbae8d 0.77 backendengineer +cv-modern_professional 0:ef148f221e31 0.66 helixprintco +cv-modern_professional 0:a32c7f2401d9 0.45 maintainedahigh-volumeinvoice-pr +cv-modern_professional 0:7068c1d7034b 0.54 everytemplatechange. +cv-modern_professional 1:676dfdd56ad2 -7.65 additionalinformation +cv-modern_professional 1:f20997652453 -7.80 languages:english(fluent),german +cv-modern_professional 1:ec9d3622395e -7.77 workeligibility:eligibletoworkin +cv-modern_professional 1:dd20ae01c3cf -7.74 opensource:maintainerofgraphcomp +cv-modern_professional 1:33c35e9d236d -7.69 speaking:jvmsummit2024,devoxxuk2 +cv-monogram_sidebar 0:093e7d5fdbaa 0.00 contact +cv-monogram_sidebar 0:89674e6f130e 0.63 +442055551000 +cv-monogram_sidebar 0:e0f850305ded 1.11 jordan.rivera@example.com +cv-monogram_sidebar 0:fbeea547d99e 1.59 london,uk +cv-monogram_sidebar 0:84308bea4540 2.21 linkedin +cv-monogram_sidebar 0:c0b0109d9439 2.69 github +cv-monogram_sidebar 0:68bf0109c6f8 2.73 education +cv-monogram_sidebar 0:0ad1957d6bab 2.81 msccomputerscience +cv-monogram_sidebar 0:47ce0218bbea 2.81 universityofmanchester +cv-monogram_sidebar 0:3fa772117260 2.92 2019-2021 +cv-monogram_sidebar 0:b6749d0b616b 2.81 bscsoftwareengineering +cv-monogram_sidebar 0:89ad9656f393 2.84 imperialcollegelondon +cv-monogram_sidebar 0:30f9262640a0 2.95 2015-2019 +cv-monogram_sidebar 0:32c1cf49a2fe 2.80 skills +cv-monogram_sidebar 0:d5680c2e2769 2.92 java21 +cv-monogram_sidebar 0:19a67c2a5369 2.92 kotlin +cv-monogram_sidebar 0:95bfacd3a466 3.04 groovy +cv-monogram_sidebar 0:11a4a60b518b 3.03 python +cv-monogram_sidebar 0:4ec7c53222c8 3.03 sql +cv-monogram_sidebar 0:57529f20c3ad 3.03 pdfbox +cv-monogram_sidebar 0:1814aacb6d5a 3.06 apachepoi(docx/xlsx) +cv-monogram_sidebar 0:136c67657614 0.36 jordan +cv-monogram_sidebar 0:8ba35ebe3d5c 0.43 rivera +cv-monogram_sidebar 0:2d58f0cadc2d -0.07 platformengineer +cv-monogram_sidebar 0:b944906ed84c -0.09 professionalsummary +cv-monogram_sidebar 0:e9b75496bfb4 -0.25 platformengineerwith10+yearsbuil +cv-monogram_sidebar 0:84b4d993d952 -0.28 developer-facingtemplatesystems. +cv-monogram_sidebar 0:dc1181e6cd7b -0.31 andturningbrittleproduction-opss +cv-monogram_sidebar 0:c2f296ef30a3 -0.04 professionalexperience +cv-monogram_sidebar 0:a76f47480818 -0.06 seniorplatformengineer +cv-monogram_sidebar 0:f890faef907f 0.02 northwindsystems +cv-monogram_sidebar 0:060300b18051 0.06 2024-present +cv-monogram_sidebar 0:0bf7eb0b1058 -0.16 ledthereusabledocument-generatio +cv-monogram_sidebar 0:b9f0f08f8ce0 -0.19 teams.reducedtemplatemaintenance +cv-monogram_sidebar 0:ab9a16f78540 -0.22 canonicalengine. +cv-monogram_sidebar 0:daf65306b3b6 -0.08 softwareengineer +cv-monogram_sidebar 0:998c1a985022 0.00 brightleaflabs +cv-monogram_sidebar 0:e7cc1822c6dc 0.04 2021-2024 +cv-monogram_sidebar 0:e77e909f6ff5 -0.18 builtbackendservicesandproductio +cv-monogram_sidebar 0:97c59b2fdb55 -0.19 drovethemigrationfromitexttoacus +cv-monogram_sidebar 0:2c2b19cf214d -0.10 latencyfrom1.4sto380ms. +cv-monogram_sidebar 0:2577c0f557b2 0.02 projects +cv-monogram_sidebar 0:abdcacccefe1 0.46 templatestudio(kotlin,composedes +cv-monogram_sidebar 0:041a43f9a663 0.73 andinvoiceoutputacross14designpr +cv-monogram_sidebar 0:f87e2f0c02dc 0.79 layoutlint(java21,javaparser,spo +cv-monogram_sidebar 0:a646f74483b1 1.06 rows,untypedoffsets,implicitpage +cv-monogram_sidebar 0:676dfdd56ad2 1.42 additionalinformation +cv-monogram_sidebar 0:f20997652453 1.39 languages:english(fluent),german +cv-monogram_sidebar 0:ec9d3622395e 1.43 workeligibility:eligibletoworkin +cv-monogram_sidebar 0:dd20ae01c3cf 1.47 opensource:maintainerofgraphcomp +cv-navy_sidebar 0:9fdaa20e32a0 0.27 oliviamartinez +cv-navy_sidebar 0:093e7d5fdbaa -0.18 contact +cv-navy_sidebar 0:01dcad830244 0.02 +1(555)123-4567 +cv-navy_sidebar 0:51deda7d1a4f 0.08 your.email@gmail.com +cv-navy_sidebar 0:d5a0d0abdc64 0.18 newyork,ny,usa +cv-navy_sidebar 0:8d5bb5bf42be 0.15 linkedin.com/in/yourname +cv-navy_sidebar 0:68bf0109c6f8 -0.11 education +cv-navy_sidebar 0:6e1410a7b5cb 0.21 masterofsciencein +cv-navy_sidebar 0:e2a530e251d3 0.18 marketing +cv-navy_sidebar 0:d244381bfb58 0.02 newyorkuniversity +cv-navy_sidebar 0:60cebc1ec80c -0.04 newyork,ny +cv-navy_sidebar 0:01e4455cec51 0.02 2020-2022 +cv-navy_sidebar 0:fb1235740d31 0.22 bachelorofbusiness +cv-navy_sidebar 0:512afb6c7631 0.19 administration +cv-navy_sidebar 0:1d9547a99a4e -0.07 universityofcalifornia +cv-navy_sidebar 0:de747164b75f -0.01 losangeles,ca +cv-navy_sidebar 0:7878b9e4385f 0.05 2016-2020 +cv-navy_sidebar 0:32c1cf49a2fe -0.07 skills +cv-navy_sidebar 0:ccae905da5fc 0.13 •digitalmarketing +cv-navy_sidebar 0:3e8cddd043e9 0.13 •dataanalysis +cv-navy_sidebar 0:cb393a256ce2 0.13 •projectmanagement +cv-navy_sidebar 0:45dad5d5c3cc 0.13 •seo/sem +cv-navy_sidebar 0:004ded92a5a3 0.13 •microsoftofficesuite +cv-navy_sidebar 0:e06c8b35cc09 0.16 •googleanalytics +cv-navy_sidebar 0:238987499bc7 0.16 •socialmediastrategy +cv-navy_sidebar 0:a3d99b3cc7e0 0.16 •contentmarketing +cv-navy_sidebar 0:6cb574fa10b6 0.08 languages +cv-navy_sidebar 0:77915a7314f0 0.18 spanish–advanced +cv-navy_sidebar 0:21bb36ad0638 0.14 french +cv-navy_sidebar 0:3bc244be050e 0.14 –intermediate +cv-navy_sidebar 0:5518402feccc -0.22 marketingmanager +cv-navy_sidebar 0:5518402feccc#1 -0.05 marketingmanager +cv-navy_sidebar 0:7b5815d7a663 0.06 results-drivenmarketingprofessio +cv-navy_sidebar 0:18f8b50d02d8 0.10 developingandexecutingdata-drive +cv-navy_sidebar 0:2adca2422cbe 0.14 growth,increaseengagement,anddel +cv-navy_sidebar 0:b3c222da2e1d 0.18 digitalmarketing,marketresearch, +cv-navy_sidebar 0:53e5e7c5a884 -0.08 experience +cv-navy_sidebar 0:8a39b996b27c 0.25 jan2022-present +cv-navy_sidebar 0:f97eeb2fe120 -0.03 brightwavesolutions,newyork,ny +cv-navy_sidebar 0:f97eeb2fe120#1 -0.05 brightwavesolutions,newyork,ny +cv-navy_sidebar 0:f97eeb2fe120#2 0.03 brightwavesolutions,newyork,ny +cv-navy_sidebar 0:a4beef0c22d9 -0.28 •developandimplementintegratedma +cv-navy_sidebar 0:234eaa6417f7 -0.19 awarenessby35%andleadgenerationb +cv-navy_sidebar 0:dfd245470d6e -0.17 •manageateamof4marketingspeciali +cv-navy_sidebar 0:94d0b8d13763 -0.20 anddesignteamstoalignstrategies. +cv-navy_sidebar 0:5dabf21df91b -0.18 •analyzecampaignperformanceusing +cv-navy_sidebar 0:1cb810ca6189 -0.21 optimizeroiandreporting. +cv-navy_sidebar 0:3b172b9ab75e -0.08 marketingspecialist +cv-navy_sidebar 0:d514872487af 0.22 jun2020-dec2021 +cv-navy_sidebar 0:a13f57f4d861 -0.21 •executeddigitalmarketingcampaig +cv-navy_sidebar 0:4b308a27b878 -0.24 channels. +cv-navy_sidebar 0:39b87fda4a82 -0.22 •conductedmarketresearchandcompe +cv-navy_sidebar 0:b088780ed500 -0.23 andinformstrategy. +cv-navy_sidebar 0:bafd8ea30ebe -0.21 •createdengagingcontentforblogs, +cv-navy_sidebar 0:88a47597543f -0.24 engagementby40%. +cv-navy_sidebar 0:dcf0600524d2 0.01 marketingintern +cv-navy_sidebar 0:73a85d4a71b0 0.31 jan2020-may2020 +cv-navy_sidebar 0:e31c3dfebb27 -0.01 •assistedinplanningandexecutingm +cv-navy_sidebar 0:f7ee178c4b93 0.01 •supportedcontentcreationandsoci +cv-navy_sidebar 0:3ffec90452c5 0.03 •analyzeddataandpreparedreportst +cv-navy_sidebar 0:6ee18b42fbf1 0.04 achievements +cv-navy_sidebar 0:cff13cc228a6 -0.10 •increasedwebsitetrafficby60%wit +cv-navy_sidebar 0:fae41a639f96 -0.13 strategy. +cv-navy_sidebar 0:b46da9584f4f 0.05 •launchedasuccessfulemailmarketi +cv-navy_sidebar 0:3654c4d2721e 0.11 •received“employeeoftheyear”awar +cv-navy_sidebar 0:e831beb04c00 0.09 certifications +cv-navy_sidebar 0:431b6df4450d 0.19 •googleanalyticsindividualqualif +cv-navy_sidebar 0:334a657f5d85 0.13 •hubspotcontentmarketingcertific +cv-navy_sidebar 0:19323523a3e6 0.21 •facebookblueprintcertification +cv-nordic_clean 0:8f1010120ed6 -0.16 jordanrivera +cv-nordic_clean 0:2d58f0cadc2d -0.20 platformengineer +cv-nordic_clean 0:fbeea547d99e -0.22 london,uk +cv-nordic_clean 0:89674e6f130e -0.16 +442055551000 +cv-nordic_clean 0:e0f850305ded -0.22 jordan.rivera@example.com +cv-nordic_clean 0:84308bea4540 -0.16 linkedin +cv-nordic_clean 0:c0b0109d9439 -0.10 github +cv-nordic_clean 0:1900eab6c028 -0.14 profile +cv-nordic_clean 0:8d6758a29c08 -0.45 platformengineerwith10+yearsbuil +cv-nordic_clean 0:f0d993eb5f9d -0.44 high-throughputpdfrendering,sema +cv-nordic_clean 0:32c1cf49a2fe 0.01 skills +cv-nordic_clean 0:873a24d153c8 0.09 languages:java21,kotlin,groovy,p +cv-nordic_clean 0:db84150190bb -0.15 document&print:pdfbox,apachepoi +cv-nordic_clean 0:1d1d129512e6 -0.06 (docx/xlsx),itext,postscript,icc +cv-nordic_clean 0:7985eee03934 -0.09 fontmetrics +cv-nordic_clean 0:a1cec3782701 -0.09 layoutengines:customdsldesign,se +cv-nordic_clean 0:3a3b8c3bddd0 0.00 trees,pagination,snapshottesting +cv-nordic_clean 0:b7d8ca9428a4 0.00 build&infrastructure:maven,gradl +cv-nordic_clean 0:656a2a3e57e0 -0.03 jitpack,docker,jmhbenchmarking +cv-nordic_clean 0:b8b1a42a45e1 0.09 testing:junit5,assertj,pdfbox-ba +cv-nordic_clean 0:2ec2836b6df6 0.09 layout-graphsnapshots,mutationte +cv-nordic_clean 0:74b69eb8de4b 0.09 distribution:mavencentral,sonaty +cv-nordic_clean 0:43ad67a4e3f5 0.06 signing,jitpack,semanticversioni +cv-nordic_clean 0:68bf0109c6f8 0.28 education +cv-nordic_clean 0:904a600c3869 0.10 msccomputerscience/universityofm +cv-nordic_clean 0:3fa772117260 0.27 2019-2021 +cv-nordic_clean 0:78a380e4d1f0 0.29 bscsoftwareengineering/imperialc +cv-nordic_clean 0:30f9262640a0 0.46 2015-2019 +cv-nordic_clean 0:7b476727faf3 0.91 additional +cv-nordic_clean 0:3b0f5db9217f 0.80 languages:english(fluent),german +cv-nordic_clean 0:d8a971cea795 0.71 spanish(basic) +cv-nordic_clean 0:ec9d3622395e 0.91 workeligibility:eligibletoworkin +cv-nordic_clean 0:d05b8b335e96 0.61 opensource:maintainerofgraphcomp +cv-nordic_clean 0:2f3b4176123d 0.64 contributortopdfboxissuetriage. +cv-nordic_clean 0:b6b5a250cb72 0.58 speaking:jvmsummit2024,devoxxuk2 +cv-nordic_clean 0:7ead14c50085 0.73 ondeclarativedocumentlayout. +cv-nordic_clean 0:53e5e7c5a884 -0.23 experience +cv-nordic_clean 0:4977534824cc -0.15 seniorplatformengineer/2024-pres +cv-nordic_clean 0:f890faef907f -0.08 northwindsystems +cv-nordic_clean 0:64c4b52dceb1 -0.32 ledthereusabledocument-generatio +cv-nordic_clean 0:b2773305641a -0.30 productteams.reducedtemplatemain +cv-nordic_clean 0:7be82f4e179d -0.40 onecanonicalengine. +cv-nordic_clean 0:7033b2988e4d -0.13 softwareengineer/2021-2024 +cv-nordic_clean 0:998c1a985022 -0.06 brightleaflabs +cv-nordic_clean 0:632618b20dab -0.30 builtbackendservicesandproductio +cv-nordic_clean 0:3c3f0a37747d -0.40 month.drovethemigrationfromitext +cv-nordic_clean 0:e710587711df -0.35 p99renderlatencyfrom1.4sto380ms. +cv-nordic_clean 0:fa8695dd2893 -0.08 backendengineer/2019-2021 +cv-nordic_clean 0:ef148f221e31 -0.01 helixprintco +cv-nordic_clean 0:41d451f465c2 -0.37 maintainedahigh-volumeinvoice-pr +cv-nordic_clean 0:6859fed08b66 -0.35 harnessthatgatedeverytemplatecha +cv-nordic_clean 0:d94eccbb1fbe -0.14 selectedprojects +cv-nordic_clean 0:643428f0ebf8 0.05 templatestudio(kotlin,composedes +cv-nordic_clean 0:c259a0e7581e 0.13 invoiceoutputacross14designprese +cv-nordic_clean 0:f87e2f0c02dc 0.23 layoutlint(java21,javaparser,spo +cv-nordic_clean 0:a646f74483b1 0.31 rows,untypedoffsets,implicitpage +cv-nordic_clean 0:6793d28e9783 0.43 chromeforge(java,graphcompose,pa +cv-nordic_clean 0:e3cfea265b3b 0.51 graphcompose:cinematiccovers,pul +cv-orange_ops 0:a6c9a7bc3a1d -0.34 marcusbennett +cv-orange_ops 0:8157f110feec 3.80 warehouseoperationssupervisor +cv-orange_ops 0:a8acc3a90a7b 3.95 +447700900123 +cv-orange_ops 0:e6da1125d5d5 3.95 marcus.bennett@email.com +cv-orange_ops 0:6a3bd39f358d 3.95 birmingham,westmidlands,uk +cv-orange_ops 0:84308bea4540 3.95 linkedin +cv-panel 0:8f1010120ed6 0.42 jordanrivera +cv-panel 0:2d58f0cadc2d 0.20 platformengineer +cv-panel 0:89ff05847e96 0.20 london,uk|+442055551000 +cv-panel 0:8817bf9310b6 0.16 jordan.rivera@example.com|linked +cv-panel 0:1900eab6c028 0.50 profile +cv-panel 0:80cc87fdc4c4 -0.26 platformengineerwith10+yearsbuil +cv-panel 0:c323ef4c385f -0.26 systems.specialisedinhigh-throug +cv-panel 0:3ff1933dba9a -0.26 typed,snapshot-testedlibrariesth +cv-panel 0:32c1cf49a2fe 0.82 skills +cv-panel 0:eea537278f83 0.30 •languages:java21,kotlin,groovy, +cv-panel 0:7e941e729572 0.17 •document&print:pdfbox,apachepoi +cv-panel 0:9e3166ce2413 0.17 itext,postscript,icccolourprofil +cv-panel 0:ebc70ed9b71b 0.13 •layoutengines:customdsldesign,s +cv-panel 0:dd4f24d85605 0.13 pagination,snapshottesting,visua +cv-panel 0:f5f76d479ec8 0.21 •build&infrastructure:maven,grad +cv-panel 0:656a2a3e57e0 0.21 jitpack,docker,jmhbenchmarking +cv-panel 0:9a6921f79b7d 0.25 •distribution:mavencentral,sonat +cv-panel 0:77a74982066f 0.25 jitpack,semanticversioningdiscip +cv-panel 0:68bf0109c6f8 0.85 education +cv-panel 0:871923f4f0f2 0.39 msccomputerscience-2019-2021 +cv-panel 0:47ce0218bbea 0.43 universityofmanchester +cv-panel 0:51e1ec7daa5a 0.11 distinction.thesis:composablelay +cv-panel 0:d10553cd7368 0.11 deterministicdocumentrendering. +cv-panel 0:ba6d361079f4 0.51 bscsoftwareengineering-2015-2019 +cv-panel 0:89ad9656f393 0.55 imperialcollegelondon +cv-panel 0:4c58bcad7242 0.35 first-classhonours.specialisatio +cv-panel 0:2189b9b3b549 0.35 analysis. +cv-panel 0:8971b01c36bb 0.75 oraclejavacertification-2023-202 +cv-panel 0:2669e1f6d55c 0.79 professionaltrack +cv-panel 0:4f17e3d7d6f4 0.47 java17platformdeep-dive:records, +cv-panel 0:9e6154a3b625 0.47 matching,virtualthreads. +cv-panel 0:7b476727faf3 1.10 additional +cv-panel 0:3f88eb4c530c 0.34 languages:english(fluent),german +cv-panel 0:5d276fee8c17 0.34 (basic) +cv-panel 0:ec9d3622395e 0.66 workeligibility:eligibletoworkin +cv-panel 0:d05b8b335e96 0.38 opensource:maintainerofgraphcomp +cv-panel 0:2f3b4176123d 0.38 contributortopdfboxissuetriage. +cv-panel 0:1ae173b42166 0.46 speaking:jvmsummit2024,devoxxuk2 +cv-panel 0:309255ca6a36 0.46 declarativedocumentlayout. +cv-panel 0:53e5e7c5a884 0.82 experience +cv-panel 0:99b44abc1b3e 0.34 seniorplatformengineer-2024-pres +cv-panel 0:f890faef907f 0.41 northwindsystems +cv-panel 0:e32ca827bfd5 0.09 ledthereusabledocument-generatio +cv-panel 0:675f8862fdda 0.09 hiring,andreportingflowsacross8p +cv-panel 0:93d48fc85054 0.09 templatemaintenancetimeby70%byre +cv-panel 0:e7f09e2ba7d2 0.21 scriptsinfavourofonecanonicaleng +cv-panel 0:ded138c59d03 0.49 softwareengineer-2021-2024 +cv-panel 0:998c1a985022 0.53 brightleaflabs +cv-panel 0:0ed66ac9265d 0.33 builtbackendservicesandproductio +cv-panel 0:17c4ef49d4e6 0.33 pipelinesprocessing2m+documentsp +cv-panel 0:a7dd3c5be76b 0.33 migrationfromitexttoacustomlayou +cv-panel 0:a35401d8bcad 0.33 licensingriskandcuttingp99render +cv-panel 0:649d2d9d10d0 0.33 380ms. +cv-panel 0:019bbdc8d0bb 0.73 backendengineer-2019-2021 +cv-panel 0:ef148f221e31 0.79 helixprintco +cv-panel 0:09cc06a649eb 0.59 maintainedahigh-volumeinvoice-pr +cv-panel 0:090e2184c17b 0.59 pdfs/year)andauthoredthecomplian +cv-panel 0:6f071fdf7529 0.59 gatedeverytemplatechange. +cv-panel 0:2577c0f557b2 1.19 projects +cv-panel 0:b2b029995203 0.67 •graphcompose(java21,pdfbox,mave +cv-panel 0:753f46e4e01b 0.58 •templatestudio(kotlin,composede +cv-panel 0:6eb35b5b9a91 0.70 diff) +cv-panel 0:d919bd2d50b6 0.70 internaltoolforevaluatingcv,prop +cv-panel 0:245b9e56b9de 0.70 across14designpresets.pngdiffing +cv-panel 0:6bc2807453c6 0.70 baselinefreezing. +cv-panel 0:25cdca2beb8b 1.06 •layoutlint(java21,javaparser,sp +cv-panel 0:30e034b9c7b2 0.82 staticanalyserthatflagsfragileau +cv-panel 0:e7ad19d64668 0.82 nestedrows,untypedoffsets,implic +cv-panel 0:95ac1a62c76f 0.94 theyshiptoproduction. +cv-panel 0:fb1927f88597 1.30 •chromeforge(java,graphcompose,p +cv-panel 0:bb865a4ccac1 1.06 editorial-magazinedocumenttoolki +cv-panel 0:8a31ccd889ee 1.06 cinematiccovers,pullquotes,multi +cv-panel 0:fe63fe18585a 1.06 callouts. +cv-professional_sidebar 0:093e7d5fdbaa -0.05 contact +cv-professional_sidebar 0:7f459725e1f6 0.17 +12345678900 +cv-professional_sidebar 0:52bf11c1afe0 0.05 your.email@example.com +cv-professional_sidebar 0:0280d774794b -0.08 city,state,country +cv-professional_sidebar 0:6901da423fd3 0.08 linkedin.com/in/username +cv-professional_sidebar 0:941682c65056 -0.08 www.yourwebsite.com +cv-professional_sidebar 0:32c1cf49a2fe -0.07 skills +cv-professional_sidebar 0:38a0963a6364 -0.19 java +cv-professional_sidebar 0:7e901df4274b -0.09 springboot +cv-professional_sidebar 0:ab1011e077e1 -0.13 sql/databases +cv-professional_sidebar 0:bcfad352e21d -0.05 restfulapis +cv-professional_sidebar 0:60a872f76d54 -0.09 microservices +cv-professional_sidebar 0:0c525b8c00a0 -0.13 git/github +cv-professional_sidebar 0:d548c5b83fa6 -0.05 docker +cv-professional_sidebar 0:d1de52313c86 -0.09 testing(junit) +cv-professional_sidebar 0:7e7f74200f0e -0.10 problemsolving +cv-professional_sidebar 0:d4e16994df90 -0.02 communication +cv-professional_sidebar 0:68bf0109c6f8 -0.11 education +cv-professional_sidebar 0:9928b2859b5c -0.20 degreename +cv-professional_sidebar 0:9928b2859b5c#1 -0.30 degreename +cv-professional_sidebar 0:4dca5f288079 -0.13 universityname +cv-professional_sidebar 0:4dca5f288079#1 -0.21 universityname +cv-professional_sidebar 0:dbbecd8a99c4 -0.11 2016–2020 +cv-professional_sidebar 0:8789bd1a8f91 -0.19 2012–2016 +cv-professional_sidebar 0:6cb574fa10b6 -0.30 languages +cv-professional_sidebar 0:b6234d2ea0d6 -0.30 english +cv-professional_sidebar 0:87d8ab25d296 -0.26 ukrainian +cv-professional_sidebar 0:aa304b5d1d72 -0.34 russian +cv-professional_sidebar 0:22f6e39681dd 0.32 yourname +cv-professional_sidebar 0:ce613d3da423 -0.12 yourprofessionaltitle +cv-professional_sidebar 0:1900eab6c028 0.10 profile +cv-professional_sidebar 0:53e5e7c5a884 0.20 experience +cv-professional_sidebar 0:59d596674b3e 0.09 javabackenddeveloper +cv-professional_sidebar 0:50c8c8fd14da 0.20 2023–present +cv-professional_sidebar 0:bb2dd5ad974a 0.15 productstudio|london,uk +cv-professional_sidebar 0:ceaee04c6187 0.11 •builtsecurespringbootrestapisfo +cv-professional_sidebar 0:ee25fe80eeb5 0.11 •addedjwtauthentication,validati +cv-professional_sidebar 0:f44671369999 0.11 •tunedjpaqueriesandpostgresqlind +cv-professional_sidebar 0:2bc488c1b6a1 0.11 •addedjunittestsanddockerenviron +cv-professional_sidebar 0:798164649242 0.03 softwaredeveloper +cv-professional_sidebar 0:d8ce4fa21722 0.14 2021–2023 +cv-professional_sidebar 0:8824d2ae15b0 0.09 digitalsolutionsltd|manchester,u +cv-professional_sidebar 0:2e3ec0f8e8c9 0.05 •integratedinternalserviceswitht +cv-professional_sidebar 0:34a68587109d 0.05 •deliveredflywaymigrationsandimp +cv-professional_sidebar 0:d3e359b3c9ce 0.05 •introducedstructuredloggingandp +cv-professional_sidebar 0:69a682467a69 0.05 •workedwithfrontendengineersoncl +cv-professional_sidebar 0:bcde83e4c2f6 -0.02 juniorjavadeveloper +cv-professional_sidebar 0:6c39082d9294 0.09 2019–2021 +cv-professional_sidebar 0:25bd55f46bdf 0.04 techworks|remote +cv-professional_sidebar 0:1ee9d7642bbb 0.00 •developedjavaservicesandreusabl +cv-professional_sidebar 0:a96267ad58f6 0.00 •fixeddefectsacrossrest,persiste +cv-professional_sidebar 0:dfaa35ac8977 0.00 •wrotejunittestsandsupportedcont +cv-professional_sidebar 0:a232e51261bb 0.00 •documentedendpointsandoperation +cv-professional_sidebar 0:2577c0f557b2 0.06 projects +cv-professional_sidebar 0:55f503c6b9a8 0.07 cvrewriter +cv-professional_sidebar 0:158a323a7ba4 0.18 2026 +cv-professional_sidebar 0:6ee87c5d8b09 -0.13 ai-poweredresumetailoringplatfor +cv-professional_sidebar 0:810d1e1d40e0 -0.11 andapplicationtracking. +cv-professional_sidebar 0:d8afbbbd5294 0.11 graphcompose +cv-professional_sidebar 0:b2b2f104d32c 0.22 2025 +cv-professional_sidebar 0:403f46579303 0.03 declarativejavaandkotlindocument +cv-professional_sidebar 0:9c15026b6402 -0.07 multi-formatrendering. +cv-professional_sidebar 0:07a0b0962107 0.27 references +cv-professional_sidebar 0:5bf64f34444e 0.27 availableuponrequest. +cv-serif_headline 0:5f6ca99b67a6 -0.03 alexandermorgan +cv-serif_headline 0:daf65306b3b6 -0.37 softwareengineer +cv-serif_headline 0:daf65306b3b6#1 0.34 softwareengineer +cv-serif_headline 0:01dcad830244 -0.26 +1(555)123-4567 +cv-serif_headline 0:3eef38c97138 -0.10 alex.morgan@email.com +cv-serif_headline 0:d5a0d0abdc64 -0.07 newyork,ny,usa +cv-serif_headline 0:a0a064d0e491 -0.04 linkedin.com/in/alexmorgan +cv-serif_headline 0:0a52c5f62d73 0.01 github.com/alexmorgan +cv-serif_headline 0:ff00f99bc03c -0.25 softwareengineerwith5+yearsofexp +cv-serif_headline 0:7fd0d2d0fde8 -0.27 backendservices.proficientinjava +cv-serif_headline 0:81bb94512f0b -0.29 systemdesign,anddeliveringhigh-q +cv-serif_headline 0:53e5e7c5a884 -1.33 experience +cv-serif_headline 0:b37c6a2d5d11 0.07 seniorsoftwareengineer +cv-serif_headline 0:e7227bbe0c40 0.14 jan2022–present +cv-serif_headline 0:f4e5af202d87 0.12 techsolutionsinc.|newyork,ny +cv-serif_headline 0:e6f39d8143bc -0.07 •designedanddevelopedmicroservic +cv-serif_headline 0:f41ff924454c -0.05 over1mactiveusers. +cv-serif_headline 0:4b16c2d8cb52 0.19 •implementedrestfulapisandintegr +cv-serif_headline 0:5fd82b15227c -0.07 •optimizeddatabasequeriesandappl +cv-serif_headline 0:38a7ed6f25a8 -0.06 35%. +cv-serif_headline 0:df1ebc2b61e1 0.16 •ledateamof4engineersandmentored +cv-serif_headline 0:ee96c91a5683 0.40 jun2019–dec2021 +cv-serif_headline 0:01bb3d9e4f47 0.39 innovatechltd.|newyork,ny +cv-serif_headline 0:1e69401eddeb 0.32 •builtscalablewebapplicationsusi +cv-serif_headline 0:babe9476fc8f 0.29 •collaboratedwithcross-functiona +cv-serif_headline 0:23cd6cbea0ca 0.39 •implementedci/cdpipelinesusingj +cv-serif_headline 0:45cca445fa04 0.36 •improvedcodequalityandreducedpr +cv-serif_headline 0:78b24f507c79 0.57 juniorsoftwareengineer +cv-serif_headline 0:07b9e4fd0073 0.63 jun2018–may2019 +cv-serif_headline 0:2198cdea3aba 0.50 devsphere|newyork,ny +cv-serif_headline 0:173ed9f7b6b1 0.55 •assistedindevelopingandmaintain +cv-serif_headline 0:0a1fbe0c94d9 0.52 •wroteunitandintegrationteststoe +cv-serif_headline 0:bd5eec545fa8 0.50 •participatedinagileceremoniesan +cv-serif_headline 0:2577c0f557b2 -0.79 projects +cv-serif_headline 0:c03ade0f8985 0.67 e-commerceplatform +cv-serif_headline 0:f726495cb8e6 0.64 java,springboot,react,postgresql +cv-serif_headline 0:09271909c2c5 0.40 developedafull-stacke-commerce +cv-serif_headline 0:a395647dca6c 0.40 platformwithuserauthentication,p +cv-serif_headline 0:19ed6c29c718 0.43 catalog,cart,andpaymentintegrati +cv-serif_headline 0:1c1e5cfc5031 0.67 taskmanagementapi +cv-serif_headline 0:4e8f2a166cfe 0.64 java,springboot,mongodb,docker +cv-serif_headline 0:793437bcb507 0.40 builtarestfulapifortaskmanagemen +cv-serif_headline 0:47492456be77 0.40 withrole-basedaccess,real-time +cv-serif_headline 0:7d9a1a98ac6c 0.43 updates,anddockerizeddeployment. +cv-serif_headline 0:68bf0109c6f8 0.11 education +cv-serif_headline 0:6a75b3a10877 0.13 m.s.incomputerscience +cv-serif_headline 0:d244381bfb58 0.10 newyorkuniversity +cv-serif_headline 0:d52c9df2c684 0.20 2018–2020|newyork,ny +cv-serif_headline 0:8913dcd543d0 0.08 b.s.incomputerscience +cv-serif_headline 0:ee7a3f01df1e 0.09 universityofcalifornia,losangele +cv-serif_headline 0:5f29961bb46f 0.30 2014–2018|losangeles,ca +cv-serif_headline 0:32c1cf49a2fe 0.13 skills +cv-serif_headline 0:6cb574fa10b6 0.23 languages +cv-serif_headline 0:38a0963a6364 0.30 java +cv-serif_headline 0:11a4a60b518b 0.30 python +cv-serif_headline 0:beb45f932639 0.30 javascript/typescript +cv-serif_headline 0:4ec7c53222c8 0.30 sql +cv-serif_headline 0:f9bfab9d2d9b 0.42 frameworks&libraries +cv-serif_headline 0:7e901df4274b 0.37 springboot +cv-serif_headline 0:ec34a1012c4c 0.37 hibernate +cv-serif_headline 0:275976081ce1 0.49 react +cv-serif_headline 0:324373d862ea 0.51 node.js +cv-serif_headline 0:008231aaf999 0.51 express +cv-serif_headline 0:1d446138494b 0.63 databases +cv-serif_headline 0:430005175c4c 0.58 mysql +cv-serif_headline 0:a478b4566be5 0.58 postgresql +cv-serif_headline 0:1cc9a79bdaf0 0.70 mongodb +cv-serif_headline 0:7dc785098784 0.71 tools&technologies +cv-serif_headline 0:d548c5b83fa6 0.78 docker +cv-serif_headline 0:94abcb2d2773 0.78 kubernetes +cv-serif_headline 0:94abcb2d2773#1 1.57 kubernetes +cv-serif_headline 0:424e9661130e 0.78 jenkins +cv-serif_headline 0:9a881b9b9f23 0.77 git +cv-serif_headline 0:7d1507284a57 0.89 aws +cv-serif_headline 0:b78463a925a0 0.93 softskills +cv-serif_headline 0:1b3b2a6f7d93 0.96 problemsolving|communication +cv-serif_headline 0:c3738991cb30 0.99 teamwork|adaptability +cv-serif_headline 0:7bce4fcdeb12 1.02 leadership|timemanagement +cv-serif_headline 0:e831beb04c00 0.98 certifications +cv-serif_headline 0:eb246465ec07 1.57 awscertified +cv-serif_headline 0:a48e133bb1b3 0.93 developer–associate +cv-serif_headline 0:eb2d55035d04 1.05 (aws) +cv-serif_headline 0:39f98aca30e7 1.57 oraclecertified +cv-serif_headline 0:6b5ac810679c 0.93 professional, +cv-serif_headline 0:d52585984184 1.05 javase17(oracle) +cv-serif_headline 0:72be4e94032e 1.57 dockercertified +cv-serif_headline 0:178b6e061a04 0.93 associate +cv-serif_headline 0:418860eec88d 1.05 (dca) +cv-serif_headline 0:958c81247482 1.57 springprofessional +cv-serif_headline 0:b00a6c108553 0.93 certification +cv-serif_headline 0:485507d8292d 1.05 (vmware) +cv-serif_headline 0:64a3f18ab4fa 0.93 fundamentals +cv-serif_headline 0:f4bf1c62326f 1.05 (linuxfoundation) +cv-serif_headline 0:6ee18b42fbf1 0.92 achievements +cv-serif_headline 0:e3072a9546f9 1.03 engineeroftheyear–2023 +cv-serif_headline 0:e658796611c9 0.74 recognizedforoutstandingperforma +cv-serif_headline 0:c1c5f58006ec 0.80 leadership. +cv-serif_headline 0:daa04ec0f117 1.03 performanceoptimization +cv-serif_headline 0:781774e3ebfe 0.74 improvedsystemefficiencyby40% +cv-serif_headline 0:95099c880a38 0.80 throughdatabaseandcodeoptimizati +cv-serif_headline 0:4d752ab730a4 1.03 successfulmigration +cv-serif_headline 0:71abb443ce1c 0.74 ledthemigrationofamonolithapplic +cv-serif_headline 0:af70de72fe57 0.80 tomicroservicesarchitecture. +cv-sidebar_portrait 0:8f1010120ed6 0.32 jordanrivera +cv-sidebar_portrait 0:89674e6f130e 0.27 +442055551000 +cv-sidebar_portrait 0:e0f850305ded 0.23 jordan.rivera@example.com +cv-sidebar_portrait 0:fbeea547d99e 0.19 london,uk +cv-sidebar_portrait 0:84308bea4540 0.27 linkedin +cv-sidebar_portrait 0:c0b0109d9439 0.26 github +cv-sidebar_portrait 0:68bf0109c6f8 -0.13 education +cv-sidebar_portrait 0:0ad1957d6bab -0.04 msccomputerscience +cv-sidebar_portrait 0:47ce0218bbea -0.05 universityofmanchester +cv-sidebar_portrait 0:3fa772117260 -0.05 2019-2021 +cv-sidebar_portrait 0:b6749d0b616b -0.04 bscsoftwareengineering +cv-sidebar_portrait 0:89ad9656f393 -0.05 imperialcollegelondon +cv-sidebar_portrait 0:30f9262640a0 -0.03 2015-2019 +cv-sidebar_portrait 0:32c1cf49a2fe -0.07 skills +cv-sidebar_portrait 0:d5680c2e2769 0.05 java21 +cv-sidebar_portrait 0:19a67c2a5369 0.05 kotlin +cv-sidebar_portrait 0:95bfacd3a466 0.05 groovy +cv-sidebar_portrait 0:11a4a60b518b 0.05 python +cv-sidebar_portrait 0:4ec7c53222c8 0.05 sql +cv-sidebar_portrait 0:6cb574fa10b6 0.00 languages +cv-sidebar_portrait 0:d359699acbd5 0.11 english(fluent) +cv-sidebar_portrait 0:a09174803665 0.07 german(intermediate) +cv-sidebar_portrait 0:d8a971cea795 0.15 spanish(basic) +cv-sidebar_portrait 0:2d58f0cadc2d -0.03 platformengineer +cv-sidebar_portrait 0:3c69d6bb4892 -0.02 professionalprofile +cv-sidebar_portrait 0:924e8fc8d04f -0.17 platformengineerwith10+yearsbuil +cv-sidebar_portrait 0:df58bf5ac853 -0.20 pipelines,layoutengines,anddevel +cv-sidebar_portrait 0:b6d3e08745d8 -0.23 inhigh-throughputpdfrendering,se +cv-sidebar_portrait 0:3ea39d224e93 -0.11 brittleproduction-opsscriptsinto +cv-sidebar_portrait 0:53e5e7c5a884 0.08 experience +cv-sidebar_portrait 0:a76f47480818 0.05 seniorplatformengineer +cv-sidebar_portrait 0:d492f2d34b81 0.20 northwindsystems|2024-present +cv-sidebar_portrait 0:11a63b6a756a -0.11 ledthereusabledocument-generatio +cv-sidebar_portrait 0:e9ddcca2381b -0.14 reportingflowsacross8productteam +cv-sidebar_portrait 0:8e7a066998f5 -0.05 by70%byretiringper-teampdfscript +cv-sidebar_portrait 0:daf65306b3b6 0.21 softwareengineer +cv-sidebar_portrait 0:14aeb7d88f36 0.24 brightleaflabs|2021-2024 +cv-sidebar_portrait 0:78c890058374 -0.07 builtbackendservicesandproductio +cv-sidebar_portrait 0:798b575aa9c2 0.02 processing2m+documentspermonth.d +cv-sidebar_portrait 0:337c2b00cc88 -0.01 customlayoutengine,eliminatingli +cv-sidebar_portrait 0:cbec16fb4c22 -0.04 from1.4sto380ms. +cv-sidebar_portrait 0:2577c0f557b2 0.27 projects +cv-sidebar_portrait 0:0f2c67872251 0.28 graphcompose(java21,pdfbox,maven +cv-sidebar_portrait 0:1538919cd7d4 0.07 declarativejavapdflayoutengine.s +cv-sidebar_portrait 0:f6d88deff945 0.04 snapshottesting.powersproduction +cv-sidebar_portrait 0:0869235b9cf7 0.13 hiringtoolsandbillingsystems.(op +cv-sidebar_portrait 0:d73d02174dc9 0.38 templatestudio(kotlin,composedes +cv-sidebar_portrait 0:5ebdeb66a893 0.13 internaltoolforevaluatingcv,prop +cv-sidebar_portrait 0:a66d3183c752 0.10 presets.pngdiffing,side-by-sidel +cv-slate_orange 0:cf7fd2aa3182 -0.19 danielharper +cv-slate_orange 0:4b64999089cd -0.22 versatileprofessional +cv-slate_orange 0:73c506bc28be -0.15 operations•customersuccess•coord +cv-slate_orange 0:b4ac3856722a 0.30 (555)123-4567 +cv-slate_orange 0:422684be6cf9 0.32 daniel.harper@email.com +cv-slate_orange 0:84308bea4540 0.36 linkedin +cv-slate_orange 0:a64d6af50109 0.26 austin,texas•opentorelocate +cv-slate_orange 0:32c1cf49a2fe 0.04 skills +cv-slate_orange 0:ee41e992b046 3.82 customerserviceexcellence +cv-slate_orange 0:39433b0c8c42 3.95 operations&processsupport +cv-slate_orange 0:68ac2246858d 4.20 project&calendarmanagement +cv-slate_orange 0:d2b0c62842b8 4.48 datamanagement&reporting +cv-slate_orange 0:713ccc3fc2fc 4.61 communication&stakeholders +cv-slate_orange 0:010f2ad55bed 4.86 problemsolving&adaptability +cv-slate_orange 0:02020d943fbc 4.99 sales&relationshipbuilding +cv-slate_orange 0:88cc29c2fda2 5.24 microsoftoffice&googlesuite +cv-slate_orange 0:e37d86244e99 5.37 crmsystems(salesforce,hubspot) +cv-slate_orange 0:d70e5edb4685 5.62 timemanagement&prioritization +cv-slate_orange 0:8bab53aa1bee 2.10 selectedachievements +cv-slate_orange 0:b08c44dac044 6.78 processimprovement +cv-slate_orange 0:c7966365f508 3.45 designedanewtrackingsystemthat +cv-slate_orange 0:3a5ad5d0dc8d 2.95 reducedreportingtimeby30%and +cv-slate_orange 0:74821a85e7b9 2.57 improvedaccuracy. +cv-slate_orange 0:dd9532e202a3 6.92 customersatisfaction +cv-slate_orange 0:dfc9a4fd0657 3.59 maintaineda96%customer +cv-slate_orange 0:5e04b5e4dbf9 3.21 satisfactionratingthroughrespons +cv-slate_orange 0:c119f318eaae 2.71 supportandissueresolution. +cv-slate_orange 0:365853229c97 7.18 revenuecontribution +cv-slate_orange 0:292a456730c2 3.85 consistentlyexceededmonthlysales +cv-slate_orange 0:8eb387deb3e1 3.35 goalsby15–20%throughrelationship +cv-slate_orange 0:77706bc9ed09 2.97 buildingandconsultativeservice. +cv-slate_orange 0:6cb574fa10b6 2.78 languages +cv-slate_orange 0:890744623577 3.51 spanishprofessionalworking +cv-slate_orange 0:21bb36ad0638 3.79 french +cv-slate_orange 0:fbb7b5bf4ca3 3.82 basic +cv-slate_orange 0:676dfdd56ad2 3.56 additionalinformation +cv-slate_orange 0:ef68dac1790b 6.91 availability:full-time +cv-slate_orange 0:6795aec0e50a 7.13 willingtorelocate:yes +cv-slate_orange 0:b8eeb230ca32 4.48 remotework:opento +cv-slate_orange 0:b73078ca247c 4.42 hybrid/remote +cv-slate_orange 0:3c69d6bb4892 0.04 professionalprofile +cv-slate_orange 0:36eb8f626c42 0.03 adaptableandresourcefulprofessio +cv-slate_orange 0:f4e999c08086 0.00 customerservice,sales,andproject +cv-slate_orange 0:41221430e3f8 0.09 organizationalskills,andtheabili +cv-slate_orange 0:324c4509a3e4 0.06 managingpriorities,buildingrelat +cv-slate_orange 0:57271827af78 0.03 customersatisfaction,andbusiness +cv-slate_orange 0:c2f296ef30a3 0.21 professionalexperience +cv-slate_orange 0:da2ea6509bec -3.46 operationscoordinator +cv-slate_orange 0:e7227bbe0c40 0.63 jan2022–present +cv-slate_orange 0:9f7cecddf317 0.57 brightstartlogistics,austin,tx +cv-slate_orange 0:e0bbd6c9782e 0.62 •coordinatedailyoperationsandsch +cv-slate_orange 0:dc9a542f8db9 0.66 •developandmaintaindashboardsand +cv-slate_orange 0:66acc2e5b891 0.58 •streamlinecommunicationbetweend +cv-slate_orange 0:8bd3fd672f95 0.62 •managevendorrelationshipsandass +cv-slate_orange 0:dd7872236383 -3.58 customersupportspecialist +cv-slate_orange 0:1734c189cfe2 0.63 jun2020–dec2021 +cv-slate_orange 0:b9dfc8902d16 0.57 techwavesolutions,remote +cv-slate_orange 0:56391e23e83a 0.52 •providedtechnicalsupporttocusto +cv-slate_orange 0:7eb50a39cf50 0.56 •resolvedanaverageof40+inquiries +cv-slate_orange 0:46f632748ba8 0.60 •createdknowledgebasearticlesand +cv-slate_orange 0:02b44f46125c 0.52 •collaboratedwithproductandengin +cv-slate_orange 0:a1707ef6164e -3.68 salesassociate +cv-slate_orange 0:2bc613d4e516 0.53 mar2019–may2020 +cv-slate_orange 0:bb7253ff7002 0.47 urbanoutfitters,austin,tx +cv-slate_orange 0:aaa52372c317 -0.08 •consistentlyexceededsalestarget +cv-slate_orange 0:198e638fe8f3 0.13 personalizedcustomerservice. +cv-slate_orange 0:dabead95ee7e 0.53 •builtandmaintainedstrongcustome +cv-slate_orange 0:ff3f5f9ca7a0 0.45 •merchandisedfloordisplaysandcon +cv-slate_orange 0:05a39f2908ba 0.52 •recognizedas“topperformer”forq4 +cv-slate_orange 0:832235539465 -3.68 administrativeassistant/projecta +cv-slate_orange 0:2ccfc04a3ae7 0.53 may2018–feb2019 +cv-slate_orange 0:cfc5fd80ae80 0.47 greenfieldnonprofitinitiative,au +cv-slate_orange 0:b8aecb03e7ed 0.40 •supportedprojectmanagerswithsch +cv-slate_orange 0:77f797d4d64c 0.44 •managedcalendars,travelarrangem +cv-slate_orange 0:80a7a6cdc723 0.48 •maintaineddonorrecordsandprepar +cv-slate_orange 0:51539a61bb62 0.40 •assistedwitheventplanningandcom +cv-slate_orange 0:68bf0109c6f8 -0.08 education +cv-slate_orange 0:84ba6b88f439 -0.08 certifications&training +cv-slate_orange 0:9d7190053be6 0.46 bachelorofartsincommunications +cv-slate_orange 0:f592b4ba6aa4 0.39 universityoftexasataustin +cv-slate_orange 0:3f84d2e470fe 0.50 austin,tx•graduatedmay2018 +cv-slate_orange 0:99b337b1faf4 0.38 •googleprojectmanagementcertific +cv-slate_orange 0:4d1b69dc33a1 0.72 •hubspotcustomerservicecertifica +cv-slate_orange 0:01a1e16912b7 0.96 •microsoftexcel:advancedformulas +cv-slate_orange 0:07ef0ade6bb2 1.30 •servsafefoodhandlercertificatio +cv-teal_pulse 0:a5800de7a5df -0.06 isabellamoore +cv-teal_pulse 0:aea71faf1482 0.16 registerednurse +cv-teal_pulse 0:613c7b77c405 1.20 manchester,unitedkingdom +cv-teal_pulse 0:4ddba42ce115 1.14 isabella.moore@email.com +cv-teal_pulse 0:a8acc3a90a7b 1.01 +447700900123 +cv-teal_pulse 0:84308bea4540 1.12 linkedin +cv-teal_pulse 0:32c1cf49a2fe -0.25 skills +cv-teal_pulse 0:9836c1fde1ab -0.07 patientassessment +cv-teal_pulse 0:7344802265f6 -0.07 careplanning +cv-teal_pulse 0:32b1d161b612 -0.10 medicationadministration +cv-teal_pulse 0:b9fff349f0ab -0.13 clinicaldocumentation +cv-teal_pulse 0:cc981996b30d -0.03 infectionprevention +cv-teal_pulse 0:48d90339937f -0.06 ivtherapy +cv-teal_pulse 0:a392ecf06df5 -0.07 woundcare +cv-teal_pulse 0:7016cd40c2ef -0.09 patienteducation +cv-teal_pulse 0:ff0a6cdd9508 -0.12 safeguarding +cv-teal_pulse 0:7b6511893d61 -0.15 teamcollaboration +cv-teal_pulse 0:d9ff32cb0736 -0.17 dischargecoordination +cv-teal_pulse 0:ceb75137b9fb -0.20 electronichealthrecords +cv-teal_pulse 0:b944906ed84c -0.27 professionalsummary +cv-teal_pulse 0:f8343b9099ef 0.38 compassionateregisterednursewith +cv-teal_pulse 0:50347a4f84fc 0.43 high-qualitypatientcareacrossacu +cv-teal_pulse 0:d24f5be95f6a 0.45 settings.skilledinpatientassessm +cv-teal_pulse 0:824bf3935437 0.35 multidisciplinarycollaboration,d +cv-teal_pulse 0:8d526cd52034 0.36 accurateclinicaldocumentation.kn +cv-teal_pulse 0:4d61455b351b 0.38 communication,andpatient-centred +cv-teal_pulse 0:c2f296ef30a3 -0.19 professionalexperience +cv-teal_pulse 0:5cad9261fd60 0.02 seniorstaffnurse—manchesterroyal +cv-teal_pulse 0:5149e8e5e6b6 0.11 deliverdirectnursingcareforadult +cv-teal_pulse 0:8dcc0d173718 0.10 coordinatecareplanswithdoctors,t +cv-teal_pulse 0:325626fb2f7a 0.08 supervisejuniornursesandsupports +cv-teal_pulse 0:c2864de08768 0.06 improveddischargecoordinationand +cv-teal_pulse 0:3ac4bbda9488 0.05 maintainprecisedocumentationande +cv-teal_pulse 0:59a7aa760eea -0.02 staffnurse—salfordgeneralhospita +cv-teal_pulse 0:99bff63b0b23 0.05 providednursingcareacrossmedical +cv-teal_pulse 0:dee1c05c380e 0.04 administeredmedications,monitore +cv-teal_pulse 0:a0cc1403feda 0.02 supportedinfectioncontrolprocedu +cv-teal_pulse 0:25239222c011 0.03 builtstrongrapportwithpatientsan +cv-teal_pulse 0:f25d4331b19b -0.04 communitynurse—northcarecommunit +cv-teal_pulse 0:19eefb6b6368 0.04 deliveredhome-basednursingcarean +cv-teal_pulse 0:16412b3fd5d8 0.02 managedwoundcare,medicationsuppo +cv-teal_pulse 0:fb42708d13d3 0.13 workedcloselywithgps,socialservi +cv-teal_pulse 0:68bf0109c6f8 -0.19 education +cv-teal_pulse 0:c1596da36d69 -0.11 bsc(hons)adultnursing +cv-teal_pulse 0:47ce0218bbea -0.08 universityofmanchester +cv-teal_pulse 0:1da060005bfc -0.10 2013–2016 +cv-teal_pulse 0:e831beb04c00 -0.19 certifications +cv-teal_pulse 0:ec8bd1e014bb -0.11 nmcregisterednurse +cv-teal_pulse 0:669f27afcccf 0.01 immediatelifesupport(ils) +cv-teal_pulse 0:34b32be15830 -0.11 venepunctureandcannulationcertif +cv-teal_pulse 0:32215e12a886 -0.12 safeguardingadultslevel3 +cv-teal_pulse 0:676dfdd56ad2 -0.19 additionalinformation +cv-teal_pulse 0:bcc890a69aa7 -0.11 languages:english(native), +cv-teal_pulse 0:de15ca9e3d9f -0.02 polish(conversational) +cv-teal_pulse 0:b035d3696f4e 0.02 righttowork:unitedkingdom +cv-teal_pulse 0:cfa1d6dd779c -0.06 availability:1monthnotice +cv-teal_pulse 0:b9b8965717b3 -0.15 compassionatecare.clinicalexcell +cv-terracotta_rail 0:920a88ef5818 0.31 oliver.bennett@email.com +cv-terracotta_rail 0:a8acc3a90a7b 0.26 +447700900123 +cv-terracotta_rail 0:e8c463a6c54d 0.33 bristol,unitedkingdom +cv-terracotta_rail 0:84308bea4540 0.28 linkedin +cv-terracotta_rail 0:32c1cf49a2fe -0.26 skills +cv-terracotta_rail 0:4e1fe6feb1d5 0.30 architecturaldesign +cv-terracotta_rail 0:4b1ce58ed984 0.31 conceptdevelopment +cv-terracotta_rail 0:e8386273ac51 0.32 planningapplications +cv-terracotta_rail 0:09033be5db1b 0.33 technicaldrawings +cv-terracotta_rail 0:de4e9e607840 0.37 revit +cv-terracotta_rail 0:de4e9e607840#1 0.33 revit +cv-terracotta_rail 0:50f08e64c5a6 0.38 autocad +cv-terracotta_rail 0:50f08e64c5a6#1 0.36 autocad +cv-terracotta_rail 0:af7c811cbfce 0.39 bimcoordination +cv-terracotta_rail 0:531b7caeda92 0.40 designpresentations +cv-terracotta_rail 0:bfcd894f9698 0.41 projectdelivery +cv-terracotta_rail 0:9a1192ab93d0 0.42 stakeholdermanagement +cv-terracotta_rail 0:48fe07df4f1c 0.43 sustainabledesign +cv-terracotta_rail 0:95626582af55 0.32 buildingregulations +cv-terracotta_rail 0:35390f5453e8 -0.15 software +cv-terracotta_rail 0:2d5d6ea604fd 0.37 rhino +cv-terracotta_rail 0:5971b0dc0625 0.38 sketchup +cv-terracotta_rail 0:e9d09d8ff5bb 0.39 adobeindesign +cv-terracotta_rail 0:3f4a09b92ccf 0.40 photoshop +cv-terracotta_rail 0:3abe8752b2c0 0.41 microsoftoffice +cv-terracotta_rail 0:e831beb04c00 -0.19 certifications +cv-terracotta_rail 0:3ad949ee8543 0.29 arbregisteredarchitect +cv-terracotta_rail 0:fa807066704f 0.30 ribacharteredmember +cv-terracotta_rail 0:676dfdd56ad2 -0.15 additionalinformation +cv-terracotta_rail 0:705ab1a9cb61 -0.13 languages: +cv-terracotta_rail 0:9ee0e2dddc94 -0.19 english(native), +cv-terracotta_rail 0:de6d9b2b98d4 -0.12 spanish(conversational) +cv-terracotta_rail 0:c75efa67c038 -0.21 righttowork: +cv-terracotta_rail 0:2474519f77a9 -0.15 unitedkingdom +cv-terracotta_rail 0:76a9cead2e9f -0.24 availability: +cv-terracotta_rail 0:d14126d0f8f4 -0.30 1monthnotice +cv-terracotta_rail 0:0f08c27aab24 0.36 oliverbennett +cv-terracotta_rail 0:334d566a27b2 -0.27 seniorarchitect +cv-terracotta_rail 0:334d566a27b2#1 -0.33 seniorarchitect +cv-terracotta_rail 0:b944906ed84c -0.20 professionalsummary +cv-terracotta_rail 0:a0eed0988b1d 0.17 seniorarchitectwithover8yearsofe +cv-terracotta_rail 0:6165c7077b36 0.07 commercialprojectsacrossallribaw +cv-terracotta_rail 0:bbb25a1ee248 0.09 provenexpertiseindesigndevelopme +cv-terracotta_rail 0:bf4ab196cbb6 0.11 strongfocusonsustainability,qual +cv-terracotta_rail 0:0dfcf4444281 0.01 collaborativecommunicatorskilled +cv-terracotta_rail 0:22fdcc5cfe61 0.03 leadingmultidisciplinaryteamstoa +cv-terracotta_rail 0:c2f296ef30a3 -0.30 professionalexperience +cv-terracotta_rail 0:086c0e036e67 -0.33 2021–present +cv-terracotta_rail 0:b3af3b56129a -0.23 northlinestudio,bristol,uk +cv-terracotta_rail 0:27819bba9c0f -0.45 •leaddesignpackagesfromconceptth +cv-terracotta_rail 0:d49fddeb9701 -0.49 andmixed-useprojects. +cv-terracotta_rail 0:1d6340aa301d -0.49 •coordinatestructural,m&e,landsc +cv-terracotta_rail 0:7062411e212a -0.56 buildablesolutions. +cv-terracotta_rail 0:bf75379f5486 -0.56 •prepareandmanageplanningapplica +cv-terracotta_rail 0:894e988cdf94 -0.63 documentation. +cv-terracotta_rail 0:894e988cdf94#1 -1.00 documentation. +cv-terracotta_rail 0:40c00971356d -0.63 •presentandcommunicatedesignprop +cv-terracotta_rail 0:a218287e182e -0.70 anddrivingprojectsforward. +cv-terracotta_rail 0:f2e40fc1edb7 -0.44 architect +cv-terracotta_rail 0:f7d1049ec64b -0.44 2018–2021 +cv-terracotta_rail 0:59e0b0e4edc9 -0.46 urbanformpartners,bath,uk +cv-terracotta_rail 0:4f2dbefcbec0 -0.68 •developedconceptandtechnicaldes +cv-terracotta_rail 0:e2a5e1a23401 -0.75 educationprojects. +cv-terracotta_rail 0:dedc7bfc0f49 -0.75 •preparedcoordinateddrawingsets, +cv-terracotta_rail 0:abba33f53e5a -0.82 construction. +cv-terracotta_rail 0:91a14d5e3005 -0.46 •supportedprojectdeliveryonsite, +cv-terracotta_rail 0:6b3142466e26 -0.82 •coordinatedwithcontractorsandco +cv-terracotta_rail 0:1150d4ba642c -0.87 intent. +cv-terracotta_rail 0:1150d4ba642c#1 -0.93 intent. +cv-terracotta_rail 0:2d2cd24f87d7 -0.62 partiiarchitecturalassistant +cv-terracotta_rail 0:3b8048983ecc -0.62 2016–2018 +cv-terracotta_rail 0:ebd31e5e7505 -0.52 axisdesignworkshop,cardiff,uk +cv-terracotta_rail 0:e48e46c3ddf3 -0.62 •supportedseniorarchitectsacross +cv-terracotta_rail 0:810bbb784193 -0.86 •producedcadandrevitdrawings,mod +cv-terracotta_rail 0:74b6191dd1ef -0.93 •undertookresearch,preparedprese +cv-terracotta_rail 0:d94eccbb1fbe -0.75 selectedprojects +cv-terracotta_rail 0:6b12fdc11f2a -0.85 harbourpoint +cv-terracotta_rail 0:59765cc5b00d -0.74 mixed-useregeneration +cv-terracotta_rail 0:db8e363f0316 -0.81 bristol +cv-terracotta_rail 0:cd7ef0097a95 -0.14 mixed-usedevelopmentdelivering14 +cv-terracotta_rail 0:d37f8456ca99 -0.54 retailspaceandpublicrealmimprove +cv-terracotta_rail 0:8378846eb8e4 -0.94 securedplanningconsentandisnowon +cv-terracotta_rail 0:4ffc92a0d6bb -0.77 theassemblyhotel +cv-terracotta_rail 0:9233fa2c31bc -0.78 boutiquehotelrefurbishment +cv-terracotta_rail 0:0de8ab631548 -0.73 bath +cv-terracotta_rail 0:af610a85e11a -0.06 sensitiverefurbishmentoflistedbu +cv-terracotta_rail 0:fa90dda52a42 -0.58 a36-bedroomboutiquehotel;enhance +cv-terracotta_rail 0:ee09d6e6e7ce -0.98 featuresandguestexperience. +cv-terracotta_rail 0:bb04008bb937 -0.84 elmwoodmews +cv-terracotta_rail 0:43e0681601c8 -0.85 residentialdevelopment +cv-terracotta_rail 0:25e38d563739 -0.80 clifton,bristol +cv-terracotta_rail 0:42b055a661a6 -0.02 designof28high-qualityhomeswithi +cv-terracotta_rail 0:bdc5f821f737 -0.42 sustainablemasterplan;achievedhi +cv-terracotta_rail 0:208ed62d3df6 -0.70 environmentalstandardsandstrongs +cv-terracotta_rail 0:ac5e63220124 -0.98 performance. +cv-terracotta_rail 0:68bf0109c6f8 -0.81 education +cv-terracotta_rail 0:1d1dcf789873 -1.87 marcharchitecture +cv-terracotta_rail 0:00583a6bed38 -0.91 2014–2016 +cv-terracotta_rail 0:5761434c99d8 -0.81 universityofsheffield +cv-terracotta_rail 0:e3f2f6a4e375 -1.88 ba(hons)architecture +cv-terracotta_rail 0:2920a7fb42fc -0.92 2011–2014 +cv-terracotta_rail 0:af625dd0aa20 -0.82 universityofthewestofengland +cv-timeline_minimal 0:8f1010120ed6 -0.20 jordanrivera +cv-timeline_minimal 0:2d58f0cadc2d -0.46 platformengineer +cv-timeline_minimal 0:fbeea547d99e 0.00 london,uk +cv-timeline_minimal 0:89674e6f130e 0.06 +442055551000 +cv-timeline_minimal 0:e0f850305ded 0.00 jordan.rivera@example.com +cv-timeline_minimal 0:84308bea4540 0.06 linkedin +cv-timeline_minimal 0:c0b0109d9439 0.02 github +cv-timeline_minimal 0:68bf0109c6f8 1.78 education +cv-timeline_minimal 0:54654b90a771 1.36 msccomputerscience|universityof +cv-timeline_minimal 0:a57111bb5a18 1.44 manchester-2019-2021 +cv-timeline_minimal 0:bf13436325bd 1.44 distinction.thesis:composablelay +cv-timeline_minimal 0:4c7268c098b3 1.52 primitivesfordeterministicdocume +cv-timeline_minimal 0:6154cc9024ae 1.48 rendering. +cv-timeline_minimal 0:17dd75fc575f 1.36 bscsoftwareengineering|imperialc +cv-timeline_minimal 0:220e665a6446 1.44 london-2015-2019 +cv-timeline_minimal 0:048a150be6e7 1.44 first-classhonours.specialisatio +cv-timeline_minimal 0:f9d33eb2a1a2 1.52 compilersandstaticanalysis. +cv-timeline_minimal 0:dddc36d8bb44 1.40 oraclejavacertification|professi +cv-timeline_minimal 0:6c065bee3945 1.48 track-2023-2024 +cv-timeline_minimal 0:40f2bfbae245 1.39 java17platformdeep-dive:records, +cv-timeline_minimal 0:6cba964fe5fe 1.47 types,patternmatching,virtualthr +cv-timeline_minimal 0:5f94c50dc5bf 1.85 technicalskills +cv-timeline_minimal 0:5d6819554c7a 1.43 languages:java21,kotlin,groovy,p +cv-timeline_minimal 0:4ec7c53222c8 1.51 sql +cv-timeline_minimal 0:db84150190bb 1.39 document&print:pdfbox,apachepoi +cv-timeline_minimal 0:69d03fef7130 1.47 (docx/xlsx),itext,postscript,icc +cv-timeline_minimal 0:689d68053b81 1.55 profiles,fontmetrics +cv-timeline_minimal 0:8ca175286c7b 1.43 layoutengines:customdsldesign, +cv-timeline_minimal 0:b6f2e7d194af 1.51 semanticlayouttrees,pagination,s +cv-timeline_minimal 0:e8951d583db6 1.47 testing,visualregression +cv-timeline_minimal 0:3b7a3ab3b6ee 1.47 build&infrastructure:maven,gradl +cv-timeline_minimal 0:d176e972b547 1.57 githubactions,jitpack,docker,jmh +cv-timeline_minimal 0:3d119f794292 1.53 benchmarking +cv-timeline_minimal 0:b7b6a102880a 1.41 testing:junit5,assertj,pdfbox-ba +cv-timeline_minimal 0:2f0dced56e7f 1.49 pngdiff,layout-graphsnapshots,mu +cv-timeline_minimal 0:c001aa5cc6fb 1.57 testing(pitest) +cv-timeline_minimal 0:90c057c30e8f 1.45 distribution:mavencentral,sonaty +cv-timeline_minimal 0:7347a19cb48d 1.53 ossrh,gpgsigning,jitpack,semanti +cv-timeline_minimal 0:b13180079f20 1.49 versioningdiscipline +cv-timeline_minimal 0:2577c0f557b2 1.87 projects +cv-timeline_minimal 0:bd82e94c4024 1.45 graphcompose(java21,pdfbox,maven +cv-timeline_minimal 0:54b7bb3a12a0 1.53 jmh):declarativejavapdflayouteng +cv-timeline_minimal 0:83ee0a75c2d4 1.49 semanticdsl,slot-basedtemplates, +cv-timeline_minimal 0:235802baf524 1.45 snapshottesting.powersproduction +cv-timeline_minimal 0:44925c9e42ee 1.53 invoice/proposalpipelinesforhiri +cv-timeline_minimal 0:ae7902eee4b2 1.40 templatestudio(kotlin,composedes +cv-timeline_minimal 0:f15436034237 1.48 pdfboxpngdiff):internaltoolfor +cv-timeline_minimal 0:24a195694090 1.56 evaluatingcv,proposal,andinvoice +cv-timeline_minimal 0:dbcc5c321887 1.48 layoutlint(java21,javaparser,spo +cv-timeline_minimal 0:a1446929a276 1.56 staticanalyserthatflagsfragileau +cv-timeline_minimal 0:d91205080ec3 1.52 patterns(deeplynestedrows,untype +cv-timeline_minimal 0:d31cf3fc9dae 1.48 offsets,implicitpagebreaks)befor +cv-timeline_minimal 0:7b985a1d2b08 1.56 shiptoproduction. +cv-timeline_minimal 0:14e902e0e2ff 1.43 chromeforge(java,graphcompose, +cv-timeline_minimal 0:f87a435df3ac 1.51 pandocbridge):editorial-magazine +cv-timeline_minimal 0:73678fb1255e 1.47 documenttoolkitbuiltongraphcompo +cv-timeline_minimal 0:a0c280e181e2 1.55 cinematiccovers,pullquotes,multi +cv-timeline_minimal 0:d9f1b263312f 1.51 flow,sidebarcallouts. +cv-timeline_minimal 0:b944906ed84c 1.74 professionalsummary +cv-timeline_minimal 0:4bc9e0d2344b 1.36 platformengineerwith10+yearsbuil +cv-timeline_minimal 0:453eef50417c 1.40 anddeveloper-facingtemplatesyste +cv-timeline_minimal 0:39881b36a9c0 1.44 authoringdsls,andturningbrittlep +cv-timeline_minimal 0:83064bdc95f5 1.36 scale. +cv-timeline_minimal 0:c2f296ef30a3 1.82 professionalexperience +cv-timeline_minimal 0:68c08b2a5966 1.66 seniorplatformengineer|northwind +cv-timeline_minimal 0:64c4b52dceb1 1.34 ledthereusabledocument-generatio +cv-timeline_minimal 0:1f193cd1d987 1.34 productteams.reducedtemplatemain +cv-timeline_minimal 0:9ccc3e904e5a 1.37 favourofonecanonicalengine. +cv-timeline_minimal 0:fb53bd1bfeb9 1.65 softwareengineer|brightleaflabs- +cv-timeline_minimal 0:632618b20dab 1.33 builtbackendservicesandproductio +cv-timeline_minimal 0:5d86afffe129 1.33 month.drovethemigrationfromitext +cv-timeline_minimal 0:70dd947a4558 1.33 cuttingp99renderlatencyfrom1.4st +cv-timeline_minimal 0:8a9898d2c965 1.61 backendengineer|helixprintco-201 +cv-timeline_minimal 0:a485c37fe7ea 1.29 maintainedahigh-volumeinvoice-pr +cv-timeline_minimal 0:5a136b6b9d8c 1.29 testharnessthatgatedeverytemplat +cv-timeline_minimal 1:676dfdd56ad2 0.06 additionalinformation +cv-timeline_minimal 1:ecc25e73b19b -0.36 languages:english(fluent),german +cv-timeline_minimal 1:ac7f0ee6a49e -0.28 (intermediate),spanish(basic) +cv-timeline_minimal 1:db2a16c45fd5 -0.28 workeligibility:eligibletoworkin +cv-timeline_minimal 1:7001312ec42e -0.18 andtheeu +cv-timeline_minimal 1:a8af27d55da9 -0.30 opensource:maintainerof +cv-timeline_minimal 1:cf566ad0f15d -0.22 graphcompose.regularcontributort +cv-timeline_minimal 1:bf474bb1a54a -0.26 pdfboxissuetriage. +cv-timeline_minimal 1:86512c31ab91 -0.26 speaking:jvmsummit2024,devoxxuk +cv-timeline_minimal 1:e1a9c88a2aa2 -0.18 2025—bothondeclarativedocument +cv-timeline_minimal 1:9331a1c670e0 -0.22 layout. +cv-violet_grid 0:68a76c74faf5 0.22 sofiamartinez +cv-violet_grid 0:04694b6a602f -0.29 ux/uidesigner +cv-violet_grid 0:12932a9489aa -0.17 sofia.martinez.design@gmail.com +cv-violet_grid 0:77b27b9ce612 -0.21 +1(415)555-7842 +cv-violet_grid 0:12d25ebdca93 -0.12 sanfrancisco,ca,usa +cv-violet_grid 0:8a2bdbd153f4 -0.13 sofiamartinez.design +cv-violet_grid 0:84308bea4540 -0.17 linkedin +cv-violet_grid 0:30b943b69458 0.11 user-centereddesignerwith5+years +cv-violet_grid 0:c5d00ee335d1 0.06 icombineresearch,designthinking, +cv-violet_grid 0:62fd7c29c3c0 0.12 passionateaboutcollaboratingwith +cv-violet_grid 0:32c1cf49a2fe 0.26 skills +cv-violet_grid 0:b96067918254 0.25 uxresearch +cv-violet_grid 0:9058674fd905 0.20 userinterviews,surveys, +cv-violet_grid 0:0cdd38014d79 0.24 personas,journeymaps, +cv-violet_grid 0:61e4ba28d469 0.20 competitiveanalysis +cv-violet_grid 0:db5c6756c4b6 8.00 sitemaps,userflows,card +cv-violet_grid 0:6c7ad1834a60 8.07 sorting,contentstrategy +cv-violet_grid 0:187737d59250 0.25 wireframing +cv-violet_grid 0:2286e5aa328a 0.20 lowtohigh-fidelity +cv-violet_grid 0:5c4b21cb1af8 0.25 prototyping +cv-violet_grid 0:1abfa9dc1773 0.20 interactiveprototypes, +cv-violet_grid 0:1ddc6c379a54 0.24 microinteractions, +cv-violet_grid 0:d1d99c54cf40 0.20 transitions +cv-violet_grid 0:7a38f8d94009 0.25 usabilitytesting +cv-violet_grid 0:63af69ae99e6 0.20 testplanning,usability +cv-violet_grid 0:f67c409cc44f 0.24 tests,heuristicevaluation, +cv-violet_grid 0:438e1d3264dd 0.20 insights&iteration +cv-violet_grid 0:7e02941d76f5 0.25 designsystems +cv-violet_grid 0:a0d27161913a 0.20 componentlibraries, +cv-violet_grid 0:82374d275507 0.24 designtokens,pattern +cv-violet_grid 0:caf9f906b16a 0.20 documentation +cv-violet_grid 0:f9d35d43770d 0.44 tools +cv-violet_grid 0:5cb2b3b6143c 0.39 figmafigjamadobexdsketchmironoti +cv-violet_grid 0:53e5e7c5a884 0.43 experience +cv-violet_grid 0:5a0774260e0c 0.48 2022-present +cv-violet_grid 0:204f460767ff 0.43 seniorux/uidesigner|novafin(fint +cv-violet_grid 0:318bba211bdc 0.60 sanfrancisco,ca +cv-violet_grid 0:318bba211bdc#1 0.44 sanfrancisco,ca +cv-violet_grid 0:3883e88c63c3 2.43 ledend-to-enddesignforapersonalf +cv-violet_grid 0:ccc00663f089 2.38 conducteduserresearch,builtperso +cv-violet_grid 0:7d0f908c7e5f 2.33 designedwireframes,prototypes,an +cv-violet_grid 0:9b57c4a85aad 2.41 establishedandmaintainedascalabl +cv-violet_grid 0:6894eafb99c2 2.38 collaboratedwithproductmanagers, +cv-violet_grid 0:01e4455cec51 0.44 2020-2022 +cv-violet_grid 0:24d722f0cfbe 0.39 uxdesigner|brighthealth(healthte +cv-violet_grid 0:530707fb0897 2.39 redesignedpatientportalexperienc +cv-violet_grid 0:b2e27a1d9270 2.34 plannedandfacilitatedusabilityte +cv-violet_grid 0:ab80a52d70fe 2.29 partneredwithengineerstoensurefe +cv-violet_grid 0:11cbf615189b 2.37 createdreusablecomponentsandstyl +cv-violet_grid 0:7e5081a3ed48 0.31 2018-2020 +cv-violet_grid 0:73f7bbf7cd60 0.26 juniorux/uidesigner|lumendigital +cv-violet_grid 0:c6b06045332f 0.43 austin,tx +cv-violet_grid 0:5ea8234925c5 2.26 supporteddiscoveryworkshops,user +cv-violet_grid 0:46f00c76528c 2.33 designedresponsivewebsitesandlan +cv-violet_grid 0:f3cea36a9d83 2.28 collaboratedwithcopywritersandde +cv-violet_grid 0:d94eccbb1fbe 0.31 selectedprojects +cv-violet_grid 0:45dc8bf81211 0.35 novafinmobileapp|personalfinance +cv-violet_grid 0:d398b29d3dbb 0.43 2023 +cv-violet_grid 0:e66c1ce573d3 0.27 ledux/uidesignforbudgeting,goalt +cv-violet_grid 0:0ed8829e68d0 0.19 thatinformedasimplifiednavigatio +cv-violet_grid 0:ee9bd17ebccf 0.23 22%increaseinweeklyactiveusers. +cv-violet_grid 0:28b4603d784a 0.35 brighthealthpatientportal|health +cv-violet_grid 0:1bea20e1df19 0.43 2021 +cv-violet_grid 0:999ddb26bed6 0.15 redesignedkeypatientflowsincludi +cv-violet_grid 0:073d15633c0b 0.19 systemandcomponentlibraryusedacr +cv-violet_grid 0:68bf0109c6f8 0.53 education +cv-violet_grid 0:6cb574fa10b6 0.53 languages +cv-violet_grid 0:0cf7506cf94a -1.99 bacheloroffineartsingraphicdesig +cv-violet_grid 0:00ab7a6aa5f1 -1.95 californiacollegeofthearts +cv-violet_grid 0:7e2c21bb41db -1.96 sanfrancisco,ca|2014-2018 +cv-violet_grid 0:b6234d2ea0d6 -0.90 english +cv-violet_grid 0:bef32d2c315a -0.77 native +cv-violet_grid 0:bef32d2c315a#1 -0.81 native +cv-violet_grid 0:9c9b13446cd9 -0.82 spanish +cv-violet_grid 0:e35242c809c8 -0.85 portuguese +cv-violet_grid 0:c5d1de4964d6 -0.72 conversational +cv-violet_grid 0:1de4fede4f63 -0.61 idesignwithempathy,iteratewithpu +invoice-classic 0:c26c22b94338 0.51 graphcomposestudio +invoice-classic 0:c26c22b94338#1 0.34 graphcomposestudio +invoice-classic 0:2a08ce5567fb 0.41 18layoutstreet +invoice-classic 0:2a08ce5567fb#1 0.05 18layoutstreet +invoice-classic 0:52d6e3de4fa0 0.30 invoice +invoice-classic 0:38e9951985e4 0.32 gc-2026-041 +invoice-classic 0:20fe884effee 0.35 issued02apr2026 +invoice-classic 0:57a66d21eb1b 0.36 totaldue +invoice-classic 0:30d85a94548c 0.39 invoicegc-2026-041issued02apr202 +invoice-classic 0:aeba3a7b3598 0.40 billto +invoice-classic 0:f890faef907f 0.34 northwindsystems +invoice-classic 0:1b405eb431ca 0.05 attn:financeteam +invoice-classic 0:91eefd794f79 -0.03 410marketavenue +invoice-classic 0:00a97da4e243 0.02 manchester,uk +invoice-classic 0:62fcfa8745fc -0.06 ap@northwind.example +invoice-classic 0:2081a41a7764 -0.13 +441615552200 +invoice-classic 0:75857a458999 0.40 from +invoice-classic 0:fbeea547d99e -0.03 london,uk +invoice-classic 0:faf1569a98e9 0.02 ec1a4gc +invoice-classic 0:befc6e9b5c24 -0.06 billing@graphcompose.dev +invoice-classic 0:89674e6f130e -0.13 +442055551000 +invoice-classic 0:c9046f7a37ad 0.28 description +invoice-classic 0:32e8369a9c4f 0.28 qty +invoice-classic 0:385cfdbc00ec 0.28 unit +invoice-classic 0:cf38d95c9c6b 0.28 amount +invoice-classic 0:987c6297d0a9 0.43 discoveryworkshop +invoice-classic 0:532674c6eb89 0.43 gbp1,450 +invoice-classic 0:532674c6eb89#1 0.43 gbp1,450 +invoice-classic 0:08ec6deb1c40 0.48 templatearchitecture2 +invoice-classic 0:d2e67c4b1cca 0.48 gbp980 +invoice-classic 0:d6cdf6a05754 0.48 gbp1,960 +invoice-classic 0:fe13f8ee4f99 0.53 renderqa +invoice-classic 0:7e7398cbff7c 0.53 gbp320 +invoice-classic 0:e23164e940c7 0.53 gbp960 +invoice-classic 0:6047df51175c 0.58 developerenablement1 +invoice-classic 0:c2ad01ea64ae 0.58 gbp780 +invoice-classic 0:c2ad01ea64ae#1 0.58 gbp780 +invoice-classic 0:d6577e95efba 0.83 subtotal +invoice-classic 0:50cae0510231 0.83 gbp5,150 +invoice-classic 0:a52611c9261b 1.02 vat(20%) +invoice-classic 0:d7f4425b8b16 1.02 gbp1,030 +invoice-classic 0:11239872d178 1.03 total +invoice-classic 0:45a5ad5ad430 1.03 gbp6,180 +invoice-classic 0:ab5aa97074c4 1.17 notes +invoice-classic 0:b78eb53cbd11 1.20 •pleaseincludetheinvoicenumberon +invoice-classic 0:8c8fd62f15a7 1.21 yourremittanceadvice. +invoice-classic 0:f73f1b89e354 1.22 •allworkwasdeliveredasagreedduri +invoice-classic 0:49c1ececed52 1.23 theaprilimplementationwindow. +invoice-classic 0:fb854bac39c8 1.17 paymentterms +invoice-classic 0:24274f39b50b 1.20 •paymentduewithin14calendardays. +invoice-classic 0:c438440ba377 1.21 •banktransferpreferred;contact +invoice-classic 0:434cc906ae90 1.22 billing@graphcompose.devfor +invoice-classic 0:8822ea375315 1.23 remittancedetails. +invoice-classic 0:1a7b5c840e25 1.24 •latepaymentsmaydelayadditional +invoice-classic 0:1631a06d245f 1.25 templatecustomizationwork. +invoice-classic 0:e3337beaa171 1.24 thankyouforchoosinggraphcomposef +invoice-classic_long 0:c26c22b94338 0.51 graphcomposestudio +invoice-classic_long 0:c26c22b94338#1 0.34 graphcomposestudio +invoice-classic_long 0:2a08ce5567fb 0.41 18layoutstreet +invoice-classic_long 0:2a08ce5567fb#1 0.05 18layoutstreet +invoice-classic_long 0:52d6e3de4fa0 0.30 invoice +invoice-classic_long 0:3594d2085950 0.32 gc-2026-042 +invoice-classic_long 0:25851a973edd 0.35 issued04may2026 +invoice-classic_long 0:57a66d21eb1b 0.36 totaldue +invoice-classic_long 0:9eea1e05ff47 0.39 invoicegc-2026-042issued04may202 +invoice-classic_long 0:aeba3a7b3598 0.40 billto +invoice-classic_long 0:f890faef907f 0.34 northwindsystems +invoice-classic_long 0:1b405eb431ca 0.05 attn:financeteam +invoice-classic_long 0:91eefd794f79 -0.03 410marketavenue +invoice-classic_long 0:00a97da4e243 0.02 manchester,uk +invoice-classic_long 0:62fcfa8745fc -0.06 ap@northwind.example +invoice-classic_long 0:2081a41a7764 -0.13 +441615552200 +invoice-classic_long 0:75857a458999 0.40 from +invoice-classic_long 0:fbeea547d99e -0.03 london,uk +invoice-classic_long 0:faf1569a98e9 0.02 ec1a4gc +invoice-classic_long 0:befc6e9b5c24 -0.06 billing@graphcompose.dev +invoice-classic_long 0:89674e6f130e -0.13 +442055551000 +invoice-classic_long 0:c9046f7a37ad 0.28 description +invoice-classic_long 0:32e8369a9c4f 0.28 qty +invoice-classic_long 0:385cfdbc00ec 0.28 unit +invoice-classic_long 0:cf38d95c9c6b 0.28 amount +invoice-classic_long 0:aa29f2f4fcb4 0.43 discoveryworkshop—sprint1 +invoice-classic_long 0:ce4081aef7a1 0.43 gbp180 +invoice-classic_long 0:ce4081aef7a1#1 0.43 gbp180 +invoice-classic_long 0:9c9a412f0a45 0.48 designsystemaudit—sprint1 +invoice-classic_long 0:7be809cb1590 0.48 gbp217 +invoice-classic_long 0:378b363c8601 0.48 gbp434 +invoice-classic_long 0:5257532a7b5d 0.53 templatearchitecture—sprint1 +invoice-classic_long 0:c467cca4e45a 0.53 gbp254 +invoice-classic_long 0:4a4a218b012a 0.53 gbp762 +invoice-classic_long 0:58a1caacbf7e 0.46 layoutenginetuning—sprint1 +invoice-classic_long 0:dde0144b97b7 0.46 gbp291 +invoice-classic_long 0:457a71636ad9 0.46 gbp1164 +invoice-classic_long 0:6fcf7d6dd606 0.51 renderqapass—sprint1 +invoice-classic_long 0:dda88f5786f5 0.51 gbp328 +invoice-classic_long 0:dda88f5786f5#1 0.51 gbp328 +invoice-classic_long 0:ee18ad3bbb42 0.44 accessibilityreview—sprint1 +invoice-classic_long 0:e681b4843ffb 0.44 gbp365 +invoice-classic_long 0:1859c20b35dd 0.44 gbp730 +invoice-classic_long 0:c12c14945fcd 0.51 fontpipelinesetup—sprint1 +invoice-classic_long 0:9033a33f66e7 0.51 gbp402 +invoice-classic_long 0:837d48c1ff40 0.51 gbp1206 +invoice-classic_long 0:af6cba848dc0 0.56 chartintegration—sprint1 +invoice-classic_long 0:6109a2c30104 0.56 gbp439 +invoice-classic_long 0:87e9fcb6151d 0.56 gbp1756 +invoice-classic_long 0:a6bee1ec5e35 0.49 datamapping—sprint1 +invoice-classic_long 0:df1f9d4443d8 0.49 gbp476 +invoice-classic_long 0:df1f9d4443d8#1 0.49 gbp476 +invoice-classic_long 0:052c9f49a4b8 0.54 paginationhardening—sprint1 +invoice-classic_long 0:9fba6332e489 0.54 gbp513 +invoice-classic_long 0:6f805c9f78c3 0.54 gbp1026 +invoice-classic_long 0:b54b7f77d86c 0.47 visualregressionwiring—sprint13 +invoice-classic_long 0:dc3d212d6b32 0.47 gbp550 +invoice-classic_long 0:96667fee53f3 0.47 gbp1650 +invoice-classic_long 0:9fe9e123b0f0 0.52 docsauthoring—sprint1 +invoice-classic_long 0:e7b406f24f04 0.52 gbp587 +invoice-classic_long 0:74357ca6b30e 0.52 gbp2348 +invoice-classic_long 0:9c6cf539f5bc 0.48 stakeholderdemo—sprint1 +invoice-classic_long 0:cf79b5cdb735 0.48 gbp624 +invoice-classic_long 0:cf79b5cdb735#1 0.48 gbp624 +invoice-classic_long 0:d2bde6642670 0.53 performanceprofiling—sprint1 +invoice-classic_long 0:679f017f73c1 0.53 gbp661 +invoice-classic_long 0:63985b524723 0.53 gbp1322 +invoice-classic_long 0:f82bef1ac80d 0.58 releaseengineering—sprint1 +invoice-classic_long 0:0b21b7cf2ff9 0.58 gbp698 +invoice-classic_long 0:6afc08056aaa 0.58 gbp2094 +invoice-classic_long 0:632f71e8ff8b 0.51 supportretainer—sprint1 +invoice-classic_long 0:70b393b5fb10 0.51 gbp735 +invoice-classic_long 0:29edf7588a57 0.51 gbp2940 +invoice-classic_long 0:82a9218b91ae 0.56 discoveryworkshop—sprint2 +invoice-classic_long 0:c313f34b71b9 0.56 gbp772 +invoice-classic_long 0:c313f34b71b9#1 0.56 gbp772 +invoice-classic_long 0:7e69fbffe3e2 0.49 designsystemaudit—sprint2 +invoice-classic_long 0:e096e4fddf9a 0.49 gbp809 +invoice-classic_long 0:c985a0123929 0.49 gbp1618 +invoice-classic_long 0:899f0392eecb 0.54 templatearchitecture—sprint2 +invoice-classic_long 0:4c973ddb9245 0.54 gbp846 +invoice-classic_long 0:6ec359ce3927 0.54 gbp2538 +invoice-classic_long 0:69523ba7402c 0.61 layoutenginetuning—sprint2 +invoice-classic_long 0:0e196c2b490b 0.61 gbp883 +invoice-classic_long 0:6e0d19ab72c6 0.61 gbp3532 +invoice-classic_long 1:c9046f7a37ad 0.30 description +invoice-classic_long 1:32e8369a9c4f 0.30 qty +invoice-classic_long 1:385cfdbc00ec 0.30 unit +invoice-classic_long 1:cf38d95c9c6b 0.30 amount +invoice-classic_long 1:f12cbb7c274d 0.45 renderqapass—sprint2 +invoice-classic_long 1:b813c73bc488 0.45 gbp920 +invoice-classic_long 1:b813c73bc488#1 0.45 gbp920 +invoice-classic_long 1:12cd54b50187 0.50 accessibilityreview—sprint2 +invoice-classic_long 1:377d92702316 0.50 gbp957 +invoice-classic_long 1:e7c66f6cf477 0.50 gbp1914 +invoice-classic_long 1:e3d8409ace07 0.45 fontpipelinesetup—sprint2 +invoice-classic_long 1:21604b8f0b36 0.45 gbp994 +invoice-classic_long 1:fe15ed444063 0.45 gbp2982 +invoice-classic_long 1:ca4d3c8eca22 0.50 chartintegration—sprint2 +invoice-classic_long 1:a4c7a6612c99 0.50 gbp1031 +invoice-classic_long 1:1c83f0b47e27 0.50 gbp4124 +invoice-classic_long 1:00de69c6e70f 0.55 datamapping—sprint2 +invoice-classic_long 1:b9d5c56a2cfd 0.55 gbp1068 +invoice-classic_long 1:b9d5c56a2cfd#1 0.55 gbp1068 +invoice-classic_long 1:eb628b5ea8ab 0.48 paginationhardening—sprint2 +invoice-classic_long 1:db5327b47d0e 0.48 gbp205 +invoice-classic_long 1:99d9b3b49da2 0.48 gbp410 +invoice-classic_long 1:505693cbc91e 0.53 visualregressionwiring—sprint23 +invoice-classic_long 1:9f0c5094fb63 0.53 gbp242 +invoice-classic_long 1:095b72c9d880 0.53 gbp726 +invoice-classic_long 1:2a787e61730a 0.46 docsauthoring—sprint2 +invoice-classic_long 1:28ad00e76aef 0.46 gbp279 +invoice-classic_long 1:fbb12fed0bbc 0.46 gbp1116 +invoice-classic_long 1:5369a2c40ff8 0.51 stakeholderdemo—sprint2 +invoice-classic_long 1:16562cbcd318 0.51 gbp316 +invoice-classic_long 1:16562cbcd318#1 0.51 gbp316 +invoice-classic_long 1:611b258cb41e 0.59 performanceprofiling—sprint2 +invoice-classic_long 1:e391d4e46366 0.59 gbp353 +invoice-classic_long 1:7106c00cb009 0.59 gbp706 +invoice-classic_long 1:d24a15800df1 0.52 releaseengineering—sprint2 +invoice-classic_long 1:4bed9b4092ee 0.52 gbp390 +invoice-classic_long 1:ae16cd1e31b1 0.52 gbp1170 +invoice-classic_long 1:6876c7b0fe66 0.57 supportretainer—sprint2 +invoice-classic_long 1:909481a45a34 0.57 gbp427 +invoice-classic_long 1:4e58d78d0958 0.57 gbp1708 +invoice-classic_long 1:ddce236bccd7 0.50 discoveryworkshop—sprint3 +invoice-classic_long 1:f8d17c11d834 0.50 gbp464 +invoice-classic_long 1:f8d17c11d834#1 0.50 gbp464 +invoice-classic_long 1:c0986cd7b1d4 0.55 designsystemaudit—sprint3 +invoice-classic_long 1:09c7aebd89f6 0.55 gbp501 +invoice-classic_long 1:a61c7b6bdd20 0.55 gbp1002 +invoice-classic_long 1:21fd82d170b2 0.48 templatearchitecture—sprint3 +invoice-classic_long 1:399e39a6eff5 0.48 gbp538 +invoice-classic_long 1:81ea39164f41 0.48 gbp1614 +invoice-classic_long 1:47cb1e683e8d 0.55 layoutenginetuning—sprint3 +invoice-classic_long 1:f6df6e8e8f30 0.55 gbp575 +invoice-classic_long 1:7f7db0f4c1cf 0.55 gbp2300 +invoice-classic_long 1:608e31719f07 0.60 renderqapass—sprint3 +invoice-classic_long 1:e4fbc626999e 0.60 gbp612 +invoice-classic_long 1:e4fbc626999e#1 0.60 gbp612 +invoice-classic_long 1:98bfb4deb0b7 0.53 accessibilityreview—sprint3 +invoice-classic_long 1:7915a839b285 0.53 gbp649 +invoice-classic_long 1:ca74221d78ad 0.53 gbp1298 +invoice-classic_long 1:375dddcbee43 0.58 fontpipelinesetup—sprint3 +invoice-classic_long 1:7b97f0ac8a87 0.58 gbp686 +invoice-classic_long 1:6a57f6a84a1c 0.58 gbp2058 +invoice-classic_long 1:2f4f507058ff 0.63 chartintegration—sprint3 +invoice-classic_long 1:74df855b318c 0.63 gbp723 +invoice-classic_long 1:78016cdf49ca 0.63 gbp2892 +invoice-classic_long 1:d6577e95efba 0.88 subtotal +invoice-classic_long 1:5969b6461056 0.88 gbp44,890 +invoice-classic_long 1:a52611c9261b 1.08 vat(20%) +invoice-classic_long 1:e7fda33332e9 1.08 gbp8,978 +invoice-classic_long 1:11239872d178 1.21 total +invoice-classic_long 1:90b9dec01ea9 1.21 gbp53,868 +invoice-classic_long 1:ab5aa97074c4 1.23 notes +invoice-classic_long 1:970fb4bf9d95 1.26 •sprints1-3weredeliveredunderthe +invoice-classic_long 1:a781fa6c76d2 1.27 frameworkagreement. +invoice-classic_long 1:c980fb1ebf98 1.28 •hardwareandthird-partylicencesa +invoice-classic_long 1:be1dea5817a5 1.29 billedseparately. +invoice-classic_long 1:fb854bac39c8 1.23 paymentterms +invoice-classic_long 1:24274f39b50b 1.26 •paymentduewithin14calendardays. +invoice-classic_long 1:c438440ba377 1.27 •banktransferpreferred;contact +invoice-classic_long 1:434cc906ae90 1.28 billing@graphcompose.devfor +invoice-classic_long 1:8822ea375315 1.29 remittancedetails. +invoice-classic_long 1:e3337beaa171 1.25 thankyouforchoosinggraphcomposef +invoice-consulting 0:d44ceaea97d1 0.26 level8,1collinsstreet +invoice-consulting 0:78a0bb33347f 0.33 melbournevic3000australia +invoice-consulting 0:3b45ab243edb 2.91 +61398765432 +invoice-consulting 0:a17a9fc6d4a8 2.91 hello@northpoint.com.au +invoice-consulting 0:ef0664c1d352 2.91 northpoint.com.au +invoice-consulting 0:52d6e3de4fa0 0.08 invoice +invoice-consulting 0:6282391a4cc1 -0.10 invoicenumber: +invoice-consulting 0:7d66eb3c1070 0.12 inv-2025-0478 +invoice-consulting 0:7d66eb3c1070#1 1.65 inv-2025-0478 +invoice-consulting 0:89973ab74e1c -0.14 issuedate: +invoice-consulting 0:0dee636efa5b 0.08 26may2025 +invoice-consulting 0:0e0fb0fc0939 -0.18 duedate: +invoice-consulting 0:7709d5dcefbe 0.04 25june2025 +invoice-consulting 0:633dcfcb4a68 -0.22 project: +invoice-consulting 0:28447bbc85e1 0.00 digitalstrategyengagement +invoice-consulting 0:d7523d00af19 -0.02 ponumber: +invoice-consulting 0:80a06a9ef12d 0.20 po-7892 +invoice-consulting 0:aef9b6cb1bcd 0.36 billedto +invoice-consulting 0:3fc5213307f9 0.28 greenfieldindustriesltd. +invoice-consulting 0:37d614eaf852 0.26 accountspayabledepartment +invoice-consulting 0:c438c5ffc681 0.24 12innovationdrive +invoice-consulting 0:89f5b4615dc3 0.28 melbournevic3000 +invoice-consulting 0:c585f1decb98 0.32 australia +invoice-consulting 0:4438ad217dea 0.37 email:ap@greenfield.com.au +invoice-consulting 0:cfebda697822 0.36 invoicesummary +invoice-consulting 0:5656f37a9311 0.56 professionalservicesrenderedinac +invoice-consulting 0:a918299ac844 0.57 statementofworkfortheperiod +invoice-consulting 0:3fa8489d9aac 0.33 1may2025–25may2025. +invoice-consulting 0:c9046f7a37ad 0.98 description +invoice-consulting 0:b28225a1247c 0.98 serviceperiod +invoice-consulting 0:32e8369a9c4f 0.98 qty +invoice-consulting 0:d1062d072acd 0.99 unitprice +invoice-consulting 0:3ff0b4a2706b 1.09 (aud) +invoice-consulting 0:3ff0b4a2706b#1 1.09 (aud) +invoice-consulting 0:cf38d95c9c6b 0.99 amount +invoice-consulting 0:b344321f5471 1.20 1–10may2025 +invoice-consulting 0:a8994a9020c4 1.22 10.00 +invoice-consulting 0:4e9682fa850e 1.19 hrs +invoice-consulting 0:4e9682fa850e#1 1.22 hrs +invoice-consulting 0:aa92f0e23a97 1.20 250.00 +invoice-consulting 0:e48d9b7a2993 1.20 2,500.00 +invoice-consulting 0:1bcfde966d94 1.07 strategicconsultation +invoice-consulting 0:fd3ca268f319 0.55 leadershipalignmentworkshops +invoice-consulting 0:8d93e0c47a8c 1.21 1–15may2025 +invoice-consulting 0:cf9dcf6da8a8 1.23 1.00 +invoice-consulting 0:cf9dcf6da8a8#1 1.24 1.00 +invoice-consulting 0:cf9dcf6da8a8#2 1.40 1.00 +invoice-consulting 0:97e47b250054 1.21 3,500.00 +invoice-consulting 0:97e47b250054#1 1.21 3,500.00 +invoice-consulting 0:5581aef375ff 1.08 market&competitiveanalysis +invoice-consulting 0:957080ea09d9 0.56 researchandanalysisreport +invoice-consulting 0:47102c31f226 1.22 5–20may2025 +invoice-consulting 0:ec6305055be9 1.22 4,800.00 +invoice-consulting 0:ec6305055be9#1 1.22 4,800.00 +invoice-consulting 0:53dea97cf116 1.09 digitalroadmapdevelopment +invoice-consulting 0:acf357e68297 0.57 strategyandroadmapcreation +invoice-consulting 0:c947fb16eab2 1.23 15–22may2025 +invoice-consulting 0:017144e2271f 1.25 6.00 +invoice-consulting 0:be6012a47af0 1.23 220.00 +invoice-consulting 0:172c0a785bc7 1.23 1,320.00 +invoice-consulting 0:fe04037aa850 1.10 stakeholderreviewsessions +invoice-consulting 0:4658a1bff292 0.58 facilitationanddocumentation +invoice-consulting 0:86f73207c794 1.38 20–25may2025 +invoice-consulting 0:55907ef405f6 1.38 1,880.00 +invoice-consulting 0:55907ef405f6#1 1.38 1,880.00 +invoice-consulting 0:f2e12ad6cc9f 1.37 presentation&finalreport +invoice-consulting 0:50de6dc61b80 0.85 executivepresentationanddelivery +invoice-consulting 0:d6577e95efba 0.81 subtotal +invoice-consulting 0:6311b1798398 1.03 14,000.00 +invoice-consulting 0:e370855bde0c 0.77 gst(10%) +invoice-consulting 0:b87e26fb8fac 0.99 1,400.00 +invoice-consulting 0:713a1893d967 1.15 totaldue(aud) +invoice-consulting 0:d4464a725927 1.06 15,400.00 +invoice-consulting 0:13000a5d442c 1.21 paymentinformation +invoice-consulting 0:944d398aea60 1.62 bankname: +invoice-consulting 0:97fa113746b9 1.62 examplebank +invoice-consulting 0:0ecb5847ffa7 1.62 accountname: +invoice-consulting 0:b5dd15368c26 1.62 northpointconsultingptyltd +invoice-consulting 0:6bbca23a71e6 1.65 bsb: +invoice-consulting 0:83a417f0862b 1.65 123-456 +invoice-consulting 0:6b4894c28363 1.65 accountnumber: +invoice-consulting 0:ef797c8118f0 1.65 12345678 +invoice-consulting 0:c608665436db 1.65 reference: +invoice-consulting 0:010450dee1ff 1.68 pleaseensuretheinvoicenumberisin +invoice-consulting 0:ab5aa97074c4 1.21 notes +invoice-consulting 0:7c6ab37d83ef 1.13 thankyouforyourbusiness. +invoice-consulting 0:4a699e29a3bb 1.41 ifyouhaveanyquestionsregardingth +invoice-consulting 0:c766251af1f4 1.35 contactusataccounts@northpoint.c +invoice-consulting 0:3d32fa219332 1.44 +61398765432. +invoice-consulting 0:a6f6e2ddab6d 1.60 paymentisduewithin30daysfromthei +invoice-consulting 0:55ee5fe62c33 0.15 northpointconsultingptyltd|abn12 +invoice-consulting 0:bdbada284e80 0.15 page1/1 +invoice-consulting_long 0:d44ceaea97d1 0.26 level8,1collinsstreet +invoice-consulting_long 0:78a0bb33347f 0.33 melbournevic3000australia +invoice-consulting_long 0:3b45ab243edb 2.91 +61398765432 +invoice-consulting_long 0:a17a9fc6d4a8 2.91 hello@northpoint.com.au +invoice-consulting_long 0:ef0664c1d352 2.91 northpoint.com.au +invoice-consulting_long 0:52d6e3de4fa0 0.08 invoice +invoice-consulting_long 0:6282391a4cc1 -0.10 invoicenumber: +invoice-consulting_long 0:7d66eb3c1070 0.12 inv-2025-0478 +invoice-consulting_long 0:89973ab74e1c -0.14 issuedate: +invoice-consulting_long 0:0dee636efa5b 0.08 26may2025 +invoice-consulting_long 0:0e0fb0fc0939 -0.18 duedate: +invoice-consulting_long 0:7709d5dcefbe 0.04 25june2025 +invoice-consulting_long 0:633dcfcb4a68 -0.22 project: +invoice-consulting_long 0:28447bbc85e1 0.00 digitalstrategyengagement +invoice-consulting_long 0:d7523d00af19 -0.02 ponumber: +invoice-consulting_long 0:80a06a9ef12d 0.20 po-7892 +invoice-consulting_long 0:aef9b6cb1bcd 0.36 billedto +invoice-consulting_long 0:3fc5213307f9 0.28 greenfieldindustriesltd. +invoice-consulting_long 0:37d614eaf852 0.26 accountspayabledepartment +invoice-consulting_long 0:c438c5ffc681 0.24 12innovationdrive +invoice-consulting_long 0:89f5b4615dc3 0.28 melbournevic3000 +invoice-consulting_long 0:c585f1decb98 0.32 australia +invoice-consulting_long 0:4438ad217dea 0.37 email:ap@greenfield.com.au +invoice-consulting_long 0:cfebda697822 0.36 invoicesummary +invoice-consulting_long 0:5656f37a9311 0.56 professionalservicesrenderedinac +invoice-consulting_long 0:a918299ac844 0.57 statementofworkfortheperiod +invoice-consulting_long 0:3fa8489d9aac 0.33 1may2025–25may2025. +invoice-consulting_long 0:c9046f7a37ad 0.98 description +invoice-consulting_long 0:b28225a1247c 0.98 serviceperiod +invoice-consulting_long 0:32e8369a9c4f 0.98 qty +invoice-consulting_long 0:d1062d072acd 0.99 unitprice +invoice-consulting_long 0:3ff0b4a2706b 1.09 (aud) +invoice-consulting_long 0:3ff0b4a2706b#1 1.09 (aud) +invoice-consulting_long 0:cf38d95c9c6b 0.99 amount +invoice-consulting_long 0:b344321f5471 1.20 1–10may2025 +invoice-consulting_long 0:b344321f5471#1 1.27 1–10may2025 +invoice-consulting_long 0:b344321f5471#2 1.35 1–10may2025 +invoice-consulting_long 0:a8994a9020c4 1.22 10.00 +invoice-consulting_long 0:a8994a9020c4#1 1.29 10.00 +invoice-consulting_long 0:a8994a9020c4#2 1.37 10.00 +invoice-consulting_long 0:4e9682fa850e 1.19 hrs +invoice-consulting_long 0:4e9682fa850e#1 1.22 hrs +invoice-consulting_long 0:4e9682fa850e#2 1.26 hrs +invoice-consulting_long 0:4e9682fa850e#3 1.29 hrs +invoice-consulting_long 0:4e9682fa850e#4 1.46 hrs +invoice-consulting_long 0:4e9682fa850e#5 1.48 hrs +invoice-consulting_long 0:aa92f0e23a97 1.20 250.00 +invoice-consulting_long 0:aa92f0e23a97#1 1.27 250.00 +invoice-consulting_long 0:aa92f0e23a97#2 1.35 250.00 +invoice-consulting_long 0:e48d9b7a2993 1.20 2,500.00 +invoice-consulting_long 0:e48d9b7a2993#1 1.27 2,500.00 +invoice-consulting_long 0:e48d9b7a2993#2 1.35 2,500.00 +invoice-consulting_long 0:1bcfde966d94 1.07 strategicconsultation +invoice-consulting_long 0:1bcfde966d94#1 1.26 strategicconsultation +invoice-consulting_long 0:1bcfde966d94#2 1.34 strategicconsultation +invoice-consulting_long 0:fd3ca268f319 0.55 leadershipalignmentworkshops +invoice-consulting_long 0:fd3ca268f319#1 0.74 leadershipalignmentworkshops +invoice-consulting_long 0:fd3ca268f319#2 0.82 leadershipalignmentworkshops +invoice-consulting_long 0:8d93e0c47a8c 1.21 1–15may2025 +invoice-consulting_long 0:8d93e0c47a8c#1 1.28 1–15may2025 +invoice-consulting_long 0:8d93e0c47a8c#2 1.36 1–15may2025 +invoice-consulting_long 0:cf9dcf6da8a8 1.23 1.00 +invoice-consulting_long 0:cf9dcf6da8a8#1 1.24 1.00 +invoice-consulting_long 0:cf9dcf6da8a8#2 1.28 1.00 +invoice-consulting_long 0:cf9dcf6da8a8#3 1.30 1.00 +invoice-consulting_long 0:cf9dcf6da8a8#4 1.31 1.00 +invoice-consulting_long 0:cf9dcf6da8a8#5 1.33 1.00 +invoice-consulting_long 0:cf9dcf6da8a8#6 1.50 1.00 +invoice-consulting_long 0:cf9dcf6da8a8#7 1.51 1.00 +invoice-consulting_long 0:cf9dcf6da8a8#8 1.52 1.00 +invoice-consulting_long 0:97e47b250054 1.21 3,500.00 +invoice-consulting_long 0:97e47b250054#1 1.21 3,500.00 +invoice-consulting_long 0:97e47b250054#2 1.28 3,500.00 +invoice-consulting_long 0:97e47b250054#3 1.28 3,500.00 +invoice-consulting_long 0:97e47b250054#4 1.36 3,500.00 +invoice-consulting_long 0:97e47b250054#5 1.36 3,500.00 +invoice-consulting_long 0:5581aef375ff 1.08 market&competitiveanalysis +invoice-consulting_long 0:5581aef375ff#1 1.27 market&competitiveanalysis +invoice-consulting_long 0:5581aef375ff#2 1.35 market&competitiveanalysis +invoice-consulting_long 0:957080ea09d9 0.56 researchandanalysisreport +invoice-consulting_long 0:957080ea09d9#1 0.75 researchandanalysisreport +invoice-consulting_long 0:957080ea09d9#2 0.83 researchandanalysisreport +invoice-consulting_long 0:47102c31f226 1.22 5–20may2025 +invoice-consulting_long 0:47102c31f226#1 1.29 5–20may2025 +invoice-consulting_long 0:47102c31f226#2 1.49 5–20may2025 +invoice-consulting_long 0:ec6305055be9 1.22 4,800.00 +invoice-consulting_long 0:ec6305055be9#1 1.22 4,800.00 +invoice-consulting_long 0:ec6305055be9#2 1.29 4,800.00 +invoice-consulting_long 0:ec6305055be9#3 1.29 4,800.00 +invoice-consulting_long 0:ec6305055be9#4 1.49 4,800.00 +invoice-consulting_long 0:ec6305055be9#5 1.49 4,800.00 +invoice-consulting_long 0:53dea97cf116 1.09 digitalroadmapdevelopment +invoice-consulting_long 0:53dea97cf116#1 1.28 digitalroadmapdevelopment +invoice-consulting_long 0:53dea97cf116#2 1.36 digitalroadmapdevelopment +invoice-consulting_long 0:acf357e68297 0.57 strategyandroadmapcreation +invoice-consulting_long 0:acf357e68297#1 0.76 strategyandroadmapcreation +invoice-consulting_long 0:acf357e68297#2 0.84 strategyandroadmapcreation +invoice-consulting_long 0:c947fb16eab2 1.23 15–22may2025 +invoice-consulting_long 0:c947fb16eab2#1 1.30 15–22may2025 +invoice-consulting_long 0:c947fb16eab2#2 1.50 15–22may2025 +invoice-consulting_long 0:017144e2271f 1.25 6.00 +invoice-consulting_long 0:017144e2271f#1 1.32 6.00 +invoice-consulting_long 0:017144e2271f#2 1.52 6.00 +invoice-consulting_long 0:be6012a47af0 1.23 220.00 +invoice-consulting_long 0:be6012a47af0#1 1.30 220.00 +invoice-consulting_long 0:be6012a47af0#2 1.50 220.00 +invoice-consulting_long 0:172c0a785bc7 1.23 1,320.00 +invoice-consulting_long 0:172c0a785bc7#1 1.30 1,320.00 +invoice-consulting_long 0:172c0a785bc7#2 1.50 1,320.00 +invoice-consulting_long 0:fe04037aa850 1.10 stakeholderreviewsessions +invoice-consulting_long 0:fe04037aa850#1 1.29 stakeholderreviewsessions +invoice-consulting_long 0:fe04037aa850#2 1.37 stakeholderreviewsessions +invoice-consulting_long 0:4658a1bff292 0.58 facilitationanddocumentation +invoice-consulting_long 0:4658a1bff292#1 0.77 facilitationanddocumentation +invoice-consulting_long 0:4658a1bff292#2 0.84 facilitationanddocumentation +invoice-consulting_long 0:86f73207c794 1.26 20–25may2025 +invoice-consulting_long 0:86f73207c794#1 1.31 20–25may2025 +invoice-consulting_long 0:86f73207c794#2 1.51 20–25may2025 +invoice-consulting_long 0:55907ef405f6 1.26 1,880.00 +invoice-consulting_long 0:55907ef405f6#1 1.26 1,880.00 +invoice-consulting_long 0:55907ef405f6#2 1.31 1,880.00 +invoice-consulting_long 0:55907ef405f6#3 1.31 1,880.00 +invoice-consulting_long 0:55907ef405f6#4 1.51 1,880.00 +invoice-consulting_long 0:55907ef405f6#5 1.51 1,880.00 +invoice-consulting_long 0:f2e12ad6cc9f 1.25 presentation&finalreport +invoice-consulting_long 0:f2e12ad6cc9f#1 1.30 presentation&finalreport +invoice-consulting_long 0:f2e12ad6cc9f#2 1.38 presentation&finalreport +invoice-consulting_long 0:50de6dc61b80 0.73 executivepresentationanddelivery +invoice-consulting_long 0:50de6dc61b80#1 0.81 executivepresentationanddelivery +invoice-consulting_long 0:50de6dc61b80#2 0.85 executivepresentationanddelivery +invoice-consulting_long 0:55ee5fe62c33 0.15 northpointconsultingptyltd|abn12 +invoice-consulting_long 0:c843aa25b80f 0.15 page1/2 +invoice-consulting_long 1:c9046f7a37ad 0.53 description +invoice-consulting_long 1:b28225a1247c 0.53 serviceperiod +invoice-consulting_long 1:32e8369a9c4f 0.53 qty +invoice-consulting_long 1:d1062d072acd 0.54 unitprice +invoice-consulting_long 1:3ff0b4a2706b 0.64 (aud) +invoice-consulting_long 1:3ff0b4a2706b#1 0.64 (aud) +invoice-consulting_long 1:cf38d95c9c6b 0.54 amount +invoice-consulting_long 1:b344321f5471 0.75 1–10may2025 +invoice-consulting_long 1:b344321f5471#1 0.82 1–10may2025 +invoice-consulting_long 1:b344321f5471#2 1.14 1–10may2025 +invoice-consulting_long 1:a8994a9020c4 0.77 10.00 +invoice-consulting_long 1:a8994a9020c4#1 0.84 10.00 +invoice-consulting_long 1:a8994a9020c4#2 1.16 10.00 +invoice-consulting_long 1:4e9682fa850e 0.76 hrs +invoice-consulting_long 1:4e9682fa850e#1 0.79 hrs +invoice-consulting_long 1:4e9682fa850e#2 0.81 hrs +invoice-consulting_long 1:4e9682fa850e#3 0.87 hrs +invoice-consulting_long 1:4e9682fa850e#4 1.13 hrs +invoice-consulting_long 1:aa92f0e23a97 0.75 250.00 +invoice-consulting_long 1:aa92f0e23a97#1 0.82 250.00 +invoice-consulting_long 1:aa92f0e23a97#2 1.14 250.00 +invoice-consulting_long 1:e48d9b7a2993 0.75 2,500.00 +invoice-consulting_long 1:e48d9b7a2993#1 0.82 2,500.00 +invoice-consulting_long 1:e48d9b7a2993#2 1.14 2,500.00 +invoice-consulting_long 1:1bcfde966d94 0.62 strategicconsultation +invoice-consulting_long 1:1bcfde966d94#1 0.81 strategicconsultation +invoice-consulting_long 1:1bcfde966d94#2 1.01 strategicconsultation +invoice-consulting_long 1:fd3ca268f319 0.10 leadershipalignmentworkshops +invoice-consulting_long 1:fd3ca268f319#1 0.29 leadershipalignmentworkshops +invoice-consulting_long 1:fd3ca268f319#2 0.49 leadershipalignmentworkshops +invoice-consulting_long 1:8d93e0c47a8c 0.78 1–15may2025 +invoice-consulting_long 1:8d93e0c47a8c#1 0.86 1–15may2025 +invoice-consulting_long 1:cf9dcf6da8a8 0.80 1.00 +invoice-consulting_long 1:cf9dcf6da8a8#1 0.81 1.00 +invoice-consulting_long 1:cf9dcf6da8a8#2 0.83 1.00 +invoice-consulting_long 1:cf9dcf6da8a8#3 0.85 1.00 +invoice-consulting_long 1:cf9dcf6da8a8#4 0.89 1.00 +invoice-consulting_long 1:cf9dcf6da8a8#5 0.91 1.00 +invoice-consulting_long 1:97e47b250054 0.78 3,500.00 +invoice-consulting_long 1:97e47b250054#1 0.78 3,500.00 +invoice-consulting_long 1:97e47b250054#2 0.86 3,500.00 +invoice-consulting_long 1:97e47b250054#3 0.86 3,500.00 +invoice-consulting_long 1:5581aef375ff 0.65 market&competitiveanalysis +invoice-consulting_long 1:5581aef375ff#1 0.82 market&competitiveanalysis +invoice-consulting_long 1:957080ea09d9 0.13 researchandanalysisreport +invoice-consulting_long 1:957080ea09d9#1 0.33 researchandanalysisreport +invoice-consulting_long 1:47102c31f226 0.79 5–20may2025 +invoice-consulting_long 1:47102c31f226#1 0.87 5–20may2025 +invoice-consulting_long 1:ec6305055be9 0.79 4,800.00 +invoice-consulting_long 1:ec6305055be9#1 0.79 4,800.00 +invoice-consulting_long 1:ec6305055be9#2 0.87 4,800.00 +invoice-consulting_long 1:ec6305055be9#3 0.87 4,800.00 +invoice-consulting_long 1:53dea97cf116 0.66 digitalroadmapdevelopment +invoice-consulting_long 1:53dea97cf116#1 0.86 digitalroadmapdevelopment +invoice-consulting_long 1:acf357e68297 0.14 strategyandroadmapcreation +invoice-consulting_long 1:acf357e68297#1 0.34 strategyandroadmapcreation +invoice-consulting_long 1:c947fb16eab2 0.80 15–22may2025 +invoice-consulting_long 1:c947fb16eab2#1 0.88 15–22may2025 +invoice-consulting_long 1:017144e2271f 0.82 6.00 +invoice-consulting_long 1:017144e2271f#1 0.90 6.00 +invoice-consulting_long 1:be6012a47af0 0.80 220.00 +invoice-consulting_long 1:be6012a47af0#1 0.88 220.00 +invoice-consulting_long 1:172c0a785bc7 0.80 1,320.00 +invoice-consulting_long 1:172c0a785bc7#1 0.88 1,320.00 +invoice-consulting_long 1:fe04037aa850 0.79 stakeholderreviewsessions +invoice-consulting_long 1:fe04037aa850#1 0.87 stakeholderreviewsessions +invoice-consulting_long 1:4658a1bff292 0.27 facilitationanddocumentation +invoice-consulting_long 1:4658a1bff292#1 0.35 facilitationanddocumentation +invoice-consulting_long 1:86f73207c794 0.81 20–25may2025 +invoice-consulting_long 1:86f73207c794#1 0.89 20–25may2025 +invoice-consulting_long 1:55907ef405f6 0.81 1,880.00 +invoice-consulting_long 1:55907ef405f6#1 0.81 1,880.00 +invoice-consulting_long 1:55907ef405f6#2 0.89 1,880.00 +invoice-consulting_long 1:55907ef405f6#3 0.89 1,880.00 +invoice-consulting_long 1:f2e12ad6cc9f 0.80 presentation&finalreport +invoice-consulting_long 1:f2e12ad6cc9f#1 0.88 presentation&finalreport +invoice-consulting_long 1:50de6dc61b80 0.28 executivepresentationanddelivery +invoice-consulting_long 1:50de6dc61b80#1 0.36 executivepresentationanddelivery +invoice-consulting_long 1:d6577e95efba 0.57 subtotal +invoice-consulting_long 1:6311b1798398 0.79 14,000.00 +invoice-consulting_long 1:e370855bde0c 0.53 gst(10%) +invoice-consulting_long 1:b87e26fb8fac 0.75 1,400.00 +invoice-consulting_long 1:713a1893d967 0.93 totaldue(aud) +invoice-consulting_long 1:d4464a725927 0.84 15,400.00 +invoice-consulting_long 1:13000a5d442c 0.99 paymentinformation +invoice-consulting_long 1:944d398aea60 1.28 bankname: +invoice-consulting_long 1:97fa113746b9 1.28 examplebank +invoice-consulting_long 1:0ecb5847ffa7 1.28 accountname: +invoice-consulting_long 1:b5dd15368c26 1.28 northpointconsultingptyltd +invoice-consulting_long 1:6bbca23a71e6 1.28 bsb: +invoice-consulting_long 1:83a417f0862b 1.28 123-456 +invoice-consulting_long 1:6b4894c28363 1.28 accountnumber: +invoice-consulting_long 1:ef797c8118f0 1.28 12345678 +invoice-consulting_long 1:c608665436db 1.28 reference: +invoice-consulting_long 1:7d66eb3c1070 1.28 inv-2025-0478 +invoice-consulting_long 1:010450dee1ff 1.31 pleaseensuretheinvoicenumberisin +invoice-consulting_long 1:ab5aa97074c4 0.99 notes +invoice-consulting_long 1:7c6ab37d83ef 0.79 thankyouforyourbusiness. +invoice-consulting_long 1:4a699e29a3bb 1.07 ifyouhaveanyquestionsregardingth +invoice-consulting_long 1:c766251af1f4 1.13 contactusataccounts@northpoint.c +invoice-consulting_long 1:3d32fa219332 1.19 +61398765432. +invoice-consulting_long 1:a6f6e2ddab6d 1.35 paymentisduewithin30daysfromthei +invoice-consulting_long 1:55ee5fe62c33 0.15 northpointconsultingptyltd|abn12 +invoice-consulting_long 1:1bed6052d9b3 0.15 page2/2 +invoice-luma_studio 0:ac5742bfd7c4 -0.23 &co. +invoice-luma_studio 0:1583c0f92f86 0.04 luma&co.studio +invoice-luma_studio 0:1583c0f92f86#1 0.35 luma&co.studio +invoice-luma_studio 0:b2b5b83cc26d 0.17 branding.design.digital. +invoice-luma_studio 0:c9ed0a9b9c8d -0.01 studio3.02,theloom +invoice-luma_studio 0:0a7d7e43c5de 0.08 14gowerstreet +invoice-luma_studio 0:b87f5fb5bcfa 0.02 londonwc1e6bt +invoice-luma_studio 0:2474519f77a9 0.08 unitedkingdom +invoice-luma_studio 0:2474519f77a9#1 -0.21 unitedkingdom +invoice-luma_studio 0:2474519f77a9#2 -0.21 unitedkingdom +invoice-luma_studio 0:89b5eccb38ff 0.14 +44(0)2079460832 +invoice-luma_studio 0:ea8232890494 0.14 hello@lumaandco.studio +invoice-luma_studio 0:374d89493adc 0.03 www.lumaandco.studio +invoice-luma_studio 0:be3e8b44676d -0.13 companyno.12578934|vatno.3694567 +invoice-luma_studio 0:52d6e3de4fa0 -0.23 invoice +invoice-luma_studio 0:6bb089477e20 0.28 invoiceno. +invoice-luma_studio 0:4435610d8a9f 0.28 inv-2024-0587 +invoice-luma_studio 0:8feaf8016bab 0.18 issuedate +invoice-luma_studio 0:8d36ed29c317 0.18 20may2024 +invoice-luma_studio 0:ac10f8c16320 0.20 duedate +invoice-luma_studio 0:9c4e61874f0f 0.20 19june2024 +invoice-luma_studio 0:fb854bac39c8 0.22 paymentterms +invoice-luma_studio 0:ad75b9983242 0.22 30days +invoice-luma_studio 0:466e5b9cd57f 0.24 currency +invoice-luma_studio 0:54f8e1b3fe44 0.24 gbp +invoice-luma_studio 0:aeba3a7b3598 0.08 billto +invoice-luma_studio 0:212254716728 -0.04 northfieldconsultingltd +invoice-luma_studio 0:212254716728#1 -0.04 northfieldconsultingltd +invoice-luma_studio 0:bcb7024f74fe -0.06 attn:sarahmitchell +invoice-luma_studio 0:13dd937d2fe6 -0.11 21jubileeway +invoice-luma_studio 0:f9bab6a0b45b -0.16 londonse13ss +invoice-luma_studio 0:725a8f5062e7 0.08 shipto +invoice-luma_studio 0:254289ce0191 -0.06 thefoundry,2ndfloor +invoice-luma_studio 0:84db1f48facb -0.11 17-19greatsuffolkstreet +invoice-luma_studio 0:e7a5f0717d99 -0.16 londonse10ns +invoice-luma_studio 0:c9046f7a37ad 0.03 description +invoice-luma_studio 0:32e8369a9c4f 0.03 qty +invoice-luma_studio 0:d1062d072acd 0.03 unitprice +invoice-luma_studio 0:7c512b48ba8a 0.03 vat +invoice-luma_studio 0:cf38d95c9c6b 0.03 amount +invoice-luma_studio 0:7b420577e50f 0.11 £1,200.00 +invoice-luma_studio 0:7b420577e50f#1 0.11 £1,200.00 +invoice-luma_studio 0:dc934fe30a94 0.11 20% +invoice-luma_studio 0:dc934fe30a94#1 0.04 20% +invoice-luma_studio 0:dc934fe30a94#2 0.07 20% +invoice-luma_studio 0:dc934fe30a94#3 0.16 20% +invoice-luma_studio 0:dc934fe30a94#4 0.17 20% +invoice-luma_studio 0:d8f4e3a46d2d 0.07 brandstrategyworkshop +invoice-luma_studio 0:be624d692600 -0.47 discoverysession,research&brand +invoice-luma_studio 0:40ca2aad940f -0.50 positioning. +invoice-luma_studio 0:07bcffc86e95 0.04 £2,650.00 +invoice-luma_studio 0:07bcffc86e95#1 0.04 £2,650.00 +invoice-luma_studio 0:e302dd04d528 0.12 visualidentitydesign +invoice-luma_studio 0:40e412f627fb -0.42 logosuite,colourpalette,typograp +invoice-luma_studio 0:9c17d116fe08 -0.45 &guidelines. +invoice-luma_studio 0:a20d66947acc 0.07 £3,200.00 +invoice-luma_studio 0:a20d66947acc#1 0.07 £3,200.00 +invoice-luma_studio 0:b25ac9cd66bd 0.07 websitedesign(upto8pages) +invoice-luma_studio 0:dab758788e6f -0.11 ux/uidesignfordesktopandmobile. +invoice-luma_studio 0:f916278cb74c 0.16 £850.00 +invoice-luma_studio 0:f916278cb74c#1 0.16 £850.00 +invoice-luma_studio 0:4a1359f78476 0.16 copywriting +invoice-luma_studio 0:69afea703455 -0.02 websitecopy&keymessaging. +invoice-luma_studio 0:07b417914317 0.17 £600.00 +invoice-luma_studio 0:07b417914317#1 0.17 £600.00 +invoice-luma_studio 0:340455fbac25 0.13 projectmanagement +invoice-luma_studio 0:72534f9863ad -0.41 planning,coordination&client +invoice-luma_studio 0:4df00f9a2b20 -0.45 liaison. +invoice-luma_studio 0:d6577e95efba 0.22 subtotal +invoice-luma_studio 0:b504edd8ea39 0.22 £8,500.00 +invoice-luma_studio 0:a52611c9261b 0.23 vat(20%) +invoice-luma_studio 0:a894ec54e7f3 0.23 £1,700.00 +invoice-luma_studio 0:57a66d21eb1b -0.23 totaldue +invoice-luma_studio 0:b4cb2a644826 0.43 £10,200.00 +invoice-luma_studio 0:ab5aa97074c4 0.03 notes +invoice-luma_studio 0:7c6ab37d83ef -0.41 thankyouforyourbusiness. +invoice-luma_studio 0:3d717dfb25d8 -0.36 ifyouhaveanyquestionsregarding +invoice-luma_studio 0:479a74142336 -0.44 thisinvoice,pleasegetintouch. +invoice-luma_studio 0:1960744391ed -0.45 allworkremainstheintellectualpro +invoice-luma_studio 0:eeb53247f32c -0.53 ofluma&co.studiountilpayment +invoice-luma_studio 0:9eef22d7d34e -0.60 hasbeenreceivedinfull. +invoice-luma_studio 0:3c7ade679fdf 0.03 paymentdetails +invoice-luma_studio 0:b1819c9cd5bf -0.29 pleasemakepaymentbybanktransfert +invoice-luma_studio 0:8c1e4a24f6a8 0.07 luma&co.studioltd +invoice-luma_studio 0:4381dc2ab142 -0.03 bank +invoice-luma_studio 0:447827e26127 -0.03 starlingbank +invoice-luma_studio 0:10aeacde20ff -0.03 sortcode +invoice-luma_studio 0:c14b2f2f32e4 -0.03 60-83-71 +invoice-luma_studio 0:f5bd52edd4c2 -0.03 accountno. +invoice-luma_studio 0:4e20613ec3a6 -0.03 98765432 +invoice-luma_studio 0:d53cd2cae33d -0.02 iban +invoice-luma_studio 0:279d55d978a1 -0.02 gb36srlg60837198765432 +invoice-luma_studio 0:e398486c0acf -0.02 bic +invoice-luma_studio 0:ddc998160ae0 -0.02 srlggb2l +invoice-luma_studio 0:543a2e86433f 0.49 thankyouforchoosingluma&co.studi +invoice-luma_studio 0:7111b3fcbf69 0.08 paymentisdueby19june2024. +invoice-luma_studio 0:7b14b8d2c5c4 0.17 page1of1 +invoice-luma_studio_long 0:ac5742bfd7c4 -0.23 &co. +invoice-luma_studio_long 0:1583c0f92f86 0.04 luma&co.studio +invoice-luma_studio_long 0:1583c0f92f86#1 0.35 luma&co.studio +invoice-luma_studio_long 0:b2b5b83cc26d 0.17 branding.design.digital. +invoice-luma_studio_long 0:c9ed0a9b9c8d -0.01 studio3.02,theloom +invoice-luma_studio_long 0:0a7d7e43c5de 0.08 14gowerstreet +invoice-luma_studio_long 0:b87f5fb5bcfa 0.02 londonwc1e6bt +invoice-luma_studio_long 0:2474519f77a9 0.08 unitedkingdom +invoice-luma_studio_long 0:2474519f77a9#1 -0.21 unitedkingdom +invoice-luma_studio_long 0:2474519f77a9#2 -0.21 unitedkingdom +invoice-luma_studio_long 0:89b5eccb38ff 0.14 +44(0)2079460832 +invoice-luma_studio_long 0:ea8232890494 0.14 hello@lumaandco.studio +invoice-luma_studio_long 0:374d89493adc 0.03 www.lumaandco.studio +invoice-luma_studio_long 0:be3e8b44676d -0.13 companyno.12578934|vatno.3694567 +invoice-luma_studio_long 0:52d6e3de4fa0 -0.23 invoice +invoice-luma_studio_long 0:6bb089477e20 0.28 invoiceno. +invoice-luma_studio_long 0:4435610d8a9f 0.28 inv-2024-0587 +invoice-luma_studio_long 0:8feaf8016bab 0.18 issuedate +invoice-luma_studio_long 0:8d36ed29c317 0.18 20may2024 +invoice-luma_studio_long 0:ac10f8c16320 0.20 duedate +invoice-luma_studio_long 0:9c4e61874f0f 0.20 19june2024 +invoice-luma_studio_long 0:fb854bac39c8 0.22 paymentterms +invoice-luma_studio_long 0:ad75b9983242 0.22 30days +invoice-luma_studio_long 0:466e5b9cd57f 0.24 currency +invoice-luma_studio_long 0:54f8e1b3fe44 0.24 gbp +invoice-luma_studio_long 0:aeba3a7b3598 0.08 billto +invoice-luma_studio_long 0:212254716728 -0.04 northfieldconsultingltd +invoice-luma_studio_long 0:212254716728#1 -0.04 northfieldconsultingltd +invoice-luma_studio_long 0:bcb7024f74fe -0.06 attn:sarahmitchell +invoice-luma_studio_long 0:13dd937d2fe6 -0.11 21jubileeway +invoice-luma_studio_long 0:f9bab6a0b45b -0.16 londonse13ss +invoice-luma_studio_long 0:725a8f5062e7 0.08 shipto +invoice-luma_studio_long 0:254289ce0191 -0.06 thefoundry,2ndfloor +invoice-luma_studio_long 0:84db1f48facb -0.11 17-19greatsuffolkstreet +invoice-luma_studio_long 0:e7a5f0717d99 -0.16 londonse10ns +invoice-luma_studio_long 0:c9046f7a37ad 0.03 description +invoice-luma_studio_long 0:32e8369a9c4f 0.03 qty +invoice-luma_studio_long 0:d1062d072acd 0.03 unitprice +invoice-luma_studio_long 0:7c512b48ba8a 0.03 vat +invoice-luma_studio_long 0:cf38d95c9c6b 0.03 amount +invoice-luma_studio_long 0:7b420577e50f 0.11 £1,200.00 +invoice-luma_studio_long 0:7b420577e50f#1 0.11 £1,200.00 +invoice-luma_studio_long 0:7b420577e50f#2 0.17 £1,200.00 +invoice-luma_studio_long 0:7b420577e50f#3 0.17 £1,200.00 +invoice-luma_studio_long 0:dc934fe30a94 0.11 20% +invoice-luma_studio_long 0:dc934fe30a94#1 0.04 20% +invoice-luma_studio_long 0:dc934fe30a94#2 0.11 20% +invoice-luma_studio_long 0:dc934fe30a94#3 0.16 20% +invoice-luma_studio_long 0:dc934fe30a94#4 0.09 20% +invoice-luma_studio_long 0:dc934fe30a94#5 0.17 20% +invoice-luma_studio_long 0:dc934fe30a94#6 0.22 20% +invoice-luma_studio_long 0:dc934fe30a94#7 0.15 20% +invoice-luma_studio_long 0:d8f4e3a46d2d 0.07 brandstrategyworkshop +invoice-luma_studio_long 0:d8f4e3a46d2d#1 0.10 brandstrategyworkshop +invoice-luma_studio_long 0:be624d692600 -0.47 discoverysession,research&brand +invoice-luma_studio_long 0:be624d692600#1 -0.41 discoverysession,research&brand +invoice-luma_studio_long 0:d6def76ba3d1 -0.50 positioning.phase1. +invoice-luma_studio_long 0:07bcffc86e95 0.04 £2,650.00 +invoice-luma_studio_long 0:07bcffc86e95#1 0.04 £2,650.00 +invoice-luma_studio_long 0:07bcffc86e95#2 0.22 £2,650.00 +invoice-luma_studio_long 0:07bcffc86e95#3 0.22 £2,650.00 +invoice-luma_studio_long 0:e302dd04d528 0.12 visualidentitydesign +invoice-luma_studio_long 0:e302dd04d528#1 0.18 visualidentitydesign +invoice-luma_studio_long 0:40e412f627fb -0.42 logosuite,colourpalette,typograp +invoice-luma_studio_long 0:40e412f627fb#1 -0.36 logosuite,colourpalette,typograp +invoice-luma_studio_long 0:270a9e26d2e0 -0.45 &guidelines.phase1. +invoice-luma_studio_long 0:a20d66947acc 0.11 £3,200.00 +invoice-luma_studio_long 0:a20d66947acc#1 0.11 £3,200.00 +invoice-luma_studio_long 0:a20d66947acc#2 0.15 £3,200.00 +invoice-luma_studio_long 0:a20d66947acc#3 0.15 £3,200.00 +invoice-luma_studio_long 0:b25ac9cd66bd 0.07 websitedesign(upto8pages) +invoice-luma_studio_long 0:b25ac9cd66bd#1 0.23 websitedesign(upto8pages) +invoice-luma_studio_long 0:dab758788e6f -0.47 ux/uidesignfordesktopandmobile. +invoice-luma_studio_long 0:dab758788e6f#1 -0.31 ux/uidesignfordesktopandmobile. +invoice-luma_studio_long 0:bb1a79cda1ae -0.38 phase1. +invoice-luma_studio_long 0:f916278cb74c 0.16 £850.00 +invoice-luma_studio_long 0:f916278cb74c#1 0.16 £850.00 +invoice-luma_studio_long 0:4a1359f78476 0.12 copywriting +invoice-luma_studio_long 0:e6a181326fc9 -0.42 websitecopy&keymessaging.phase +invoice-luma_studio_long 0:07b417914317 0.09 £600.00 +invoice-luma_studio_long 0:07b417914317#1 0.09 £600.00 +invoice-luma_studio_long 0:340455fbac25 0.17 projectmanagement +invoice-luma_studio_long 0:72534f9863ad -0.37 planning,coordination&client +invoice-luma_studio_long 0:8f09113ca513 -0.40 liaison.phase1. +invoice-luma_studio_long 0:532160121f5f -0.32 positioning.phase2. +invoice-luma_studio_long 0:82ed33a90b4e -0.39 &guidelines.phase2. +invoice-luma_studio_long 0:81deaef85fed -0.34 phase2. +invoice-luma_studio_long 0:cc6f3d44f8c5 0.17 page1of3 +invoice-luma_studio_long 1:c9046f7a37ad 0.20 description +invoice-luma_studio_long 1:32e8369a9c4f 0.20 qty +invoice-luma_studio_long 1:d1062d072acd 0.20 unitprice +invoice-luma_studio_long 1:7c512b48ba8a 0.20 vat +invoice-luma_studio_long 1:cf38d95c9c6b 0.20 amount +invoice-luma_studio_long 1:f916278cb74c 0.19 £850.00 +invoice-luma_studio_long 1:f916278cb74c#1 0.19 £850.00 +invoice-luma_studio_long 1:f916278cb74c#2 0.23 £850.00 +invoice-luma_studio_long 1:f916278cb74c#3 0.23 £850.00 +invoice-luma_studio_long 1:f916278cb74c#4 0.38 £850.00 +invoice-luma_studio_long 1:f916278cb74c#5 0.38 £850.00 +invoice-luma_studio_long 1:dc934fe30a94 0.19 20% +invoice-luma_studio_long 1:dc934fe30a94#1 0.24 20% +invoice-luma_studio_long 1:dc934fe30a94#2 0.17 20% +invoice-luma_studio_long 1:dc934fe30a94#3 0.22 20% +invoice-luma_studio_long 1:dc934fe30a94#4 0.30 20% +invoice-luma_studio_long 1:dc934fe30a94#5 0.23 20% +invoice-luma_studio_long 1:dc934fe30a94#6 0.28 20% +invoice-luma_studio_long 1:dc934fe30a94#7 0.35 20% +invoice-luma_studio_long 1:dc934fe30a94#8 0.28 20% +invoice-luma_studio_long 1:dc934fe30a94#9 0.33 20% +invoice-luma_studio_long 1:dc934fe30a94#10 0.38 20% +invoice-luma_studio_long 1:dc934fe30a94#11 0.34 20% +invoice-luma_studio_long 1:4a1359f78476 0.14 copywriting +invoice-luma_studio_long 1:4a1359f78476#1 0.30 copywriting +invoice-luma_studio_long 1:4a1359f78476#2 0.33 copywriting +invoice-luma_studio_long 1:e6a181326fc9 -0.40 websitecopy&keymessaging.phase +invoice-luma_studio_long 1:e6a181326fc9#1 -0.24 websitecopy&keymessaging.phase +invoice-luma_studio_long 1:e6a181326fc9#2 -0.21 websitecopy&keymessaging.phase +invoice-luma_studio_long 1:07b417914317 0.24 £600.00 +invoice-luma_studio_long 1:07b417914317#1 0.24 £600.00 +invoice-luma_studio_long 1:07b417914317#2 0.28 £600.00 +invoice-luma_studio_long 1:07b417914317#3 0.28 £600.00 +invoice-luma_studio_long 1:07b417914317#4 0.34 £600.00 +invoice-luma_studio_long 1:07b417914317#5 0.34 £600.00 +invoice-luma_studio_long 1:340455fbac25 0.19 projectmanagement +invoice-luma_studio_long 1:340455fbac25#1 0.23 projectmanagement +invoice-luma_studio_long 1:340455fbac25#2 0.41 projectmanagement +invoice-luma_studio_long 1:72534f9863ad -0.35 planning,coordination&client +invoice-luma_studio_long 1:72534f9863ad#1 -0.31 planning,coordination&client +invoice-luma_studio_long 1:72534f9863ad#2 -0.13 planning,coordination&client +invoice-luma_studio_long 1:ad05c4b80bfe -0.38 liaison.phase2. +invoice-luma_studio_long 1:7b420577e50f 0.17 £1,200.00 +invoice-luma_studio_long 1:7b420577e50f#1 0.17 £1,200.00 +invoice-luma_studio_long 1:7b420577e50f#2 0.35 £1,200.00 +invoice-luma_studio_long 1:7b420577e50f#3 0.35 £1,200.00 +invoice-luma_studio_long 1:d8f4e3a46d2d 0.24 brandstrategyworkshop +invoice-luma_studio_long 1:d8f4e3a46d2d#1 0.28 brandstrategyworkshop +invoice-luma_studio_long 1:be624d692600 -0.30 discoverysession,research&brand +invoice-luma_studio_long 1:be624d692600#1 -0.24 discoverysession,research&brand +invoice-luma_studio_long 1:b95a82d5055c -0.33 positioning.phase3. +invoice-luma_studio_long 1:07bcffc86e95 0.22 £2,650.00 +invoice-luma_studio_long 1:07bcffc86e95#1 0.22 £2,650.00 +invoice-luma_studio_long 1:07bcffc86e95#2 0.28 £2,650.00 +invoice-luma_studio_long 1:07bcffc86e95#3 0.28 £2,650.00 +invoice-luma_studio_long 1:e302dd04d528 0.17 visualidentitydesign +invoice-luma_studio_long 1:e302dd04d528#1 0.35 visualidentitydesign +invoice-luma_studio_long 1:40e412f627fb -0.37 logosuite,colourpalette,typograp +invoice-luma_studio_long 1:40e412f627fb#1 -0.19 logosuite,colourpalette,typograp +invoice-luma_studio_long 1:708bc0c2e87c -0.28 &guidelines.phase3. +invoice-luma_studio_long 1:a20d66947acc 0.30 £3,200.00 +invoice-luma_studio_long 1:a20d66947acc#1 0.30 £3,200.00 +invoice-luma_studio_long 1:a20d66947acc#2 0.33 £3,200.00 +invoice-luma_studio_long 1:a20d66947acc#3 0.33 £3,200.00 +invoice-luma_studio_long 1:b25ac9cd66bd 0.25 websitedesign(upto8pages) +invoice-luma_studio_long 1:b25ac9cd66bd#1 0.28 websitedesign(upto8pages) +invoice-luma_studio_long 1:dab758788e6f -0.29 ux/uidesignfordesktopandmobile. +invoice-luma_studio_long 1:dab758788e6f#1 -0.26 ux/uidesignfordesktopandmobile. +invoice-luma_studio_long 1:155500f32e83 -0.32 phase3. +invoice-luma_studio_long 1:82f971bee7f8 -0.22 liaison.phase3. +invoice-luma_studio_long 1:7affbd48dd15 -0.27 positioning.phase4. +invoice-luma_studio_long 1:e489d439e723 -0.22 &guidelines.phase4. +invoice-luma_studio_long 1:7024991be198 -0.17 phase4. +invoice-luma_studio_long 1:bbcc6ebb140f -0.16 liaison.phase4. +invoice-luma_studio_long 1:d6577e95efba 0.50 subtotal +invoice-luma_studio_long 1:b504edd8ea39 0.50 £8,500.00 +invoice-luma_studio_long 1:a52611c9261b 0.52 vat(20%) +invoice-luma_studio_long 1:a894ec54e7f3 0.52 £1,700.00 +invoice-luma_studio_long 1:57a66d21eb1b -0.09 totaldue +invoice-luma_studio_long 1:b4cb2a644826 0.57 £10,200.00 +invoice-luma_studio_long 1:60fd7eb93483 0.17 page2of3 +invoice-luma_studio_long 2:ab5aa97074c4 -11.75 notes +invoice-luma_studio_long 2:7c6ab37d83ef -12.19 thankyouforyourbusiness. +invoice-luma_studio_long 2:3d717dfb25d8 -12.25 ifyouhaveanyquestionsregarding +invoice-luma_studio_long 2:479a74142336 -12.32 thisinvoice,pleasegetintouch. +invoice-luma_studio_long 2:1960744391ed -12.33 allworkremainstheintellectualpro +invoice-luma_studio_long 2:eeb53247f32c -12.41 ofluma&co.studiountilpayment +invoice-luma_studio_long 2:9eef22d7d34e -12.36 hasbeenreceivedinfull. +invoice-luma_studio_long 2:3c7ade679fdf -11.75 paymentdetails +invoice-luma_studio_long 2:b1819c9cd5bf -12.07 pleasemakepaymentbybanktransfert +invoice-luma_studio_long 2:8c1e4a24f6a8 -11.82 luma&co.studioltd +invoice-luma_studio_long 2:4381dc2ab142 -11.91 bank +invoice-luma_studio_long 2:447827e26127 -11.91 starlingbank +invoice-luma_studio_long 2:10aeacde20ff -11.91 sortcode +invoice-luma_studio_long 2:c14b2f2f32e4 -11.91 60-83-71 +invoice-luma_studio_long 2:f5bd52edd4c2 -11.91 accountno. +invoice-luma_studio_long 2:4e20613ec3a6 -11.91 98765432 +invoice-luma_studio_long 2:d53cd2cae33d -11.90 iban +invoice-luma_studio_long 2:279d55d978a1 -11.90 gb36srlg60837198765432 +invoice-luma_studio_long 2:e398486c0acf -11.90 bic +invoice-luma_studio_long 2:ddc998160ae0 -11.90 srlggb2l +invoice-luma_studio_long 2:543a2e86433f 0.35 thankyouforchoosingluma&co.studi +invoice-luma_studio_long 2:7111b3fcbf69 -0.06 paymentisdueby19june2024. +invoice-luma_studio_long 2:bc6d215b63ee 0.17 page3of3 +invoice-merchant 0:0dffa3b5d008 0.00 coastline +invoice-merchant 0:52d6e3de4fa0 0.07 invoice +invoice-merchant 0:9422e2aeb800 0.14 coastlinecommerceinc. +invoice-merchant 0:9422e2aeb800#1 0.65 coastlinecommerceinc. +invoice-merchant 0:9422e2aeb800#2 0.28 coastlinecommerceinc. +invoice-merchant 0:8bb83c0c3efb 0.08 150elginstreet,8thfloor +invoice-merchant 0:cf0df3462e70 0.13 ottawa,onk2p1l4 +invoice-merchant 0:408c7c5887a0 0.06 canada +invoice-merchant 0:0d9b94d29fc9 0.00 www.coastline.example +invoice-merchant 0:0d9b94d29fc9#1 0.40 www.coastline.example +invoice-merchant 0:76957649b8a8 0.00 billing@coastline.example +invoice-merchant 0:76957649b8a8#1 0.71 billing@coastline.example +invoice-merchant 0:0b44bf19dd44 -0.12 +1613-555-0142 +invoice-merchant 0:884004f21362 -0.06 vatid:ca8139020285rt0001 +invoice-merchant 0:6282391a4cc1 0.21 invoicenumber: +invoice-merchant 0:a6e01b979f55 0.21 inv-2026-000789 +invoice-merchant 0:a6e01b979f55#1 0.73 inv-2026-000789 +invoice-merchant 0:8d05f5d55191 0.22 invoicedate: +invoice-merchant 0:dc9696f61d36 0.22 27may2026 +invoice-merchant 0:0e0fb0fc0939 0.24 duedate: +invoice-merchant 0:93059e9a1c07 0.24 26june2026 +invoice-merchant 0:93059e9a1c07#1 0.95 26june2026 +invoice-merchant 0:d39366fa1423 0.14 billingperiod: +invoice-merchant 0:ec215645f61e 0.14 01may2026–31may2026 +invoice-merchant 0:18e2cca1098e 0.16 paymentterms: +invoice-merchant 0:c6af9fc633ee 0.16 net30days +invoice-merchant 0:967e0b6ca4b9 0.18 currency: +invoice-merchant 0:d60fbd8718ec 0.18 usd +invoice-merchant 0:aeba3a7b3598 0.02 billto +invoice-merchant 0:45fe04dbae24 0.06 brightfutureltd. +invoice-merchant 0:45fe04dbae24#1 0.06 brightfutureltd. +invoice-merchant 0:65405af34bf9 -0.08 45kingstreet +invoice-merchant 0:1f8da9c4e269 -0.06 manchester,m24wu +invoice-merchant 0:1f8da9c4e269#1 -0.04 manchester,m24wu +invoice-merchant 0:2474519f77a9 -0.04 unitedkingdom +invoice-merchant 0:2474519f77a9#1 -0.03 unitedkingdom +invoice-merchant 0:c7a9cfdd1c55 -0.08 vatid:gb987654321 +invoice-merchant 0:725a8f5062e7 0.02 shipto +invoice-merchant 0:5895c7cd8d5b -0.08 warehouse7 +invoice-merchant 0:caf76743df2d -0.06 northindustrialestate +invoice-merchant 0:c9046f7a37ad 0.13 description +invoice-merchant 0:169240d91658 0.13 plan/service +invoice-merchant 0:32e8369a9c4f 0.13 qty +invoice-merchant 0:e2a9c81da5f6 0.13 unitprice(usd) +invoice-merchant 0:5dfb966b2bcf 0.13 amount(usd) +invoice-merchant 0:fe6b34582738 0.40 coastlineadvanced +invoice-merchant 0:46f3b0cea3bc 0.29 monthlysubscription +invoice-merchant 0:71738eb7126d 0.30 advancedplan +invoice-merchant 0:7b969356782c 0.30 399.00 +invoice-merchant 0:7b969356782c#1 0.30 399.00 +invoice-merchant 0:0a9acaea6477 0.43 paymentprocessing +invoice-merchant 0:91809142f08f 0.32 transactionfee +invoice-merchant 0:358a7392afe6 0.33 asperusage +invoice-merchant 0:561b2814d3c0 0.33 0.00 +invoice-merchant 0:561b2814d3c0#1 0.33 0.00 +invoice-merchant 0:561b2814d3c0#2 0.24 0.00 +invoice-merchant 0:561b2814d3c0#3 0.24 0.00 +invoice-merchant 0:561b2814d3c0#4 0.75 0.00 +invoice-merchant 0:3f9fea8c0fc5 0.33 additionalstaffaccounts +invoice-merchant 0:fbf7948d004d 0.22 staffaccount +invoice-merchant 0:7b476727faf3 0.35 additional +invoice-merchant 0:0856fec27d23 0.35 15.00 +invoice-merchant 0:bc7a1ad05efc 0.35 45.00 +invoice-merchant 0:0036ebf2cfb2 0.34 prioritysupport +invoice-merchant 0:6bfa3f8e9308 0.23 24/7support +invoice-merchant 0:7f0f70e643bc 0.24 included +invoice-merchant 0:3c7ade679fdf 0.67 paymentdetails +invoice-merchant 0:944d398aea60 0.75 bankname: +invoice-merchant 0:d6c3cea2e943 0.75 harbourbankofcanada +invoice-merchant 0:0ecb5847ffa7 0.65 accountname: +invoice-merchant 0:6b4894c28363 0.71 accountnumber: +invoice-merchant 0:ca2ea6319cc8 0.71 1001-4267-153 +invoice-merchant 0:555043320c0c 0.73 swiftcode: +invoice-merchant 0:922f5f70c123 0.73 hrbrcat2 +invoice-merchant 0:f1b1597830d6 0.75 institutionnumber: +invoice-merchant 0:88c0413bfef1 0.75 003 +invoice-merchant 0:e47c9313aced 0.78 transitnumber: +invoice-merchant 0:fec334e6bf8c 0.78 00016 +invoice-merchant 0:4f657c67e41a 0.80 accounttype: +invoice-merchant 0:b8b8acdf702e 0.80 cadaccount +invoice-merchant 0:fa0fbe194b51 0.71 remittanceemail: +invoice-merchant 0:c608665436db 0.73 reference: +invoice-merchant 0:1b0fdc20ced4 0.76 pleaseincludetheinvoicenumber +invoice-merchant 0:cfdf1faf410b 0.73 inyourpaymentreference. +invoice-merchant 0:d6577e95efba 0.67 subtotal +invoice-merchant 0:30d16b02fd3e 0.74 444.00 +invoice-merchant 0:2ee4d3de4ddf 0.67 tax(0%) +invoice-merchant 0:57a66d21eb1b 0.91 totaldue +invoice-merchant 0:a4dfc8dd0535 0.89 usd444.00 +invoice-merchant 0:b0553f008513 0.97 paymentdueby +invoice-merchant 0:a416c258bdd9 0.39 thankyouforchoosingcoastline. +invoice-merchant 0:aaa4b5e2074f 0.39 ifyouhaveanyquestionsaboutthisin +invoice-merchant 0:2c865b459156 0.33 150elginstreet,8thfloor,ottawa,o +invoice-merchant 0:7b14b8d2c5c4 0.18 page1of1 +invoice-metered 0:8a80987c409a 0.27 northwindcloud +invoice-metered 0:52d6e3de4fa0 0.19 invoice +invoice-metered 0:41305d2c2d3b -0.18 northwindcloudservicesltd. +invoice-metered 0:41305d2c2d3b#1 0.40 northwindcloudservicesltd. +invoice-metered 0:c3f5f4cc9def -0.16 120riversideway +invoice-metered 0:5be08c6bee4c -0.18 bristol,bs16qt +invoice-metered 0:2474519f77a9 -0.20 unitedkingdom +invoice-metered 0:2474519f77a9#1 -0.05 unitedkingdom +invoice-metered 0:2474519f77a9#2 -0.11 unitedkingdom +invoice-metered 0:ec6d474a1bfc -0.18 vatid: +invoice-metered 0:b03c22d79b17 -0.18 gb412883027 +invoice-metered 0:83e16ec72a3f -0.20 phone: +invoice-metered 0:bff9aeb5400b -0.20 +44(0)1174962280 +invoice-metered 0:439961205ae6 -0.22 email: +invoice-metered 0:228e0a39fe6e -0.22 billing@northwind.example +invoice-metered 0:228e0a39fe6e#1 0.33 billing@northwind.example +invoice-metered 0:294ed2cfe15e -0.24 website:https://northwind.exampl +invoice-metered 0:6282391a4cc1 -0.04 invoicenumber: +invoice-metered 0:0edf022238f1 0.07 inv-2026-00041882 +invoice-metered 0:8d05f5d55191 0.05 invoicedate: +invoice-metered 0:52c8b7a9ee5f 0.03 31july2026 +invoice-metered 0:0e0fb0fc0939 0.02 duedate: +invoice-metered 0:6a077b4f161e 0.01 30august2026 +invoice-metered 0:6a077b4f161e#1 0.83 30august2026 +invoice-metered 0:aa1e9c8092ab -0.01 billperiod: +invoice-metered 0:3e380076ca84 -0.02 01jul2026–31jul2026 +invoice-metered 0:18e2cca1098e 0.08 paymentterms: +invoice-metered 0:c6af9fc633ee 0.07 net30days +invoice-metered 0:967e0b6ca4b9 0.06 currency: +invoice-metered 0:54f8e1b3fe44 0.04 gbp +invoice-metered 0:aeba3a7b3598 -0.01 billto +invoice-metered 0:45fe04dbae24 0.07 brightfutureltd. +invoice-metered 0:45fe04dbae24#1 0.07 brightfutureltd. +invoice-metered 0:65405af34bf9 0.07 45kingstreet +invoice-metered 0:1f8da9c4e269 0.01 manchester,m24wu +invoice-metered 0:1f8da9c4e269#1 -0.05 manchester,m24wu +invoice-metered 0:c7a9cfdd1c55 -0.09 vatid:gb987654321 +invoice-metered 0:725a8f5062e7 -0.01 shipto +invoice-metered 0:5895c7cd8d5b 0.07 warehouse7 +invoice-metered 0:caf76743df2d 0.01 northindustrialestate +invoice-metered 0:c9046f7a37ad 0.40 description +invoice-metered 0:9df6b026a8c6 0.40 service +invoice-metered 0:32e8369a9c4f 0.40 qty +invoice-metered 0:d1062d072acd 0.40 unitprice +invoice-metered 0:cf38d95c9c6b 0.40 amount +invoice-metered 0:f13d9c7c6f89 0.51 computeinstances +invoice-metered 0:d08426b31521 0.49 on-demandusage +invoice-metered 0:05313a23f706 0.57 london(eu-west) +invoice-metered 0:05313a23f706#1 0.66 london(eu-west) +invoice-metered 0:05313a23f706#2 0.62 london(eu-west) +invoice-metered 0:6e477a22f840 0.57 744hrs +invoice-metered 0:6e477a22f840#1 0.62 744hrs +invoice-metered 0:352967434b63 0.57 gbp0.0710 +invoice-metered 0:eec5f520909e 0.57 gbp52.82 +invoice-metered 0:721ffa554e56 0.61 objectstorage +invoice-metered 0:df2f05798b9e 0.58 storedvolume +invoice-metered 0:41542149a8a5 0.66 480gb +invoice-metered 0:2242bd7aa8ce 0.66 gbp0.0215 +invoice-metered 0:7c6be041f9c2 0.66 gbp10.32 +invoice-metered 0:8152fd217e12 0.56 manageddatabase +invoice-metered 0:3c8556c4aa26 0.54 primaryandreplica +invoice-metered 0:76afc71f5b3e 0.62 gbp0.1650 +invoice-metered 0:baad0db43ed6 0.62 gbp122.76 +invoice-metered 0:444858f5bf18 0.52 egresstraffic +invoice-metered 0:8b72bb875a83 0.50 datatransferout +invoice-metered 0:8001c2743965 0.57 global +invoice-metered 0:8001c2743965#1 0.89 global +invoice-metered 0:847eb4cbbb42 0.57 310gb +invoice-metered 0:d651e46704f7 0.57 gbp0.0900 +invoice-metered 0:4ecaa7313375 0.57 gbp27.90 +invoice-metered 0:efa8771baad9 0.72 supportplan +invoice-metered 0:9e81cd6e653a 0.69 standardresponse +invoice-metered 0:a0443240c5ed 0.89 gbp0.91 +invoice-metered 0:a0443240c5ed#1 0.89 gbp0.91 +invoice-metered 0:3c7ade679fdf 0.45 paymentdetails +invoice-metered 0:0ecb5847ffa7 0.40 accountname: +invoice-metered 0:944d398aea60 0.39 bankname: +invoice-metered 0:062433da3c2a 0.39 riverbankplc +invoice-metered 0:6b4894c28363 0.38 accountnumber: +invoice-metered 0:7c068e1eded4 0.38 60415523 +invoice-metered 0:4bf9e1b71d6b 0.37 sortcode: +invoice-metered 0:0309d81ea4af 0.37 20-41-08 +invoice-metered 0:1f619f9689b2 0.35 iban: +invoice-metered 0:6c4b0e61038b 0.35 gb29rivb20410860415523 +invoice-metered 0:4f657c67e41a 0.34 accounttype: +invoice-metered 0:3af279547725 0.34 businesscurrent +invoice-metered 0:fa0fbe194b51 0.33 remittanceemail: +invoice-metered 0:d6577e95efba 0.96 subtotal +invoice-metered 0:79fabcfaa819 0.96 gbp214.71 +invoice-metered 0:a52611c9261b 1.05 vat(20%) +invoice-metered 0:e50d8a0ea599 1.05 gbp42.94 +invoice-metered 0:57a66d21eb1b 0.85 totaldue +invoice-metered 0:f207312dff2f 0.77 gbp257.65 +invoice-metered 0:b0553f008513 0.94 paymentdueby +invoice-metered 0:e60e7ef06ccc 0.17 thankyouforrunningonnorthwindclo +invoice-metered 0:34ea2ec3fe72 0.14 forbillingandaccountsupport,visi +invoice-metered 0:e28672d64882 0.05 northwindcloudservicesltd.isasub +invoice-metered 0:985e43c2de34 0.01 120riversideway,bristol,bs16qt,u +invoice-metered 0:7b14b8d2c5c4 0.11 page1of1 +invoice-modern 0:52d6e3de4fa0 0.18 invoice +invoice-modern 0:30d85a94548c 0.31 invoicegc-2026-041issued02apr202 +invoice-modern 0:75857a458999 0.27 from +invoice-modern 0:c26c22b94338 0.22 graphcomposestudio +invoice-modern 0:2a08ce5567fb -0.08 18layoutstreet +invoice-modern 0:fbeea547d99e -0.15 london,uk +invoice-modern 0:faf1569a98e9 -0.11 ec1a4gc +invoice-modern 0:befc6e9b5c24 -0.18 billing@graphcompose.dev +invoice-modern 0:89674e6f130e -0.26 +442055551000 +invoice-modern 0:a2b2e7d2906f -0.21 taxidgb-99887766 +invoice-modern 0:aeba3a7b3598 0.27 billto +invoice-modern 0:f890faef907f 0.22 northwindsystems +invoice-modern 0:1b405eb431ca -0.08 attn:financeteam +invoice-modern 0:91eefd794f79 -0.15 410marketavenue +invoice-modern 0:00a97da4e243 -0.11 manchester,uk +invoice-modern 0:62fcfa8745fc -0.18 ap@northwind.example +invoice-modern 0:2081a41a7764 -0.26 +441615552200 +invoice-modern 0:5a6e7135d21b -0.21 taxidnw-2026-01 +invoice-modern 0:c9046f7a37ad 0.13 description +invoice-modern 0:32e8369a9c4f 0.13 qty +invoice-modern 0:385cfdbc00ec 0.13 unit +invoice-modern 0:cf38d95c9c6b 0.13 amount +invoice-modern 0:987c6297d0a9 0.31 discoveryworkshop +invoice-modern 0:532674c6eb89 0.31 gbp1,450 +invoice-modern 0:532674c6eb89#1 0.31 gbp1,450 +invoice-modern 0:08ec6deb1c40 0.36 templatearchitecture2 +invoice-modern 0:d2e67c4b1cca 0.36 gbp980 +invoice-modern 0:d6cdf6a05754 0.36 gbp1,960 +invoice-modern 0:fe13f8ee4f99 0.29 renderqa +invoice-modern 0:7e7398cbff7c 0.29 gbp320 +invoice-modern 0:e23164e940c7 0.29 gbp960 +invoice-modern 0:6047df51175c 0.34 developerenablement1 +invoice-modern 0:c2ad01ea64ae 0.34 gbp780 +invoice-modern 0:c2ad01ea64ae#1 0.34 gbp780 +invoice-modern 0:d6577e95efba 0.39 subtotal +invoice-modern 0:50cae0510231 0.39 gbp5,150 +invoice-modern 0:a52611c9261b 0.32 vat(20%) +invoice-modern 0:d7f4425b8b16 0.32 gbp1,030 +invoice-modern 0:11239872d178 0.45 total +invoice-modern 0:45a5ad5ad430 0.45 gbp6,180 +invoice-modern 0:ab5aa97074c4 0.57 notes +invoice-modern 0:b78eb53cbd11 0.60 •pleaseincludetheinvoicenumberon +invoice-modern 0:8c8fd62f15a7 0.61 yourremittanceadvice. +invoice-modern 0:0c98130c526f 0.50 •allworkwasdeliveredasagreed +invoice-modern 0:2e9787ed79bf 0.51 duringtheaprilimplementation +invoice-modern 0:e41212011d98 0.52 window. +invoice-modern 0:fb854bac39c8 0.57 paymentterms +invoice-modern 0:24274f39b50b 0.60 •paymentduewithin14calendardays. +invoice-modern 0:c438440ba377 0.61 •banktransferpreferred;contact +invoice-modern 0:434cc906ae90 0.50 billing@graphcompose.devfor +invoice-modern 0:8822ea375315 0.51 remittancedetails. +invoice-modern 0:1a7b5c840e25 0.52 •latepaymentsmaydelayadditional +invoice-modern 0:1631a06d245f 0.53 templatecustomizationwork. +invoice-modern 0:e3337beaa171 0.58 thankyouforchoosinggraphcomposef +invoice-modern_long 0:52d6e3de4fa0 0.18 invoice +invoice-modern_long 0:61a964e78950 0.31 invoicegc-2026-042issued04may202 +invoice-modern_long 0:62a2fed3d6e0 0.32 pending +invoice-modern_long 0:75857a458999 0.28 from +invoice-modern_long 0:c26c22b94338 0.23 graphcomposestudio +invoice-modern_long 0:2a08ce5567fb -0.07 18layoutstreet +invoice-modern_long 0:fbeea547d99e -0.14 london,uk +invoice-modern_long 0:faf1569a98e9 -0.22 ec1a4gc +invoice-modern_long 0:befc6e9b5c24 -0.17 billing@graphcompose.dev +invoice-modern_long 0:89674e6f130e -0.25 +442055551000 +invoice-modern_long 0:aeba3a7b3598 0.28 billto +invoice-modern_long 0:f890faef907f 0.23 northwindsystems +invoice-modern_long 0:1b405eb431ca -0.07 attn:financeteam +invoice-modern_long 0:91eefd794f79 -0.14 410marketavenue +invoice-modern_long 0:00a97da4e243 -0.22 manchester,uk +invoice-modern_long 0:62fcfa8745fc -0.17 ap@northwind.example +invoice-modern_long 0:2081a41a7764 -0.25 +441615552200 +invoice-modern_long 0:c9046f7a37ad 0.22 description +invoice-modern_long 0:32e8369a9c4f 0.22 qty +invoice-modern_long 0:385cfdbc00ec 0.22 unit +invoice-modern_long 0:cf38d95c9c6b 0.22 amount +invoice-modern_long 0:aa29f2f4fcb4 0.40 discoveryworkshop—sprint1 +invoice-modern_long 0:ce4081aef7a1 0.40 gbp180 +invoice-modern_long 0:ce4081aef7a1#1 0.40 gbp180 +invoice-modern_long 0:9c9a412f0a45 0.33 designsystemaudit—sprint1 +invoice-modern_long 0:7be809cb1590 0.33 gbp217 +invoice-modern_long 0:378b363c8601 0.33 gbp434 +invoice-modern_long 0:5257532a7b5d 0.38 templatearchitecture—sprint1 +invoice-modern_long 0:c467cca4e45a 0.38 gbp254 +invoice-modern_long 0:4a4a218b012a 0.38 gbp762 +invoice-modern_long 0:58a1caacbf7e 0.31 layoutenginetuning—sprint1 +invoice-modern_long 0:dde0144b97b7 0.31 gbp291 +invoice-modern_long 0:457a71636ad9 0.31 gbp1164 +invoice-modern_long 0:6fcf7d6dd606 0.36 renderqapass—sprint1 +invoice-modern_long 0:dda88f5786f5 0.36 gbp328 +invoice-modern_long 0:dda88f5786f5#1 0.36 gbp328 +invoice-modern_long 0:ee18ad3bbb42 0.41 accessibilityreview—sprint1 +invoice-modern_long 0:e681b4843ffb 0.41 gbp365 +invoice-modern_long 0:1859c20b35dd 0.41 gbp730 +invoice-modern_long 0:c12c14945fcd 0.34 fontpipelinesetup—sprint1 +invoice-modern_long 0:9033a33f66e7 0.34 gbp402 +invoice-modern_long 0:837d48c1ff40 0.34 gbp1206 +invoice-modern_long 0:af6cba848dc0 0.41 chartintegration—sprint1 +invoice-modern_long 0:6109a2c30104 0.41 gbp439 +invoice-modern_long 0:87e9fcb6151d 0.41 gbp1756 +invoice-modern_long 0:a6bee1ec5e35 0.34 datamapping—sprint1 +invoice-modern_long 0:df1f9d4443d8 0.34 gbp476 +invoice-modern_long 0:df1f9d4443d8#1 0.34 gbp476 +invoice-modern_long 0:052c9f49a4b8 0.39 paginationhardening—sprint1 +invoice-modern_long 0:9fba6332e489 0.39 gbp513 +invoice-modern_long 0:6f805c9f78c3 0.39 gbp1026 +invoice-modern_long 0:b54b7f77d86c 0.44 visualregressionwiring—sprint13 +invoice-modern_long 0:dc3d212d6b32 0.44 gbp550 +invoice-modern_long 0:96667fee53f3 0.44 gbp1650 +invoice-modern_long 0:9fe9e123b0f0 0.37 docsauthoring—sprint1 +invoice-modern_long 0:e7b406f24f04 0.37 gbp587 +invoice-modern_long 0:74357ca6b30e 0.37 gbp2348 +invoice-modern_long 0:9c6cf539f5bc 0.42 stakeholderdemo—sprint1 +invoice-modern_long 0:cf79b5cdb735 0.42 gbp624 +invoice-modern_long 0:cf79b5cdb735#1 0.42 gbp624 +invoice-modern_long 0:d2bde6642670 0.35 performanceprofiling—sprint1 +invoice-modern_long 0:679f017f73c1 0.35 gbp661 +invoice-modern_long 0:63985b524723 0.35 gbp1322 +invoice-modern_long 0:f82bef1ac80d 0.43 releaseengineering—sprint1 +invoice-modern_long 0:0b21b7cf2ff9 0.43 gbp698 +invoice-modern_long 0:6afc08056aaa 0.43 gbp2094 +invoice-modern_long 0:632f71e8ff8b 0.36 supportretainer—sprint1 +invoice-modern_long 0:70b393b5fb10 0.36 gbp735 +invoice-modern_long 0:29edf7588a57 0.36 gbp2940 +invoice-modern_long 0:82a9218b91ae 0.41 discoveryworkshop—sprint2 +invoice-modern_long 0:c313f34b71b9 0.41 gbp772 +invoice-modern_long 0:c313f34b71b9#1 0.41 gbp772 +invoice-modern_long 0:7e69fbffe3e2 0.46 designsystemaudit—sprint2 +invoice-modern_long 0:e096e4fddf9a 0.46 gbp809 +invoice-modern_long 0:c985a0123929 0.46 gbp1618 +invoice-modern_long 0:899f0392eecb 0.38 templatearchitecture—sprint2 +invoice-modern_long 0:4c973ddb9245 0.38 gbp846 +invoice-modern_long 0:6ec359ce3927 0.38 gbp2538 +invoice-modern_long 0:69523ba7402c 0.43 layoutenginetuning—sprint2 +invoice-modern_long 0:0e196c2b490b 0.43 gbp883 +invoice-modern_long 0:6e0d19ab72c6 0.43 gbp3532 +invoice-modern_long 1:c9046f7a37ad 0.38 description +invoice-modern_long 1:32e8369a9c4f 0.38 qty +invoice-modern_long 1:385cfdbc00ec 0.38 unit +invoice-modern_long 1:cf38d95c9c6b 0.38 amount +invoice-modern_long 1:f12cbb7c274d 0.53 renderqapass—sprint2 +invoice-modern_long 1:b813c73bc488 0.53 gbp920 +invoice-modern_long 1:b813c73bc488#1 0.53 gbp920 +invoice-modern_long 1:12cd54b50187 0.48 accessibilityreview—sprint2 +invoice-modern_long 1:377d92702316 0.48 gbp957 +invoice-modern_long 1:e7c66f6cf477 0.48 gbp1914 +invoice-modern_long 1:e3d8409ace07 0.53 fontpipelinesetup—sprint2 +invoice-modern_long 1:21604b8f0b36 0.53 gbp994 +invoice-modern_long 1:fe15ed444063 0.53 gbp2982 +invoice-modern_long 1:ca4d3c8eca22 0.46 chartintegration—sprint2 +invoice-modern_long 1:a4c7a6612c99 0.46 gbp1031 +invoice-modern_long 1:1c83f0b47e27 0.46 gbp4124 +invoice-modern_long 1:00de69c6e70f 0.51 datamapping—sprint2 +invoice-modern_long 1:b9d5c56a2cfd 0.51 gbp1068 +invoice-modern_long 1:b9d5c56a2cfd#1 0.51 gbp1068 +invoice-modern_long 1:eb628b5ea8ab 0.56 paginationhardening—sprint2 +invoice-modern_long 1:db5327b47d0e 0.56 gbp205 +invoice-modern_long 1:99d9b3b49da2 0.56 gbp410 +invoice-modern_long 1:505693cbc91e 0.49 visualregressionwiring—sprint23 +invoice-modern_long 1:9f0c5094fb63 0.49 gbp242 +invoice-modern_long 1:095b72c9d880 0.49 gbp726 +invoice-modern_long 1:2a787e61730a 0.54 docsauthoring—sprint2 +invoice-modern_long 1:28ad00e76aef 0.54 gbp279 +invoice-modern_long 1:fbb12fed0bbc 0.54 gbp1116 +invoice-modern_long 1:5369a2c40ff8 0.50 stakeholderdemo—sprint2 +invoice-modern_long 1:16562cbcd318 0.50 gbp316 +invoice-modern_long 1:16562cbcd318#1 0.50 gbp316 +invoice-modern_long 1:611b258cb41e 0.55 performanceprofiling—sprint2 +invoice-modern_long 1:e391d4e46366 0.55 gbp353 +invoice-modern_long 1:7106c00cb009 0.55 gbp706 +invoice-modern_long 1:d24a15800df1 0.48 releaseengineering—sprint2 +invoice-modern_long 1:4bed9b4092ee 0.48 gbp390 +invoice-modern_long 1:ae16cd1e31b1 0.48 gbp1170 +invoice-modern_long 1:6876c7b0fe66 0.53 supportretainer—sprint2 +invoice-modern_long 1:909481a45a34 0.53 gbp427 +invoice-modern_long 1:4e58d78d0958 0.53 gbp1708 +invoice-modern_long 1:ddce236bccd7 0.58 discoveryworkshop—sprint3 +invoice-modern_long 1:f8d17c11d834 0.58 gbp464 +invoice-modern_long 1:f8d17c11d834#1 0.58 gbp464 +invoice-modern_long 1:c0986cd7b1d4 0.51 designsystemaudit—sprint3 +invoice-modern_long 1:09c7aebd89f6 0.51 gbp501 +invoice-modern_long 1:a61c7b6bdd20 0.51 gbp1002 +invoice-modern_long 1:21fd82d170b2 0.58 templatearchitecture—sprint3 +invoice-modern_long 1:399e39a6eff5 0.58 gbp538 +invoice-modern_long 1:81ea39164f41 0.58 gbp1614 +invoice-modern_long 1:47cb1e683e8d 0.51 layoutenginetuning—sprint3 +invoice-modern_long 1:f6df6e8e8f30 0.51 gbp575 +invoice-modern_long 1:7f7db0f4c1cf 0.51 gbp2300 +invoice-modern_long 1:608e31719f07 0.56 renderqapass—sprint3 +invoice-modern_long 1:e4fbc626999e 0.56 gbp612 +invoice-modern_long 1:e4fbc626999e#1 0.56 gbp612 +invoice-modern_long 1:98bfb4deb0b7 0.61 accessibilityreview—sprint3 +invoice-modern_long 1:7915a839b285 0.61 gbp649 +invoice-modern_long 1:ca74221d78ad 0.61 gbp1298 +invoice-modern_long 1:375dddcbee43 0.54 fontpipelinesetup—sprint3 +invoice-modern_long 1:7b97f0ac8a87 0.54 gbp686 +invoice-modern_long 1:6a57f6a84a1c 0.54 gbp2058 +invoice-modern_long 1:2f4f507058ff 0.59 chartintegration—sprint3 +invoice-modern_long 1:74df855b318c 0.59 gbp723 +invoice-modern_long 1:78016cdf49ca 0.59 gbp2892 +invoice-modern_long 1:d6577e95efba 0.52 subtotal +invoice-modern_long 1:5969b6461056 0.52 gbp44,890 +invoice-modern_long 1:a52611c9261b 0.60 vat(20%) +invoice-modern_long 1:e7fda33332e9 0.60 gbp8,978 +invoice-modern_long 1:11239872d178 0.61 total +invoice-modern_long 1:90b9dec01ea9 0.61 gbp53,868 +invoice-modern_long 1:ab5aa97074c4 0.71 notes +invoice-modern_long 1:970fb4bf9d95 0.74 •sprints1-3weredeliveredunderthe +invoice-modern_long 1:a781fa6c76d2 0.75 frameworkagreement. +invoice-modern_long 1:c980fb1ebf98 0.76 •hardwareandthird-partylicencesa +invoice-modern_long 1:be1dea5817a5 0.77 billedseparately. +invoice-modern_long 1:fb854bac39c8 0.71 paymentterms +invoice-modern_long 1:24274f39b50b 0.74 •paymentduewithin14calendardays. +invoice-modern_long 1:c438440ba377 0.75 •banktransferpreferred;contact +invoice-modern_long 1:434cc906ae90 0.76 billing@graphcompose.devfor +invoice-modern_long 1:8822ea375315 0.77 remittancedetails. +invoice-modern_long 1:e3337beaa171 0.81 thankyouforchoosinggraphcomposef +invoice-obsidian 0:07f15cde5b18 0.11 kestrel +invoice-obsidian 0:52d6e3de4fa0 0.15 invoice +invoice-obsidian 0:5d1d1b79af09 -0.01 invoicenumber +invoice-obsidian 0:3e62d1fbe5ec 0.06 inv-2026-1048 +invoice-obsidian 0:3e62d1fbe5ec#1 0.24 inv-2026-1048 +invoice-obsidian 0:8feaf8016bab 0.08 issuedate +invoice-obsidian 0:4d49cb78b810 0.08 27august2026 +invoice-obsidian 0:ac10f8c16320 -0.03 duedate +invoice-obsidian 0:b55571aaabac -0.03 10september2026 +invoice-obsidian 0:fb854bac39c8 -0.04 paymentterms +invoice-obsidian 0:56a2e019b8aa -0.04 14days +invoice-obsidian 0:466e5b9cd57f -0.17 currency +invoice-obsidian 0:54f8e1b3fe44 -0.17 gbp +invoice-obsidian 0:75857a458999 -0.25 from +invoice-obsidian 0:7d7385ecfbd9 -0.21 kestrelbusiness +invoice-obsidian 0:7d7385ecfbd9#1 0.27 kestrelbusiness +invoice-obsidian 0:7d7385ecfbd9#2 0.63 kestrelbusiness +invoice-obsidian 0:5f51304df361 -0.29 7harboursidewalk +invoice-obsidian 0:895a6b59f677 -0.32 bristolbs15ty +invoice-obsidian 0:2474519f77a9 -0.23 unitedkingdom +invoice-obsidian 0:2474519f77a9#1 -0.23 unitedkingdom +invoice-obsidian 0:70ec69d2102f -0.25 ar@kestrel.example +invoice-obsidian 0:70ec69d2102f#1 0.56 ar@kestrel.example +invoice-obsidian 0:aeba3a7b3598 -0.25 billto +invoice-obsidian 0:7bfc2b791f41 -0.21 northlineconsultingltd +invoice-obsidian 0:13dd937d2fe6 -0.29 21jubileeway +invoice-obsidian 0:f9bab6a0b45b -0.32 londonse13ss +invoice-obsidian 0:c9046f7a37ad -1.69 description +invoice-obsidian 0:32e8369a9c4f -1.69 qty +invoice-obsidian 0:d1062d072acd -1.69 unitprice +invoice-obsidian 0:a52611c9261b -1.69 vat(20%) +invoice-obsidian 0:a52611c9261b#1 0.56 vat(20%) +invoice-obsidian 0:cf38d95c9c6b -1.69 amount +invoice-obsidian 0:15345cbad705 -0.02 subscriptionsetup +invoice-obsidian 0:5100476d46bb -0.04 one-offaccountandworkspacesetup +invoice-obsidian 0:507f9f133059 -0.11 £150.00 +invoice-obsidian 0:893d7480f763 -0.11 £30.00 +invoice-obsidian 0:893d7480f763#1 -0.30 £30.00 +invoice-obsidian 0:629184210581 -0.11 £180.00 +invoice-obsidian 0:3e8060178bc4 -0.04 internationalpaymentsupport +invoice-obsidian 0:33e4ab51097e -0.07 monthlysupportforcross-borderpay +invoice-obsidian 0:96d6b62c061d -0.25 £250.00 +invoice-obsidian 0:70d5b1312085 -0.25 £50.00 +invoice-obsidian 0:d86642b21e53 -0.25 £300.00 +invoice-obsidian 0:9399cf3b221a -0.17 expensemanagementintegration +invoice-obsidian 0:da2890c99f7a -0.19 apiaccessandintegration +invoice-obsidian 0:372ba7238228 -0.26 £200.00 +invoice-obsidian 0:05c6a4f7132f -0.26 £40.00 +invoice-obsidian 0:853580239989 -0.26 £240.00 +invoice-obsidian 0:ba80be228223 -0.19 virtualcards +invoice-obsidian 0:eae2564ef311 -0.21 50virtualcards +invoice-obsidian 0:cf02270203a4 -0.28 £100.00 +invoice-obsidian 0:33b5fc913817 -0.28 £20.00 +invoice-obsidian 0:8aec54fdb1a1 -0.28 £120.00 +invoice-obsidian 0:cc29e90932c5 -0.21 businessaccountmaintenance +invoice-obsidian 0:f1254de1a1d4 -0.24 monthlyaccountmaintenancefee +invoice-obsidian 0:8bf9ac7b27bd -0.30 £6.00 +invoice-obsidian 0:bff295cd3f97 -0.30 £36.00 +invoice-obsidian 0:d6577e95efba 0.66 subtotal +invoice-obsidian 0:4595e1b34cb1 0.61 £730.00 +invoice-obsidian 0:eafa82a0eadf 0.62 £146.00 +invoice-obsidian 0:57a66d21eb1b 0.51 totaldue +invoice-obsidian 0:ad3ba615a506 0.61 £876.00 +invoice-obsidian 0:ab5aa97074c4 0.36 notes +invoice-obsidian 0:0956d8d0441d 0.45 thankyouforchoosingkestrelbusine +invoice-obsidian 0:0b4d6f0e8783 0.47 thisinvoicecoversservicesandfeat +invoice-obsidian 0:02e483554647 0.50 toyourbusinessasofthedateofissue +invoice-obsidian 0:b439106fc5a1 0.40 ifyouhaveanyquestionsaboutthisin +invoice-obsidian 0:877ac656a147 0.42 pleasecontactusatar@kestrel.exam +invoice-obsidian 0:3c7ade679fdf 0.36 paymentdetails +invoice-obsidian 0:473fbeedb47c -0.19 pleasepaybybanktransfer +invoice-obsidian 0:59f2b74175d7 -0.22 totheaccountbelow. +invoice-obsidian 0:811f691f5582 0.33 payee +invoice-obsidian 0:10aeacde20ff 0.37 sortcode +invoice-obsidian 0:a748c443f622 0.30 04-00-75 +invoice-obsidian 0:f92a9c925024 0.39 accountnumber +invoice-obsidian 0:ef797c8118f0 0.33 12345678 +invoice-obsidian 0:52367a6622b1 0.31 reference +invoice-obsidian 0:7c6ab37d83ef 0.65 thankyouforyourbusiness. +invoice-obsidian 0:a97667f07d1b 0.58 paymentisdueby10september2026. +invoice-obsidian 0:7b14b8d2c5c4 0.10 page1of1 +invoice-payments 0:b6c4ac412ac8 0.00 meridian +invoice-payments 0:52d6e3de4fa0 0.05 invoice +invoice-payments 0:c0cc75b9cfdc -0.19 meridianpaymentsltd. +invoice-payments 0:c0cc75b9cfdc#1 0.77 meridianpaymentsltd. +invoice-payments 0:5eeaa101da6c -0.13 1harbourexchange +invoice-payments 0:e3f6090f249b -0.17 canarywharf +invoice-payments 0:1bb9adbf32ff -0.20 londone149ge +invoice-payments 0:2474519f77a9 -0.24 unitedkingdom +invoice-payments 0:2474519f77a9#1 0.19 unitedkingdom +invoice-payments 0:2474519f77a9#2 0.19 unitedkingdom +invoice-payments 0:e89d810f7944 -0.31 companyno.09048900 +invoice-payments 0:a3052fe78c6e -0.28 vatno.gb123456789 +invoice-payments 0:5d1d1b79af09 -0.08 invoicenumber +invoice-payments 0:3d9e18bc1da9 -0.07 invoicedate +invoice-payments 0:9fb3dbb29042 -0.05 billingperiod +invoice-payments 0:acc0140cb66d -0.03 accountid +invoice-payments 0:fb854bac39c8 -0.13 paymentterms +invoice-payments 0:ac10f8c16320 -0.12 duedate +invoice-payments 0:073c1634c496 -0.10 status +invoice-payments 0:052ff4dff688 0.08 inv-2025-05-10472 +invoice-payments 0:052ff4dff688#1 0.56 inv-2025-05-10472 +invoice-payments 0:23a4c624cbda 0.10 10may2025 +invoice-payments 0:7b052c343b27 0.11 1-30april2025 +invoice-payments 0:018052c1dd59 0.13 acct_4q8xtb2mkp +invoice-payments 0:98ec3d1fd5b9 0.15 net30 +invoice-payments 0:1ade0cb4877f 0.16 14june2025 +invoice-payments 0:e66d03af0bf1 0.14 unpaid +invoice-payments 0:aeba3a7b3598 0.16 billto +invoice-payments 0:98997fb707ef 0.19 northwindltd. +invoice-payments 0:98997fb707ef#1 0.19 northwindltd. +invoice-payments 0:834834123752 0.16 attention:financeteam +invoice-payments 0:76b6fd2080ed 0.15 42bridgewaterstreet +invoice-payments 0:e031db0583eb 0.23 manchesterm154qt +invoice-payments 0:23f3489a1043 0.15 vatno.gb987654321 +invoice-payments 0:725a8f5062e7 0.16 shipto +invoice-payments 0:9976f2392d8c 0.16 operationscentre +invoice-payments 0:fc0e113402c7 0.15 7kingswaypark +invoice-payments 0:a72c3f2308ed 0.23 leedsls126bd +invoice-payments 0:c9046f7a37ad 0.33 description +invoice-payments 0:1a7b308d8df6 0.33 quantity +invoice-payments 0:d1062d072acd 0.33 unitprice +invoice-payments 0:7c512b48ba8a 0.33 vat +invoice-payments 0:2da123241332 0.33 amount(gbp) +invoice-payments 0:3ab6c1099bcc 5.47 subscriptionbilling +invoice-payments 0:96d6b62c061d 0.54 £250.00 +invoice-payments 0:96d6b62c061d#1 0.50 £250.00 +invoice-payments 0:dc934fe30a94 0.54 20% +invoice-payments 0:dc934fe30a94#1 0.47 20% +invoice-payments 0:dc934fe30a94#2 0.51 20% +invoice-payments 0:dc934fe30a94#3 0.51 20% +invoice-payments 0:dc934fe30a94#4 0.51 20% +invoice-payments 0:dc934fe30a94#5 0.62 20% +invoice-payments 0:0a9acaea6477 5.52 paymentprocessing +invoice-payments 0:351704ebff51 0.47 £1,180.00 +invoice-payments 0:351704ebff51#1 0.54 £1,180.00 +invoice-payments 0:b3bc34f90a55 0.48 fraudscreening +invoice-payments 0:ed051c6a1942 0.52 advancedfraudscreeningandrules +invoice-payments 0:a0a787efd867 0.51 £320.00 +invoice-payments 0:a0a787efd867#1 0.46 £320.00 +invoice-payments 0:34b75c1d0234 0.48 companyformation +invoice-payments 0:bf45c494a8dc 0.52 incorporationandcompliancefiling +invoice-payments 0:629184210581 0.51 £180.00 +invoice-payments 0:629184210581#1 0.46 £180.00 +invoice-payments 0:9427a01801d2 0.48 in-personterminals +invoice-payments 0:882be821cf2e 0.52 terminalrentalandfirmwareupdates +invoice-payments 0:3c4459a5e4ec 0.51 £39.00 +invoice-payments 0:5d16afda896e 0.46 £156.00 +invoice-payments 0:0036ebf2cfb2 0.72 prioritysupport +invoice-payments 0:7ef1d2ff5e3a 0.76 namedengineer,one-hourresponse +invoice-payments 0:cf02270203a4 0.62 £100.00 +invoice-payments 0:cf02270203a4#1 0.70 £100.00 +invoice-payments 0:3c7ade679fdf 0.85 paymentdetails +invoice-payments 0:182748d2fece 0.93 bankname +invoice-payments 0:758f4a6f175f 0.87 accountname +invoice-payments 0:10aeacde20ff 0.90 sortcode +invoice-payments 0:f92a9c925024 0.93 accountnumber +invoice-payments 0:d53cd2cae33d 0.96 iban +invoice-payments 0:3f695692d5f1 0.99 swift/bic +invoice-payments 0:52367a6622b1 1.02 reference +invoice-payments 0:c66da4639881 0.95 harbourbankplc +invoice-payments 0:2cd71c3c2603 0.80 40-02-50 +invoice-payments 0:8fb8a81278c4 0.71 71295408 +invoice-payments 0:48617b6d05d4 0.62 gb29hrbk40025071295408 +invoice-payments 0:6929e6db6e1f 0.65 hrbkgb2l +invoice-payments 0:e4c4788968b2 0.90 subtotal(excl.vat) +invoice-payments 0:7ed180496d4e 0.97 vatat20% +invoice-payments 0:751cbab81a3a 1.09 £2,186.00 +invoice-payments 0:9a5256946abd 1.16 £437.20 +invoice-payments 0:57a66d21eb1b 1.01 totaldue +invoice-payments 0:5eb0b17220fa 0.99 dueby14june2025 +invoice-payments 0:30d896eb989f 0.76 £2,623.20 +invoice-payments 0:ab5aa97074c4 1.13 notes +invoice-payments 0:241bcf576ac5 1.16 thankyouforyourbusiness.thisinvo +invoice-payments 0:f912ca46bf39 1.10 latepaymentmayincurinterestatthe +invoice-payments 0:73a09fec2c1a 1.10 paymentdueby14june2025 +invoice-payments 0:79df6c5bbc16 1.10 pleaseincludetheinvoicenumberasp +invoice-payments 0:28b3008f693b 1.15 questions?we'reheretohelp. +invoice-payments 0:5b88ed40a689 1.16 support@meridianpayments.example +invoice-payments 0:2e3891f6ba2f 1.14 39661900 +invoice-payments 0:7b14b8d2c5c4 0.06 page1of1 +invoice-platform 0:9817f28442bf -0.07 auroracloud +invoice-platform 0:9817f28442bf#1 -0.46 auroracloud +invoice-platform 0:52d6e3de4fa0 0.18 invoice +invoice-platform 0:1cf61cdc6464 -0.14 auroracloudinc. +invoice-platform 0:1cf61cdc6464#1 0.02 auroracloudinc. +invoice-platform 0:1cf61cdc6464#2 -0.43 auroracloudinc. +invoice-platform 0:43315277b007 -0.38 500harbourstreet +invoice-platform 0:d9065bfb8f59 -0.33 vancouver,bcv6c2w2 +invoice-platform 0:408c7c5887a0 -0.41 canada +invoice-platform 0:88a643f14708 0.06 aurora.example +invoice-platform 0:f2cfc804c0f3 0.07 billing@aurora.example +invoice-platform 0:f2cfc804c0f3#1 0.05 billing@aurora.example +invoice-platform 0:799715f2b96e 0.09 +1604-555-0180 +invoice-platform 0:719c55c7e988 -0.46 vatid:cabn842137755 +invoice-platform 0:6282391a4cc1 -0.29 invoicenumber: +invoice-platform 0:3ad2bd3ce9fc -0.29 inv-2026-07-31-9f4k2m +invoice-platform 0:8d05f5d55191 -0.30 invoicedate: +invoice-platform 0:52c8b7a9ee5f -0.30 31july2026 +invoice-platform 0:0e0fb0fc0939 -0.32 duedate: +invoice-platform 0:6a077b4f161e -0.32 30august2026 +invoice-platform 0:6a077b4f161e#1 -0.15 30august2026 +invoice-platform 0:e26e182e1141 -0.35 billingaccountid: +invoice-platform 0:6d4b27b68226 -0.35 7c2d9e-b1f4a8-3k6m0p +invoice-platform 0:d39366fa1423 -0.37 billingperiod: +invoice-platform 0:3e380076ca84 -0.37 01jul2026–31jul2026 +invoice-platform 0:18e2cca1098e -0.40 paymentterms: +invoice-platform 0:c6af9fc633ee -0.40 net30days +invoice-platform 0:967e0b6ca4b9 -0.42 currency: +invoice-platform 0:2afe5e26e9c8 -0.42 cad +invoice-platform 0:aeba3a7b3598 -0.41 billto +invoice-platform 0:45fe04dbae24 -0.49 brightfutureltd. +invoice-platform 0:45fe04dbae24#1 -0.39 brightfutureltd. +invoice-platform 0:65405af34bf9 -0.27 45kingstreet +invoice-platform 0:1f8da9c4e269 -0.34 manchester,m24wu +invoice-platform 0:1f8da9c4e269#1 -0.43 manchester,m24wu +invoice-platform 0:2474519f77a9 -0.41 unitedkingdom +invoice-platform 0:2474519f77a9#1 -0.38 unitedkingdom +invoice-platform 0:c7a9cfdd1c55 -0.44 vatid:gb987654321 +invoice-platform 0:725a8f5062e7 -0.36 shipto +invoice-platform 0:5895c7cd8d5b -0.29 warehouse7 +invoice-platform 0:caf76743df2d -0.36 northindustrialestate +invoice-platform 0:c9046f7a37ad -0.19 description +invoice-platform 0:9df6b026a8c6 -0.19 service +invoice-platform 0:c697d2981bf4 -0.19 region +invoice-platform 0:0a4e4c29432e -0.19 usage +invoice-platform 0:965711fdf178 -0.19 unitprice(cad) +invoice-platform 0:1742adf77d8c -0.19 amount(cad) +invoice-platform 0:b04a12f6483e -0.19 compute +invoice-platform 0:a2cd33d50126 -0.19 ca-central1 +invoice-platform 0:a2cd33d50126#1 -0.14 ca-central1 +invoice-platform 0:a2cd33d50126#2 -0.23 ca-central1 +invoice-platform 0:ff5f15700bca -0.24 744.00 +invoice-platform 0:ff5f15700bca#1 -0.17 744.00 +invoice-platform 0:404314b1f4bd -0.25 hours +invoice-platform 0:404314b1f4bd#1 -0.17 hours +invoice-platform 0:456fa3bce642 -0.19 0.0685 +invoice-platform 0:4249970361b2 -0.19 50.96 +invoice-platform 0:f13d9c7c6f89 -0.23 computeinstances +invoice-platform 0:524b18673a85 -0.13 n2standardvm +invoice-platform 0:49a25f9feefa -0.14 storage +invoice-platform 0:f58bef646914 -0.21 480.00 +invoice-platform 0:089bbc1623e2 -0.14 0.0210 +invoice-platform 0:782fd1b0f47e -0.14 10.08 +invoice-platform 0:721ffa554e56 -0.20 objectstorage +invoice-platform 0:b3223a301c5f -0.21 standardclass +invoice-platform 0:3549b0028b75 -0.23 database +invoice-platform 0:ae96e95d52ac -0.23 0.1385 +invoice-platform 0:2ff58dbe7993 -0.23 103.04 +invoice-platform 0:8152fd217e12 -0.27 manageddatabase +invoice-platform 0:3500adb3c8a1 -0.18 postgresqlinstance +invoice-platform 0:3009be769fb8 -0.20 network +invoice-platform 0:8001c2743965 -0.20 global +invoice-platform 0:8001c2743965#1 -0.17 global +invoice-platform 0:3f6ae649df50 -0.14 260.00 +invoice-platform 0:7775158f6d3a -0.20 0.0860 +invoice-platform 0:f7650feb3574 -0.20 22.36 +invoice-platform 0:444858f5bf18 -0.24 egresstraffic +invoice-platform 0:8b72bb875a83 -0.15 datatransferout +invoice-platform 0:a18603086e5b -0.17 support +invoice-platform 0:561b2814d3c0 -0.17 0.00 +invoice-platform 0:561b2814d3c0#1 -0.17 0.00 +invoice-platform 0:efa8771baad9 -0.22 supportplan +invoice-platform 0:9e81cd6e653a -0.12 standardresponse +invoice-platform 0:13000a5d442c -0.15 paymentinformation +invoice-platform 0:944d398aea60 0.00 bankname: +invoice-platform 0:d6c3cea2e943 0.00 harbourbankofcanada +invoice-platform 0:0ecb5847ffa7 0.02 accountname: +invoice-platform 0:6b4894c28363 0.00 accountnumber: +invoice-platform 0:559c58c48948 0.00 417802336 +invoice-platform 0:555043320c0c -0.01 swiftcode: +invoice-platform 0:5a986aa9e713 -0.01 hbcacat1 +invoice-platform 0:e47c9313aced -0.02 transitnumber: +invoice-platform 0:20b565bff5c3 -0.02 00812 +invoice-platform 0:f1b1597830d6 0.08 institutionnumber: +invoice-platform 0:3c241d267414 0.08 049 +invoice-platform 0:4f657c67e41a 0.07 accounttype: +invoice-platform 0:7522b6a6c098 0.07 businesschequing +invoice-platform 0:fa0fbe194b51 0.05 remittanceemail: +invoice-platform 0:b3ec04f337ed -0.02 includeyourbillingaccountid +invoice-platform 0:a11a3e122422 -0.07 onyourpaymentremittance. +invoice-platform 0:d6577e95efba -0.15 subtotal +invoice-platform 0:6fb943a5640a -0.15 186.44 +invoice-platform 0:26a72d1933a2 -0.10 tax(5%) +invoice-platform 0:6c5bbecf6ec0 -0.10 9.32 +invoice-platform 0:57a66d21eb1b -0.27 totaldue +invoice-platform 0:17e16a2f994d -0.01 cad195.76 +invoice-platform 0:ac10f8c16320 -0.10 duedate +invoice-platform 0:d5ef7c1f9830 -0.36 thankyouforrunningonauroracloud. +invoice-platform 0:6a88f440b84e -0.42 manageyouraccountataurora.exampl +invoice-platform 0:cf0a1e1dc87b -0.47 500harbourstreet,vancouver,bcv6c +invoice-platform 0:7b14b8d2c5c4 0.11 page1of1 +invoice-subscription 0:435df6fdbffd 0.18 halstead +invoice-subscription 0:52d6e3de4fa0 0.16 invoice +invoice-subscription 0:0a36c1665b7e 0.31 halsteadsoftwareltd. +invoice-subscription 0:6bc2056359b7 0.30 18chandlerrow +invoice-subscription 0:776a7e9eb92a 0.31 leedsls14qt +invoice-subscription 0:2474519f77a9 0.31 unitedkingdom +invoice-subscription 0:2474519f77a9#1 -0.63 unitedkingdom +invoice-subscription 0:2474519f77a9#2 -0.63 unitedkingdom +invoice-subscription 0:bfdec553b85a 0.32 billing@halstead.example +invoice-subscription 0:78acb3cb907b 0.32 www.halstead.example +invoice-subscription 0:f1c030eb4329 0.43 vatnogb418227603 +invoice-subscription 0:77ead61b5875 -0.11 invoiceno +invoice-subscription 0:0b0c0ee24de8 0.34 hs-inv-2026-0417 +invoice-subscription 0:0b0c0ee24de8#1 0.56 hs-inv-2026-0417 +invoice-subscription 0:8feaf8016bab -0.04 issuedate +invoice-subscription 0:4d49cb78b810 0.41 27august2026 +invoice-subscription 0:ac10f8c16320 0.03 duedate +invoice-subscription 0:b55571aaabac 0.49 10september2026 +invoice-subscription 0:fb854bac39c8 0.11 paymentterms +invoice-subscription 0:56a2e019b8aa 0.44 14days +invoice-subscription 0:466e5b9cd57f 0.06 currency +invoice-subscription 0:54f8e1b3fe44 0.51 gbp +invoice-subscription 0:aeba3a7b3598 0.59 billto +invoice-subscription 0:7bfc2b791f41 -0.66 northlineconsultingltd +invoice-subscription 0:7bfc2b791f41#1 -0.66 northlineconsultingltd +invoice-subscription 0:bcb7024f74fe -0.65 attn:sarahmitchell +invoice-subscription 0:13dd937d2fe6 -0.64 21jubileeway +invoice-subscription 0:f9bab6a0b45b -0.64 londonse13ss +invoice-subscription 0:725a8f5062e7 0.59 shipto +invoice-subscription 0:254289ce0191 -0.65 thefoundry,2ndfloor +invoice-subscription 0:84db1f48facb -0.64 17-19greatsuffolkstreet +invoice-subscription 0:e7a5f0717d99 -0.64 londonse10ns +invoice-subscription 0:c9046f7a37ad -0.60 description +invoice-subscription 0:32e8369a9c4f -0.60 qty +invoice-subscription 0:d1062d072acd -0.60 unitprice +invoice-subscription 0:7c512b48ba8a -0.60 vat +invoice-subscription 0:cf38d95c9c6b -0.60 amount +invoice-subscription 0:86705447c73d -0.23 halsteadworkspacepremium(10seats +invoice-subscription 0:0c8dc980db3f -0.23 £18.00 +invoice-subscription 0:dc934fe30a94 -0.23 20% +invoice-subscription 0:dc934fe30a94#1 -0.16 20% +invoice-subscription 0:dc934fe30a94#2 0.05 20% +invoice-subscription 0:dc934fe30a94#3 0.12 20% +invoice-subscription 0:dc934fe30a94#4 0.31 20% +invoice-subscription 0:629184210581 -0.23 £180.00 +invoice-subscription 0:59df1d2b0f69 -0.16 hostedplatformservices +invoice-subscription 0:44c1ce3394d2 -0.16 £420.00 +invoice-subscription 0:44c1ce3394d2#1 -0.16 £420.00 +invoice-subscription 0:217bada1d20f 0.05 analyticsprolicences(5seats) +invoice-subscription 0:599cd58953ce 0.05 £8.40 +invoice-subscription 0:756b8c62fe05 0.05 £42.00 +invoice-subscription 0:b055bcc305ed 0.12 prioritysupportplan +invoice-subscription 0:1077d7cede59 0.12 £275.00 +invoice-subscription 0:1077d7cede59#1 0.12 £275.00 +invoice-subscription 0:361537ef6a11 0.31 voiceadd-on(5seats) +invoice-subscription 0:8bf9ac7b27bd 0.31 £6.00 +invoice-subscription 0:893d7480f763 0.31 £30.00 +invoice-subscription 0:ab5aa97074c4 0.56 notes +invoice-subscription 0:4440ed73b83f 1.36 thisinvoicecoverssoftwaresubscri +invoice-subscription 0:fffc319556fa 1.36 hostedservicesforthecurrentbilli +invoice-subscription 0:d6577e95efba 0.45 subtotal +invoice-subscription 0:adde9b2bd3ad 0.45 £947.00 +invoice-subscription 0:a52611c9261b 0.41 vat(20%) +invoice-subscription 0:14edcfc20351 0.41 £189.40 +invoice-subscription 0:57a66d21eb1b 0.50 totaldue +invoice-subscription 0:cf1b68cc49ef 0.59 £1,136.40 +invoice-subscription 0:3c7ade679fdf 1.81 paymentdetails +invoice-subscription 0:56ed021beb35 0.62 beneficiary +invoice-subscription 0:0b85f3c8ed04 0.56 halsteadsoftwareltd +invoice-subscription 0:4381dc2ab142 0.62 bank +invoice-subscription 0:6d50b2dd724f 0.56 northgatebank +invoice-subscription 0:10aeacde20ff 0.62 sortcode +invoice-subscription 0:b19b1415ef9b 0.56 40-05-30 +invoice-subscription 0:f92a9c925024 0.62 accountnumber +invoice-subscription 0:ef797c8118f0 0.56 12345678 +invoice-subscription 0:52367a6622b1 0.62 reference +invoice-subscription 0:04f7247e8e99 0.62 pleaseincludetheinvoicenumberast +invoice-subscription 0:7c6ab37d83ef 0.65 thankyouforyourbusiness. +invoice-subscription 0:354ffeb2bbc3 0.55 paymentisdueby10september2026.if +invoice-subscription 0:7f7d98088133 0.57 foranyqueries,pleasecontactbilli +invoice-subscription 0:7b14b8d2c5c4 0.09 page1of1 +invoice-workspace 0:07f15cde5b18 -0.12 kestrel +invoice-workspace 0:07f15cde5b18#1 1.66 kestrel +invoice-workspace 0:52d6e3de4fa0 -0.10 invoice +invoice-workspace 0:091019880d88 -0.31 kestrelcollaboration,inc. +invoice-workspace 0:091019880d88#1 1.26 kestrelcollaboration,inc. +invoice-workspace 0:091019880d88#2 1.50 kestrelcollaboration,inc. +invoice-workspace 0:9167e0470dae -0.22 500howardstreet,6thfloor +invoice-workspace 0:efa5e1529794 -0.26 sanfrancisco,ca94105 +invoice-workspace 0:fd7321c405f8 -0.17 unitedstates +invoice-workspace 0:d3c6f273c22d -0.14 vatid:us77-0560185 +invoice-workspace 0:6282391a4cc1 -0.30 invoicenumber: +invoice-workspace 0:b13757c9a6fc -0.21 inv-2024-0003521 +invoice-workspace 0:b13757c9a6fc#1 1.07 inv-2024-0003521 +invoice-workspace 0:8d05f5d55191 -0.33 invoicedate: +invoice-workspace 0:8da43dd45024 -0.23 27may2024 +invoice-workspace 0:d39366fa1423 -0.23 billingperiod: +invoice-workspace 0:ec09225090a8 -0.26 1-31may2024 +invoice-workspace 0:23513511df83 -0.26 workspaceid: +invoice-workspace 0:1179fb658a97 -0.17 t04fq9l2m +invoice-workspace 0:18e2cca1098e -0.16 paymentterms: +invoice-workspace 0:98ec3d1fd5b9 -0.19 net30 +invoice-workspace 0:0e0fb0fc0939 -0.19 duedate: +invoice-workspace 0:f1e2a60122bd -0.10 26june2024 +invoice-workspace 0:f1e2a60122bd#1 0.25 26june2024 +invoice-workspace 0:aeba3a7b3598 -0.12 billto +invoice-workspace 0:45fe04dbae24 -0.11 brightfutureltd. +invoice-workspace 0:45fe04dbae24#1 -0.11 brightfutureltd. +invoice-workspace 0:65405af34bf9 -0.14 45kingstreet +invoice-workspace 0:494f1a937311 -0.10 manchesterm27az +invoice-workspace 0:2474519f77a9 -0.05 unitedkingdom +invoice-workspace 0:2474519f77a9#1 -0.05 unitedkingdom +invoice-workspace 0:c7a9cfdd1c55 -0.05 vatid:gb987654321 +invoice-workspace 0:725a8f5062e7 -0.12 shipto +invoice-workspace 0:6d835e737af6 -0.14 unit4,riversidepark +invoice-workspace 0:555d5194cd4d -0.10 leedsls14ap +invoice-workspace 0:c9046f7a37ad 0.28 description +invoice-workspace 0:169240d91658 0.28 plan/service +invoice-workspace 0:32e8369a9c4f 0.28 qty +invoice-workspace 0:e2a9c81da5f6 0.28 unitprice(usd) +invoice-workspace 0:5dfb966b2bcf 0.28 amount(usd) +invoice-workspace 0:2bcc555090a1 0.49 kestrelbusiness+ +invoice-workspace 0:68fad867a983 0.54 workspacesubscription +invoice-workspace 0:e0b844887562 0.42 business+annual +invoice-workspace 0:84906b0f4b73 0.42 50users +invoice-workspace 0:5ee31a6284bc 0.42 8.75 +invoice-workspace 0:843d501d422c 0.42 437.50 +invoice-workspace 0:3007667b4e18 0.51 enterprisekeymanagement +invoice-workspace 0:162e9c93c528 0.56 customer-managedencryptionkeys +invoice-workspace 0:a33a54a73112 0.44 add-on +invoice-workspace 0:d66c66a96157 0.44 100.00 +invoice-workspace 0:d66c66a96157#1 0.44 100.00 +invoice-workspace 0:0036ebf2cfb2 0.39 prioritysupport +invoice-workspace 0:51833276172f 0.44 namedengineerandresponsetarget +invoice-workspace 0:fe6d3468cf5c 0.44 standard +invoice-workspace 0:a99210875f11 0.44 50.00 +invoice-workspace 0:a99210875f11#1 0.44 50.00 +invoice-workspace 0:14209e8ccd53 0.63 workflowautomation +invoice-workspace 0:31be3ff05457 0.68 templatesandscheduledruns +invoice-workspace 0:7f0f70e643bc 0.56 included +invoice-workspace 0:561b2814d3c0 0.56 0.00 +invoice-workspace 0:561b2814d3c0#1 0.56 0.00 +invoice-workspace 0:561b2814d3c0#2 0.81 0.00 +invoice-workspace 0:3c7ade679fdf 1.19 paymentdetails +invoice-workspace 0:944d398aea60 1.30 bankname: +invoice-workspace 0:a18e9fdf120e 1.30 bayunionbank,n.a. +invoice-workspace 0:0ecb5847ffa7 1.26 accountname: +invoice-workspace 0:6b4894c28363 1.22 accountnumber: +invoice-workspace 0:ab92799f9bc7 1.22 000000123456789 +invoice-workspace 0:c1390f638bd3 1.18 routing(aba): +invoice-workspace 0:1f873cdde0ca 1.18 021000021 +invoice-workspace 0:e58256751597 1.14 swift/bic: +invoice-workspace 0:0fdf54f117f8 1.14 bayuus33 +invoice-workspace 0:967e0b6ca4b9 1.11 currency: +invoice-workspace 0:d60fbd8718ec 1.11 usd +invoice-workspace 0:c608665436db 1.07 reference: +invoice-workspace 0:3db3fa89ea2c 1.03 bankaddress: +invoice-workspace 0:b1645851e755 1.03 1marketplaza,sanfrancisco +invoice-workspace 0:9b600d1211c8 1.90 pleaseincludetheinvoicenumberiny +invoice-workspace 0:415eb9e42f41 0.65 reference. +invoice-workspace 0:d6577e95efba 0.87 subtotal +invoice-workspace 0:460dd5bae888 0.87 587.50 +invoice-workspace 0:2ee4d3de4ddf 0.81 tax(0%) +invoice-workspace 0:57a66d21eb1b 0.82 totaldue +invoice-workspace 0:ad00e93ce79a 0.78 usd587.50 +invoice-workspace 0:b0553f008513 0.29 paymentdueby +invoice-workspace 0:08775a92bfca 1.48 thankyouforusingkestrel. +invoice-workspace 0:18e82fbd48a3 1.49 questionsaboutthisinvoice?reachu +invoice-workspace 0:3c72ba0e1eb8 1.48 500howardstreet,6thfloor,sanfran +invoice-workspace 0:9e2917e23527 1.49 kestrel.example +invoice-workspace 0:7b14b8d2c5c4 0.08 page1of1 +letter-blue_banner 0:8f1010120ed6 0.50 jordanrivera +letter-blue_banner 0:8f1010120ed6#1 0.08 jordanrivera +letter-blue_banner 0:8d7a2cca3060 -0.18 +442055551000|jordan.rivera@exam +letter-blue_banner 0:bef81b541365 -0.14 dearhiringteamatnorthwindsystems +letter-blue_banner 0:3e40124f0365 -0.40 iamexcitedtosharemyinterestinthe +letter-blue_banner 0:4b617288d627 -0.50 systemsthatbalancepublicapidesig +letter-blue_banner 0:b110d3af5609 -0.41 ienjoytranslatingfuzzyworkflowre +letter-blue_banner 0:eae27893a255 -0.39 therestoftheteam. +letter-blue_banner 0:a71e98216baa -0.05 iwouldwelcometheopportunitytobri +letter-blue_banner 0:80a6a628ad52 -0.08 sincerely, +letter-boxed_sections 0:8f1010120ed6 0.58 jordanrivera +letter-boxed_sections 0:8f1010120ed6#1 -0.35 jordanrivera +letter-boxed_sections 0:8d7a2cca3060 -0.10 +442055551000|jordan.rivera@exam +letter-boxed_sections 0:bef81b541365 -0.47 dearhiringteamatnorthwindsystems +letter-boxed_sections 0:ab54410ead82 -0.65 iamexcitedtosharemyinterestinthe +letter-boxed_sections 0:9185168d2cf8 -0.61 document-generationsystemsthatba +letter-boxed_sections 0:5fb2802723b6 -0.55 ienjoytranslatingfuzzyworkflowre +letter-boxed_sections 0:dab2d688b7ab -0.63 adoptioneasierfortherestofthetea +letter-boxed_sections 0:a71e98216baa -0.33 iwouldwelcometheopportunitytobri +letter-boxed_sections 0:80a6a628ad52 -0.40 sincerely, +letter-centered_headline 0:8f1010120ed6 0.16 jordanrivera +letter-centered_headline 0:8f1010120ed6#1 0.00 jordanrivera +letter-centered_headline 0:2d58f0cadc2d 0.15 platformengineer +letter-centered_headline 0:8d7a2cca3060 -0.25 +442055551000|jordan.rivera@exam +letter-centered_headline 0:bef81b541365 -0.19 dearhiringteamatnorthwindsystems +letter-centered_headline 0:ab54410ead82 -0.02 iamexcitedtosharemyinterestinthe +letter-centered_headline 0:9185168d2cf8 -0.03 document-generationsystemsthatba +letter-centered_headline 0:5fb2802723b6 0.01 ienjoytranslatingfuzzyworkflowre +letter-centered_headline 0:dab2d688b7ab 0.00 adoptioneasierfortherestofthetea +letter-centered_headline 0:a71e98216baa -0.07 iwouldwelcometheopportunitytobri +letter-centered_headline 0:80a6a628ad52 0.00 sincerely, +letter-classic_serif 0:8f1010120ed6 0.15 jordanrivera +letter-classic_serif 0:8f1010120ed6#1 0.03 jordanrivera +letter-classic_serif 0:8d7a2cca3060 0.25 +442055551000|jordan.rivera@exam +letter-classic_serif 0:bef81b541365 0.17 dearhiringteamatnorthwindsystems +letter-classic_serif 0:ab54410ead82 -0.09 iamexcitedtosharemyinterestinthe +letter-classic_serif 0:9185168d2cf8 -0.16 document-generationsystemsthatba +letter-classic_serif 0:a463bced3db2 -0.06 ienjoytranslatingfuzzyworkflowre +letter-classic_serif 0:dd474e249222 -0.13 makeadoptioneasierfortherestofth +letter-classic_serif 0:a71e98216baa 0.09 iwouldwelcometheopportunitytobri +letter-classic_serif 0:80a6a628ad52 0.08 sincerely, +letter-compact_mono 0:8f1010120ed6 0.37 jordanrivera +letter-compact_mono 0:8f1010120ed6#1 -0.04 jordanrivera +letter-compact_mono 0:f9e4560bd641 -0.28 london,uk/+442055551000/jordan.r +letter-compact_mono 0:bef81b541365 -0.06 dearhiringteamatnorthwindsystems +letter-compact_mono 0:1382a6e37675 -0.35 ienjoytranslatingfuzzyworkflowre +letter-compact_mono 0:d8e633770b49 -0.31 easierfortherestoftheteam. +letter-compact_mono 0:a71e98216baa -0.12 iwouldwelcometheopportunitytobri +letter-compact_mono 0:80a6a628ad52 -0.16 sincerely, +letter-editorial_blue 0:8f1010120ed6 0.44 jordanrivera +letter-editorial_blue 0:8f1010120ed6#1 0.22 jordanrivera +letter-editorial_blue 0:2d58f0cadc2d 0.23 platformengineer +letter-editorial_blue 0:1b28eb6a9a2e 0.12 +442055551000-london,uk +letter-editorial_blue 0:8817bf9310b6 0.19 jordan.rivera@example.com|linked +letter-editorial_blue 0:bef81b541365 0.26 dearhiringteamatnorthwindsystems +letter-editorial_blue 0:ab54410ead82 -0.14 iamexcitedtosharemyinterestinthe +letter-editorial_blue 0:9185168d2cf8 -0.09 document-generationsystemsthatba +letter-editorial_blue 0:0c42fe9f3491 -0.13 ienjoytranslatingfuzzyworkflowre +letter-editorial_blue 0:dda41d31bb3c -0.08 thatmakeadoptioneasierfortherest +letter-editorial_blue 0:a71e98216baa 0.24 iwouldwelcometheopportunitytobri +letter-editorial_blue 0:80a6a628ad52 0.19 sincerely, +letter-engineering_resume 0:8f1010120ed6 -0.04 jordanrivera +letter-engineering_resume 0:8f1010120ed6#1 -1.36 jordanrivera +letter-engineering_resume 0:2d58f0cadc2d -0.20 platformengineer +letter-engineering_resume 0:fbeea547d99e -0.19 london,uk +letter-engineering_resume 0:89674e6f130e -0.15 +442055551000 +letter-engineering_resume 0:e0f850305ded -0.09 jordan.rivera@example.com +letter-engineering_resume 0:84308bea4540 -0.05 linkedin +letter-engineering_resume 0:c0b0109d9439 -0.13 github +letter-engineering_resume 0:bef81b541365 -1.39 dearhiringteamatnorthwindsystems +letter-engineering_resume 0:c5331fbe74e1 -1.63 iamexcitedtosharemyinterestinthe +letter-engineering_resume 0:f27264b519fd -1.57 balancepublicapidesign,renderqua +letter-engineering_resume 0:b98ace48a28b -1.57 ienjoytranslatingfuzzyworkflowre +letter-engineering_resume 0:30edab94d52e -1.51 oftheteam. +letter-engineering_resume 0:a71e98216baa -1.27 iwouldwelcometheopportunitytobri +letter-engineering_resume 0:80a6a628ad52 -1.28 sincerely, +letter-executive 0:8f1010120ed6 0.12 jordanrivera +letter-executive 0:8f1010120ed6#1 0.02 jordanrivera +letter-executive 0:89ff05847e96 -0.24 london,uk|+442055551000 +letter-executive 0:8817bf9310b6 -0.28 jordan.rivera@example.com|linked +letter-executive 0:bef81b541365 -0.16 dearhiringteamatnorthwindsystems +letter-executive 0:ab54410ead82 0.09 iamexcitedtosharemyinterestinthe +letter-executive 0:9185168d2cf8 0.04 document-generationsystemsthatba +letter-executive 0:0c42fe9f3491 0.16 ienjoytranslatingfuzzyworkflowre +letter-executive 0:dda41d31bb3c 0.11 thatmakeadoptioneasierfortherest +letter-executive 0:7c5a9817c868 0.12 iwouldwelcometheopportunitytobri +letter-executive 0:4012eb4b05db 0.07 group. +letter-executive 0:80a6a628ad52 -0.02 sincerely, +letter-mint-editorial-letter 0:8f1010120ed6 -0.18 jordanrivera +letter-mint-editorial-letter 0:8f1010120ed6#1 0.09 jordanrivera +letter-mint-editorial-letter 0:2d58f0cadc2d 0.01 platformengineer +letter-mint-editorial-letter 0:bef81b541365 0.06 dearhiringteamatnorthwindsystems +letter-mint-editorial-letter 0:ab54410ead82 0.34 iamexcitedtosharemyinterestinthe +letter-mint-editorial-letter 0:9185168d2cf8 0.32 document-generationsystemsthatba +letter-mint-editorial-letter 0:a463bced3db2 0.24 ienjoytranslatingfuzzyworkflowre +letter-mint-editorial-letter 0:dd474e249222 0.22 makeadoptioneasierfortherestofth +letter-mint-editorial-letter 0:a71e98216baa 0.02 iwouldwelcometheopportunitytobri +letter-mint-editorial-letter 0:80a6a628ad52 0.09 sincerely, +letter-modern_professional 0:8f1010120ed6 0.18 jordanrivera +letter-modern_professional 0:8f1010120ed6#1 -0.12 jordanrivera +letter-modern_professional 0:89ff05847e96 0.14 london,uk|+442055551000 +letter-modern_professional 0:8817bf9310b6 0.09 jordan.rivera@example.com|linked +letter-modern_professional 0:bef81b541365 -0.07 dearhiringteamatnorthwindsystems +letter-modern_professional 0:c65db8c80e17 -0.46 iamexcitedtosharemyinterestinthe +letter-modern_professional 0:c8d01ef84078 -0.38 reusabledocument-generationsyste +letter-modern_professional 0:2e5ddee14dbc -0.41 ienjoytranslatingfuzzyworkflowre +letter-modern_professional 0:906501a5e847 -0.33 examplesthatmakeadoptioneasierfo +letter-modern_professional 0:7c5a9817c868 -0.48 iwouldwelcometheopportunitytobri +letter-modern_professional 0:4012eb4b05db -0.28 group. +letter-modern_professional 0:80a6a628ad52 -0.07 sincerely, +letter-monogram_sidebar 0:136c67657614 0.18 jordan +letter-monogram_sidebar 0:8ba35ebe3d5c 0.22 rivera +letter-monogram_sidebar 0:2d58f0cadc2d -0.20 platformengineer +letter-monogram_sidebar 0:8d7a2cca3060 -0.08 +442055551000|jordan.rivera@exam +letter-monogram_sidebar 0:bef81b541365 -0.10 dearhiringteamatnorthwindsystems +letter-monogram_sidebar 0:ab54410ead82 0.05 iamexcitedtosharemyinterestinthe +letter-monogram_sidebar 0:9185168d2cf8 0.02 document-generationsystemsthatba +letter-monogram_sidebar 0:a463bced3db2 0.05 ienjoytranslatingfuzzyworkflowre +letter-monogram_sidebar 0:dd474e249222 0.02 makeadoptioneasierfortherestofth +letter-monogram_sidebar 0:a71e98216baa -0.19 iwouldwelcometheopportunitytobri +letter-monogram_sidebar 0:80a6a628ad52 -0.14 sincerely, +letter-monogram_sidebar 0:8f1010120ed6 -0.14 jordanrivera +letter-nordic_clean 0:8f1010120ed6 -0.16 jordanrivera +letter-nordic_clean 0:8f1010120ed6#1 -0.15 jordanrivera +letter-nordic_clean 0:2d58f0cadc2d -0.18 platformengineer +letter-nordic_clean 0:fbeea547d99e -0.22 london,uk +letter-nordic_clean 0:89674e6f130e -0.16 +442055551000 +letter-nordic_clean 0:e0f850305ded -0.22 jordan.rivera@example.com +letter-nordic_clean 0:84308bea4540 -0.14 linkedin +letter-nordic_clean 0:c0b0109d9439 -0.08 github +letter-nordic_clean 0:bef81b541365 -0.10 dearhiringteamatnorthwindsystems +letter-nordic_clean 0:8d84d32bef54 -0.36 iamexcitedtosharemyinterestinthe +letter-nordic_clean 0:be14171d4555 -0.34 thatbalancepublicapidesign,rende +letter-nordic_clean 0:26e89af4523d -0.35 ienjoytranslatingfuzzyworkflowre +letter-nordic_clean 0:27c5581ffbbc -0.33 restoftheteam. +letter-nordic_clean 0:a71e98216baa -0.10 iwouldwelcometheopportunitytobri +letter-nordic_clean 0:80a6a628ad52 -0.11 sincerely, +letter-panel 0:8f1010120ed6 0.44 jordanrivera +letter-panel 0:8f1010120ed6#1 0.21 jordanrivera +letter-panel 0:2d58f0cadc2d 0.22 platformengineer +letter-panel 0:89ff05847e96 0.20 london,uk|+442055551000 +letter-panel 0:8817bf9310b6 0.16 jordan.rivera@example.com|linked +letter-panel 0:bef81b541365 0.06 dearhiringteamatnorthwindsystems +letter-panel 0:ab54410ead82 -0.17 iamexcitedtosharemyinterestinthe +letter-panel 0:9185168d2cf8 -0.17 document-generationsystemsthatba +letter-panel 0:0c42fe9f3491 -0.16 ienjoytranslatingfuzzyworkflowre +letter-panel 0:dda41d31bb3c -0.16 thatmakeadoptioneasierfortherest +letter-panel 0:7c5a9817c868 -0.12 iwouldwelcometheopportunitytobri +letter-panel 0:4012eb4b05db 0.00 group. +letter-panel 0:80a6a628ad52 0.25 sincerely, +letter-sidebar_portrait 0:8f1010120ed6 0.04 jordanrivera +letter-sidebar_portrait 0:8f1010120ed6#1 -0.11 jordanrivera +letter-sidebar_portrait 0:2d58f0cadc2d -0.19 platformengineer +letter-sidebar_portrait 0:8d7a2cca3060 -0.29 +442055551000|jordan.rivera@exam +letter-sidebar_portrait 0:bef81b541365 -0.29 dearhiringteamatnorthwindsystems +letter-sidebar_portrait 0:ab54410ead82 -0.52 iamexcitedtosharemyinterestinthe +letter-sidebar_portrait 0:9185168d2cf8 -0.55 document-generationsystemsthatba +letter-sidebar_portrait 0:0c42fe9f3491 -0.42 ienjoytranslatingfuzzyworkflowre +letter-sidebar_portrait 0:dda41d31bb3c -0.45 thatmakeadoptioneasierfortherest +letter-sidebar_portrait 0:7c5a9817c868 -0.41 iwouldwelcometheopportunitytobri +letter-sidebar_portrait 0:4012eb4b05db -0.44 group. +letter-sidebar_portrait 0:80a6a628ad52 -0.07 sincerely, +letter-timeline_minimal 0:8f1010120ed6 -0.16 jordanrivera +letter-timeline_minimal 0:8f1010120ed6#1 1.63 jordanrivera +letter-timeline_minimal 0:2d58f0cadc2d -0.40 platformengineer +letter-timeline_minimal 0:fbeea547d99e 0.04 london,uk +letter-timeline_minimal 0:89674e6f130e -0.02 +442055551000 +letter-timeline_minimal 0:e0f850305ded 0.06 jordan.rivera@example.com +letter-timeline_minimal 0:84308bea4540 0.00 linkedin +letter-timeline_minimal 0:c0b0109d9439 0.06 github +letter-timeline_minimal 0:bef81b541365 1.60 dearhiringteamatnorthwindsystems +letter-timeline_minimal 0:ab54410ead82 1.39 iamexcitedtosharemyinterestinthe +letter-timeline_minimal 0:9185168d2cf8 1.39 document-generationsystemsthatba +letter-timeline_minimal 0:a463bced3db2 1.30 ienjoytranslatingfuzzyworkflowre +letter-timeline_minimal 0:dd474e249222 1.30 makeadoptioneasierfortherestofth +letter-timeline_minimal 0:a71e98216baa 1.57 iwouldwelcometheopportunitytobri +letter-timeline_minimal 0:80a6a628ad52 1.63 sincerely, +proposal-editorial 0:5205c2a261bc 0.29 northline +proposal-editorial 0:da0daaba4b15 0.20 studio +proposal-editorial 0:ecd1378bc9dc -0.30 proposal +proposal-editorial 0:3786fae913f7 0.27 proposal— +proposal-editorial 0:03a41208320e 0.25 brandrefresh& +proposal-editorial 0:c20712117515 -0.01 websiteredesign +proposal-editorial 0:1bae6dc6c199 -0.03 preparedforasterahealthco.|prepa +proposal-editorial 0:566835ed7fba 0.39 executivesummary +proposal-editorial 0:a27307c3fd63 0.39 thankyoufortheopportunitytopartn +proposal-editorial 0:b03206c0ed03 0.34 nextchapter.thisproposaloutlines +proposal-editorial 0:838b34bafe7b 0.41 brandidentityandredesigningyourw +proposal-editorial 0:c704f790608e 0.36 mission,elevatecredibility,andde +proposal-editorial 0:20bdf45ebb79 0.43 peopleyouserve. +proposal-editorial 0:d28f860aec04 0.43 ourprocessblendsstrategicthinkin +proposal-editorial 0:53fcd88ebb00 0.38 cohesivebrandsystemandamodern,co +proposal-editorial 0:95bad9757a67 0.33 outcomewillbeaclear,confidentpre +proposal-editorial 0:8863e2b998da 0.40 improvesengagement,andsupportsyo +proposal-editorial 0:f16c2c2f1999 0.61 projectgoals +proposal-editorial 0:c008ab0ba85f -0.19 projectduration +proposal-editorial 0:5a6b4bf425f2 -0.37 6weeks +proposal-editorial 0:7aa73e5c14d3 -0.05 startwindow +proposal-editorial 0:6fcb2d3f02ba -0.23 september2026 +proposal-editorial 0:185e8dc84248 -0.03 primarycontact +proposal-editorial 0:59d00e0c1b99 -0.20 projectlead +proposal-editorial 0:4190fd3a8d72 0.09 proposalvalidity +proposal-editorial 0:56a2e019b8aa -0.06 14days +proposal-editorial 0:265e93f6b9da 0.10 (until8september2026) +proposal-editorial 0:e2ea93b97611 1.34 strengthenbrand +proposal-editorial 0:7d95098b921b 0.33 credibilityandvisual +proposal-editorial 0:218e304f8b84 -0.68 consistency. +proposal-editorial 0:35597cc9803f 1.34 improvewebsite +proposal-editorial 0:83f63137756b 0.33 usabilityanddrive +proposal-editorial 0:cce9fba37d4e -0.68 meaningfulaction. +proposal-editorial 0:59aaadaf0c54 1.34 communicateyour +proposal-editorial 0:30193022f687 0.33 valueclearlyacrossall +proposal-editorial 0:04b5995c746f -0.68 touchpoints. +proposal-editorial 0:b45d848fe1b6 1.34 buildascalabledigital +proposal-editorial 0:e8228bfeba0e 0.33 foundationforfuture +proposal-editorial 0:1fa35c7a1402 -0.68 growth. +proposal-editorial 0:bc981abcdf59 0.10 scopeofwork +proposal-editorial 0:28450edd9a4f -0.19 discovery&research +proposal-editorial 0:12bff3036b66 0.00 visualidentityrefinement +proposal-editorial 0:fc5134bf5fd1 0.04 websiteux/uidesign +proposal-editorial 0:5d58b01c7096 0.37 designaresponsive,accessibility- +proposal-editorial 0:5d6068f6a879 0.01 navigationandclearconversionpath +proposal-editorial 0:32001e20b2ed 0.08 contentstructure&messaging +proposal-editorial 0:b3c948ec3e36 0.41 definesitearchitecture,keymessag +proposal-editorial 0:231428fde7aa 0.17 communicatevalueandbuildtrust. +proposal-editorial 0:8c7703bb6fb7 0.24 launchsupport +proposal-editorial 0:026890c58de9 0.12 northlinestudio|northlinestudio. +proposal-editorial 1:5205c2a261bc 0.41 northline +proposal-editorial 1:da0daaba4b15 0.32 studio +proposal-editorial 1:ecd1378bc9dc -0.18 proposal +proposal-editorial 1:e35c32bb5ed8 0.38 deliverables +proposal-editorial 1:23eb79a19b39 0.14 brandstrategysummary +proposal-editorial 1:aaa2a6073d69 0.10 refinedlogosuite&brandguidelines +proposal-editorial 1:d626f7532564 0.06 color,typography&designsystem +proposal-editorial 1:018ec557a513 0.14 websiteuxwireframes +proposal-editorial 1:5ed4970fa285 0.10 high-fidelitywebsitedesigns +proposal-editorial 1:8b712e7e93bf -12.28 contentstrategy&pagetemplates +proposal-editorial 1:e9bf06d9b130 -12.32 developer-readyassets&specificat +proposal-editorial 1:e93e7ba95ceb -12.36 launchchecklist&trainingsession +proposal-editorial 1:94d192b3a326 0.47 timeline +proposal-editorial 1:02195b8e9896 0.50 phase +proposal-editorial 1:c51faa148557 0.50 focus +proposal-editorial 1:caa79af4db67 0.50 duration +proposal-editorial 1:e0ee8bb50685 0.50 output +proposal-editorial 1:9a5c531db125 0.68 01discover +proposal-editorial 1:99b15ca862e5 0.68 1week +proposal-editorial 1:99b15ca862e5#1 0.90 1week +proposal-editorial 1:7817fa5085e2 1.85 research,audit,insights,and +proposal-editorial 1:73dff70e25ad 0.36 strategy +proposal-editorial 1:ddfbc608570a 1.85 discoveryreport&creative +proposal-editorial 1:93c4abe27cf1 0.36 direction +proposal-editorial 1:9285b279249c 0.79 02design +proposal-editorial 1:b183847fe9f8 0.79 2weeks +proposal-editorial 1:b183847fe9f8#1 1.10 2weeks +proposal-editorial 1:1e0716635ae3 1.96 brandrefinementandwebsite +proposal-editorial 1:80f5fb36f074 0.47 ux/uidesign +proposal-editorial 1:ad5e8a376247 1.96 designsystem&high-fidelity +proposal-editorial 1:dbb1831acb45 0.47 designs +proposal-editorial 1:ea1ecc5ce8ad 0.90 03developprep +proposal-editorial 1:381b99928ddd 2.07 contentstructure,developer +proposal-editorial 1:b144c5104484 0.58 handoff&assetpreparation +proposal-editorial 1:6ba4e54f2632 2.07 specs,assets&content +proposal-editorial 1:06a61df042ad 0.58 framework +proposal-editorial 1:17f923a4777c 1.10 04launchsupport +proposal-editorial 1:8f16bc1588b5 0.98 qa,training&go-liveassistance +proposal-editorial 1:7c23497e09b0 0.98 qasign-off&successfullaunch +proposal-editorial 1:f9b21c4bda58 1.66 investment +proposal-editorial 1:4a33eacd5fa6 1.72 item +proposal-editorial 1:2da123241332 1.72 amount(gbp) +proposal-editorial 1:1167b381fe2f 1.81 discovery&strategy +proposal-editorial 1:572a8dc5a455 1.81 £2,500 +proposal-editorial 1:7c2ad9ba0fd0 1.85 brandidentityrefinement +proposal-editorial 1:7f2732df7390 1.85 £4,500 +proposal-editorial 1:fc5134bf5fd1 1.89 websiteux/uidesign +proposal-editorial 1:8534d989b9ed 1.89 £7,000 +proposal-editorial 1:32001e20b2ed 2.05 contentstructure&messaging +proposal-editorial 1:e58a378ffc52 2.05 £2,000 +proposal-editorial 1:8c7703bb6fb7 2.09 launchsupport +proposal-editorial 1:d423fc0a31c2 2.09 £1,500 +proposal-editorial 1:d6577e95efba 2.16 subtotal +proposal-editorial 1:8873236d3571 2.16 £17,500 +proposal-editorial 1:3d213570f707 2.20 optional:3monthspost-launchsuppo +proposal-editorial 1:7ffd918ebc4a 2.20 £1,750 +proposal-editorial 1:58656319146d 2.36 totalinvestment +proposal-editorial 1:4aadcd9bc785 2.36 £19,250 +proposal-editorial 1:51d2361f4fae 1.66 terms +proposal-editorial 1:99ffab766326 1.06 50%depositisrequiredtosecurethe +proposal-editorial 1:5414e5671cbd 1.81 projectandschedulethekick-off. +proposal-editorial 1:832db31f5c9a 1.96 includestworoundsofrevisionsper +proposal-editorial 1:5130aeada3db 2.71 majordeliverable. +proposal-editorial 1:06ebb5670fa8 3.16 ownershipofallfinaldeliverables +proposal-editorial 1:c1514c6cdad1 2.62 acceptance +proposal-editorial 1:893663b06769 2.26 bysigningbelow,youagreetothescop +proposal-editorial 1:df16232de5b9 2.41 acceptedby: +proposal-editorial 1:f089d24d7cf3 4.57 signature: +proposal-editorial 1:c74c9cd82f13 4.57 date: +proposal-editorial 1:026890c58de9 0.12 northlinestudio|northlinestudio. +proposal-indigo 0:07f15cde5b18 0.22 kestrel +proposal-indigo 0:ecd1378bc9dc 0.18 proposal +proposal-indigo 0:781d36213745 0.22 preparedfor +proposal-indigo 0:45fe04dbae24 0.10 brightfutureltd. +proposal-indigo 0:65405af34bf9 0.01 45kingstreet +proposal-indigo 0:1f8da9c4e269 0.06 manchester,m24wu +proposal-indigo 0:2474519f77a9 0.03 unitedkingdom +proposal-indigo 0:cf6b67fe426f 0.16 attn +proposal-indigo 0:7b6259001f01 0.10 priyaraman +proposal-indigo 0:59458508a082 0.10 founder +proposal-indigo 0:1f054d7534fa 0.09 priya@brightfuture.example +proposal-indigo 0:a8acc3a90a7b 0.06 +447700900123 +proposal-indigo 0:f99fb5990e3f 0.15 proposalfor +proposal-indigo 0:460ebeabf0d7 0.26 financialinfrastructure +proposal-indigo 0:e0b894e9070f 0.20 &embeddedfinance +proposal-indigo 0:76f9df77e8af 0.19 partnership +proposal-indigo 0:f33b9e206de3 0.45 empoweringbrightfutureltd.withmo +proposal-indigo 0:16a14b235896 0.49 infrastructure,globalcapabilitie +proposal-indigo 0:2fdd6f092df5 0.49 experienceforyourcustomers. +proposal-indigo 0:0e87632cd46b -24.44 date +proposal-indigo 0:dc9696f61d36 -24.52 27may2026 +proposal-indigo 0:621f581e97b4 -24.44 proposalid +proposal-indigo 0:2b2adf7998f8 -24.52 kes-2026-0527-01 +proposal-indigo 0:4bf91849cfb4 -24.44 validuntil +proposal-indigo 0:93059e9a1c07 -24.52 26june2026 +proposal-indigo 0:8d6867ab3a4c -24.44 preparedby +proposal-indigo 0:50910841c2da -24.52 kestrelbusinessteam +proposal-indigo 0:69cca54632df -0.71 aboutkestrelbusiness +proposal-indigo 0:81a3de6caa05 -0.95 kestrelbusinessprovidesmodernfin +proposal-indigo 0:a999713d90ce -0.97 forward-thinkingcompanies.frommu +proposal-indigo 0:8001c2743965 -27.75 global +proposal-indigo 0:f469802a3144 -27.80 scale +proposal-indigo 0:774cdf08f6a8 -27.75 modern +proposal-indigo 0:9fec08e4574b -27.80 infrastructure +proposal-indigo 0:5924acfba1a5 -27.75 secure& +proposal-indigo 0:b67c263c0379 -27.80 compliant +proposal-indigo 0:88fa0d759f84 -27.75 developer +proposal-indigo 0:962cba9fd476 -27.80 firstapis +proposal-indigo 0:4f30d3328d6f -0.49 projectoverview +proposal-indigo 0:a73369734180 -0.87 thisproposaloutlinesatailoredfin +proposal-indigo 0:19a7c085cb24 -0.88 supportbrightfutureltd.inenablin +proposal-indigo 0:ff5888ea18e0 -0.87 financialservicesforyourbusiness +proposal-indigo 0:2855076f724f -0.63 multi-currencybusinessaccounts +proposal-indigo 0:4e36c64ccf3a -0.55 hold,send,receivein30+currencies +proposal-indigo 0:17f85ac3692b -0.51 corporatecards&expenses +proposal-indigo 0:82c5a2c4443e -0.43 issuephysical&virtualcardswithsm +proposal-indigo 0:e05293fab5bc -0.39 payments&collections +proposal-indigo 0:1443f4651241 -0.30 local&globalpayments,directdebit +proposal-indigo 0:32df55902e8b -0.26 embeddedfinanceapis +proposal-indigo 0:8ac47b282ff6 -0.18 buildfinancialproductsdirectlyin +proposal-indigo 0:58520edff52a -0.26 compliance&risk +proposal-indigo 0:05aecb87ba6a -0.18 kyc,aml,fraudmonitoringandregula +proposal-indigo 0:ec5294e7a376 -0.61 investmentsummary +proposal-indigo 0:af60f4182ca5 -0.51 implementation&onboarding +proposal-indigo 0:572a8dc5a455 -0.51 £2,500 +proposal-indigo 0:760775d91a04 -0.43 platformaccess&apis +proposal-indigo 0:6ca9376c51ca -0.43 £3,000 +proposal-indigo 0:9a38b75a07fb -0.27 transactionfees(est.) +proposal-indigo 0:3b325109deb0 -0.27 variable +proposal-indigo 0:bfece4405b19 -0.23 support&accountmanagement +proposal-indigo 0:7f0f70e643bc -0.23 included +proposal-indigo 0:e0bd5388bdc9 -0.14 estimatedfirstyearinvestment +proposal-indigo 0:51db6c622be8 -0.04 £5,500 +proposal-indigo 0:ab5aa97074c4 -0.10 notes +proposal-indigo 0:b9e9c18c4d13 -0.11 •pricingexcludesapplicabletaxes. +proposal-indigo 0:e4239ffa2bb6 -0.12 •transactionfeesarebasedonusagea +proposal-indigo 0:82eb848e77b3 -0.13 •thisproposalisvalidfor30daysfro +proposal-indigo 0:732bcbb66cec -0.13 kestrelpaymentsltd +proposal-indigo 0:3898e7b5f79b -0.18 7harbourcircus,canarywharf,londo +proposal-indigo 0:29208032c874 -0.19 kestrel.example/business|busines +proposal-modern 0:ecd1378bc9dc 0.18 proposal +proposal-modern 0:f592a683c61d 0.31 documentplatformconsolidation +proposal-modern 0:bbe07492ee1f 0.28 proposalgc-p-2026-014prepared02a +proposal-modern 0:566835ed7fba 0.01 executivesummary +proposal-modern 0:7ccf0e6c59fa -0.13 aphasedengagementtoretireper-tea +proposal-modern 0:75857a458999 -0.42 from +proposal-modern 0:c26c22b94338 -0.48 graphcomposestudio +proposal-modern 0:2a08ce5567fb -0.65 18layoutstreet +proposal-modern 0:fbeea547d99e -0.73 london,uk +proposal-modern 0:3c8401edb4cc -0.80 hello@graphcompose.dev +proposal-modern 0:89674e6f130e -0.76 +442055551000 +proposal-modern 0:213a61c7aeb6 -0.80 graphcompose.dev +proposal-modern 0:f890faef907f -0.48 northwindsystems +proposal-modern 0:577a7fcdaa02 -0.65 attn:procurement +proposal-modern 0:91eefd794f79 -0.73 410marketavenue +proposal-modern 0:3daace874084 -0.80 procurement@northwind.example +proposal-modern 0:5f161c914988 -0.41 scope +proposal-modern 0:9e580657f485 -0.50 discovery,architecture,andarefer +proposal-modern 0:cec9111de36d -0.35 approach +proposal-modern 0:3215ea3be6d9 -0.56 iterativedeliverywithweeklycheck +proposal-modern 0:94d192b3a326 -0.41 timeline +proposal-modern 0:02195b8e9896 -0.34 phase +proposal-modern 0:caa79af4db67 -0.34 duration +proposal-modern 0:41ffd8b76afc -0.34 details +proposal-modern 0:fa44132b238e -0.17 discovery +proposal-modern 0:fa44132b238e#1 0.31 discovery +proposal-modern 0:b183847fe9f8 -0.17 2weeks +proposal-modern 0:4b20bfb69ca7 -0.17 stakeholderinterviews+audit +proposal-modern 0:44575cf5b285 -0.12 build +proposal-modern 0:44575cf5b285#1 0.24 build +proposal-modern 0:5a6b4bf425f2 -0.12 6weeks +proposal-modern 0:7a802048127d -0.12 engine+templatemigration +proposal-modern 0:f9b21c4bda58 0.21 investment +proposal-modern 0:4a33eacd5fa6 0.16 item +proposal-modern 0:c9046f7a37ad 0.16 description +proposal-modern 0:cf38d95c9c6b 0.16 amount +proposal-modern 0:fe9b6b4f133b 0.31 workshops+auditgbp6,000 +proposal-modern 0:62e788ae3916 0.24 engine+templatesgbp24,000 +proposal-modern 0:11239872d178 0.36 total +proposal-modern 0:1c3065490625 0.36 gbp30,000 +proposal-modern 0:63feb7230a5d 0.71 acceptanceterms +proposal-modern 0:35046a9f5675 0.62 •50%onsignature,50%ondelivery. +proposal-modern 0:f03c1877ea2b 0.51 •validfor30daysfromthepreparedda +proposal-modern 0:90572e911376 0.55 thankyouforconsideringgraphcompo +proposal-northline 0:5205c2a261bc -0.43 northline +proposal-northline 0:da0daaba4b15 -0.43 studio +proposal-northline 0:ecd1378bc9dc -0.34 proposal +proposal-northline 0:53df6a685985 -0.01 proposal– +proposal-northline 0:03a41208320e -0.01 brandrefresh& +proposal-northline 0:c20712117515 0.35 websiteredesign +proposal-northline 0:1bae6dc6c199 -0.14 preparedforasterahealthco.|prepa +proposal-northline 0:566835ed7fba -0.35 executivesummary +proposal-northline 0:a27307c3fd63 0.04 thankyoufortheopportunitytopartn +proposal-northline 0:b03206c0ed03 0.03 nextchapter.thisproposaloutlines +proposal-northline 0:838b34bafe7b 0.02 brandidentityandredesigningyourw +proposal-northline 0:c704f790608e 0.01 mission,elevatecredibility,andde +proposal-northline 0:20bdf45ebb79 0.00 peopleyouserve. +proposal-northline 0:d28f860aec04 0.12 ourprocessblendsstrategicthinkin +proposal-northline 0:53fcd88ebb00 0.11 cohesivebrandsystemandamodern,co +proposal-northline 0:95bad9757a67 0.10 outcomewillbeaclear,confidentpre +proposal-northline 0:8863e2b998da 0.09 improvesengagement,andsupportsyo +proposal-northline 0:f16c2c2f1999 -0.20 projectgoals +proposal-northline 0:e4af490aeb22 -0.21 projectataglance +proposal-northline 0:c008ab0ba85f -0.13 projectduration +proposal-northline 0:5a6b4bf425f2 -0.29 6weeks +proposal-northline 0:7aa73e5c14d3 -0.13 startwindow +proposal-northline 0:6fcb2d3f02ba -0.29 september2026 +proposal-northline 0:185e8dc84248 -0.01 primarycontact +proposal-northline 0:59d00e0c1b99 -0.17 projectlead +proposal-northline 0:4190fd3a8d72 0.00 proposalvalidity +proposal-northline 0:56a2e019b8aa -0.16 14days +proposal-northline 0:265e93f6b9da -0.01 (until8september2026) +proposal-northline 0:e2ea93b97611 0.71 strengthenbrand +proposal-northline 0:7d95098b921b 0.22 credibilityandvisual +proposal-northline 0:218e304f8b84 -0.27 consistency. +proposal-northline 0:35597cc9803f 0.71 improvewebsite +proposal-northline 0:83f63137756b 0.22 usabilityanddrive +proposal-northline 0:cce9fba37d4e -0.27 meaningfulaction. +proposal-northline 0:59aaadaf0c54 0.71 communicateyour +proposal-northline 0:30193022f687 0.22 valueclearlyacrossall +proposal-northline 0:04b5995c746f -0.27 touchpoints. +proposal-northline 0:b45d848fe1b6 0.71 buildascalabledigital +proposal-northline 0:e8228bfeba0e 0.22 foundationforfuture +proposal-northline 0:1fa35c7a1402 -0.27 growth. +proposal-northline 0:bc981abcdf59 -0.13 scopeofwork +proposal-northline 0:28450edd9a4f 0.18 discovery&research +proposal-northline 0:155f35b4967f 0.80 stakeholderinterviews,brandaudit +proposal-northline 0:973aeda5fe6d 0.07 insightstoinformstrategy. +proposal-northline 0:12bff3036b66 0.33 visualidentityrefinement +proposal-northline 0:d7ac738462f9 0.95 refinelogosystem,colorpalette,ty +proposal-northline 0:9136e740c370 0.22 cohesive,modernidentity. +proposal-northline 0:fc5134bf5fd1 0.36 websiteux/uidesign +proposal-northline 0:5d58b01c7096 0.98 designaresponsive,accessibility- +proposal-northline 0:5d6068f6a879 0.25 navigationandclearconversionpath +proposal-northline 0:32001e20b2ed 0.51 contentstructure&messaging +proposal-northline 0:b3c948ec3e36 1.13 definesitearchitecture,keymessag +proposal-northline 0:231428fde7aa 0.40 communicatevalueandbuildtrust. +proposal-northline 0:8c7703bb6fb7 0.54 launchsupport +proposal-northline 0:64aa6ccd2e0e 1.15 developerhandoff,qasupport,train +proposal-northline 0:1f71a8d2d1d2 0.54 ensureasmoothlaunch. +proposal-northline 0:026890c58de9 0.10 northlinestudio|northlinestudio. +proposal-northline 1:5205c2a261bc -0.31 northline +proposal-northline 1:da0daaba4b15 -0.31 studio +proposal-northline 1:ecd1378bc9dc -0.22 proposal +proposal-northline 1:e35c32bb5ed8 -0.20 deliverables +proposal-northline 1:23eb79a19b39 -0.05 brandstrategysummary +proposal-northline 1:aaa2a6073d69 -0.13 refinedlogosuite&brandguidelines +proposal-northline 1:d626f7532564 -0.09 color,typography&designsystem +proposal-northline 1:018ec557a513 -0.05 websiteuxwireframes +proposal-northline 1:5ed4970fa285 -0.01 high-fidelitywebsitedesigns +proposal-northline 1:f4a5e0b85868 -0.05 responsivedesignfordesktop,table +proposal-northline 1:8b712e7e93bf -0.13 contentstrategy&pagetemplates +proposal-northline 1:e9bf06d9b130 -0.09 developer-readyassets&specificat +proposal-northline 1:e93e7ba95ceb -0.05 launchchecklist&trainingsession +proposal-northline 1:94d192b3a326 -0.28 timeline +proposal-northline 1:02195b8e9896 0.14 phase +proposal-northline 1:c51faa148557 0.14 focus +proposal-northline 1:caa79af4db67 0.14 duration +proposal-northline 1:e0ee8bb50685 0.14 output +proposal-northline 1:9a5c531db125 0.32 01discover +proposal-northline 1:99b15ca862e5 0.32 1week +proposal-northline 1:99b15ca862e5#1 0.54 1week +proposal-northline 1:7817fa5085e2 0.93 research,audit,insights,and +proposal-northline 1:73dff70e25ad 0.20 strategy +proposal-northline 1:ddfbc608570a 0.93 discoveryreport&creative +proposal-northline 1:93c4abe27cf1 0.20 direction +proposal-northline 1:9285b279249c 0.43 02design +proposal-northline 1:b183847fe9f8 0.43 2weeks +proposal-northline 1:b183847fe9f8#1 0.78 2weeks +proposal-northline 1:1e0716635ae3 1.04 brandrefinementandwebsite +proposal-northline 1:80f5fb36f074 0.31 ux/uidesign +proposal-northline 1:ad5e8a376247 1.04 designsystem&high-fidelity +proposal-northline 1:dbb1831acb45 0.31 designs +proposal-northline 1:ea1ecc5ce8ad 0.54 03developprep +proposal-northline 1:381b99928ddd 1.15 contentstructure,developer +proposal-northline 1:b144c5104484 0.42 handoff&assetpreparation +proposal-northline 1:6ba4e54f2632 1.15 specs,assets&content +proposal-northline 1:06a61df042ad 0.42 framework +proposal-northline 1:17f923a4777c 0.78 04launchsupport +proposal-northline 1:8f16bc1588b5 0.66 qa,training&go-liveassistance +proposal-northline 1:7c23497e09b0 0.66 qasign-off&successfullaunch +proposal-northline 1:f9b21c4bda58 0.82 investment +proposal-northline 1:4a33eacd5fa6 1.21 item +proposal-northline 1:2da123241332 1.21 amount(gbp) +proposal-northline 1:1167b381fe2f 1.48 discovery&strategy +proposal-northline 1:572a8dc5a455 1.48 £2,500 +proposal-northline 1:7c2ad9ba0fd0 1.52 brandidentityrefinement +proposal-northline 1:7f2732df7390 1.52 £4,500 +proposal-northline 1:fc5134bf5fd1 1.56 websiteux/uidesign +proposal-northline 1:8534d989b9ed 1.56 £7,000 +proposal-northline 1:32001e20b2ed 1.60 contentstructure&messaging +proposal-northline 1:e58a378ffc52 1.60 £2,000 +proposal-northline 1:8c7703bb6fb7 1.64 launchsupport +proposal-northline 1:d423fc0a31c2 1.64 £1,500 +proposal-northline 1:d6577e95efba 1.68 subtotal +proposal-northline 1:8873236d3571 1.68 £17,500 +proposal-northline 1:3d213570f707 1.75 optional:3monthspost-launchsuppo +proposal-northline 1:7ffd918ebc4a 1.75 £1,750 +proposal-northline 1:58656319146d 1.87 totalinvestment +proposal-northline 1:4aadcd9bc785 1.87 £19,250 +proposal-northline 1:51d2361f4fae 0.82 terms +proposal-northline 1:99ffab766326 0.97 50%depositisrequiredtosecurethe +proposal-northline 1:5414e5671cbd 1.74 projectandschedulethekick-off. +proposal-northline 1:832db31f5c9a 1.97 includestworoundsofrevisionsper +proposal-northline 1:5130aeada3db 2.74 majordeliverable. +proposal-northline 1:ffce6ed7e6e5 2.85 finalfilesandhandoffdeliveredupo +proposal-northline 1:566f68df6dd8 3.62 finalpayment. +proposal-northline 1:06ebb5670fa8 3.37 ownershipofallfinaldeliverables +proposal-northline 1:5312201597c1 4.14 transferstoasterahealthco.afterf +proposal-northline 1:d31e8d77a816 4.17 paymentisreceived. +proposal-northline 1:c1514c6cdad1 1.69 acceptance +proposal-northline 1:893663b06769 1.96 bysigningbelow,youagreetothescop +proposal-northline 1:df16232de5b9 1.82 acceptedby: +proposal-northline 1:f089d24d7cf3 1.82 signature: +proposal-northline 1:c74c9cd82f13 1.82 date: +proposal-northline 1:026890c58de9 0.10 northlinestudio|northlinestudio. +receipt-modern 0:2b019b5b46da 0.29 northwindpay +receipt-modern 0:a3c304a23bb1 0.23 transferconfirmation +receipt-modern 0:e885a92f5bb7 0.17 generatedon09august2026 +receipt-modern 0:c288dd6df716 0.11 referencenwp-4821-0067 +receipt-modern 0:9de2a2d7cd7a 0.21 amountcollected +receipt-modern 0:465691680b99 0.17 £66.62 +receipt-modern 0:465691680b99#1 0.35 £66.62 +receipt-modern 0:465691680b99#2 0.34 £66.62 +receipt-modern 0:4260e5ae365d 0.24 directdebitcollectedbyharbourfin +receipt-modern 0:4ddb3e96801a 0.21 completed +receipt-modern 0:a22e6dacae05 0.29 valuedate07jul2026 +receipt-modern 0:53becbb168d1 0.32 operationdate07jul2026 +receipt-modern 0:b311cb4017a4 0.35 schemebacsdirectdebit +receipt-modern 0:1bd90283f7fe 0.22 paidfrom +receipt-modern 0:0293c2cdfa58 0.23 alexsample +receipt-modern 0:85d2c9e53e92 0.00 12exampleway +receipt-modern 0:db3b3fcfe2d1 -0.01 brentfordtw00aa +receipt-modern 0:2474519f77a9 -0.02 unitedkingdom +receipt-modern 0:a3570420c75d 0.41 account••••4396 +receipt-modern 0:d2f5582b8015 0.44 sortcode00-00-00 +receipt-modern 0:c4ab31d8c668 0.27 paidto +receipt-modern 0:c032ca75a3a7 0.28 harbourfinanceltd +receipt-modern 0:995c51cebabe -0.06 1samplequay +receipt-modern 0:f05e0b2f4fe3 -0.07 manchesterm00aa +receipt-modern 0:597533badf94 0.35 account••••5604 +receipt-modern 0:a5938b687682 0.38 sortcode00-00-11 +receipt-modern 0:5434155c0fda 0.35 transferdetails +receipt-modern 0:a4d7978db2aa 0.35 mandatereference +receipt-modern 0:0123b9cf310f 0.35 mnd-0110-8054-5652 +receipt-modern 0:3840804e6235 0.42 transactionid +receipt-modern 0:60e01e42bb33 0.42 b71f0c2e-9a44-4f18-bd30-51c7a2e9 +receipt-modern 0:2cbaa23e0a56 0.37 paymentscheme +receipt-modern 0:1477cb720a28 0.37 bacsdirectdebit +receipt-modern 0:1fa78044a7da 0.32 statementdescription +receipt-modern 0:b77918146dd3 0.32 harbourfin4821 +receipt-modern 0:c72294b34f1a 0.47 amountbreakdown +receipt-modern 0:cf38d95c9c6b 0.35 amount +receipt-modern 0:dc40efafaeb3 0.44 transferfee +receipt-modern 0:3a82ba6903c6 0.44 £0.00 +receipt-modern 0:1cdd81427c35 0.39 exchangerate +receipt-modern 0:0311534a9954 0.39 1.00gbp/gbp +receipt-modern 0:c1dc9f641ca3 0.34 totaldebited +receipt-modern 0:de149c2431a2 0.37 paymentprogress +receipt-modern 0:4568e72e6bfd 0.45 instructed +receipt-modern 0:c5f62da028cc 0.26 07jul2026,08:12bst·collectionreq +receipt-modern 0:788d0109e065 0.38 inclearing +receipt-modern 0:7cb44e46733a 0.31 08jul2026,09:00bst·three-working +receipt-modern 0:d31e014808ec 0.43 settled +receipt-modern 0:06cb75439693 0.36 09jul2026,06:30bst·fundsdebiteda +receipt-modern 0:ab5aa97074c4 0.44 notes +receipt-modern 0:a8da22f90eac 0.33 keepthisconfirmationforyourrecor +receipt-modern 0:59941ac03c12 0.51 scantocheckthisconfirmationagain +receipt-modern 0:868e2517782a 0.18 support+442000000000 +receipt-modern 0:94d25770d489 0.19 help@northwind-pay.example +receipt-modern 0:d613d9566d09 0.15 northwindpayisafictionalinstitut +receipt-modern 0:403a860bfc00 0.19 invented. +receipt-modern 0:7b14b8d2c5c4 0.07 page1of1 +rota-cobalt 0:33888e306262 0.92 quay +rota-cobalt 0:f5f481423c57 1.22 quaysidebar +rota-cobalt 0:d457d4238a16 1.58 monday31st +rota-cobalt 0:916a90a10237 1.58 tuesday1st +rota-cobalt 0:c602d130bfde 1.58 wednesday2nd +rota-cobalt 0:74cf6babb6f6 1.58 thursday3rd +rota-cobalt 0:ae6aa379ad0c 1.58 friday4th +rota-cobalt 0:a6643f169bfd 1.58 saturday5th +rota-cobalt 0:58752a3c0543 1.58 sunday6th +rota-cobalt 0:c4aee96677b0 2.00 /cleancrushedice +rota-cobalt 0:2895e01ceae0 1.25 machine&area +rota-cobalt 0:f4e7df025c89 2.24 pianist18:30/clean +rota-cobalt 0:d3acaa767810 1.73 crushedicemachine& +rota-cobalt 0:4a91ee5f0106 1.22 area +rota-cobalt 0:b913ee5e077a 2.00 privatedinner44pax/ +rota-cobalt 0:d89987d22df9 1.25 soulgf/pianist18:30 +rota-cobalt 0:fb980282ae0a 2.00 pianist18:30/partner +rota-cobalt 0:3c1fc038017e 1.25 meeting3:30pm +rota-cobalt 0:cc96b22615e5 1.52 pianist19:00 +rota-cobalt 0:ffe6874516db 1.52 mc10pax/pianist19:00mc2pax//60pa +rota-cobalt 0:cd49e19a7e3e 1.73 /ffexhire/cleancubed +rota-cobalt 0:672c5d949aee 1.22 icemachine&area +rota-cobalt 0:bc14a4ce6407 2.24 statuslegend +rota-cobalt 0:1f58b9145b24 2.25 request +rota-cobalt 0:b4dc66dde806 2.25 off +rota-cobalt 0:b4dc66dde806#1 2.33 off +rota-cobalt 0:b4dc66dde806#2 2.33 off +rota-cobalt 0:b4dc66dde806#3 2.46 off +rota-cobalt 0:b4dc66dde806#4 2.46 off +rota-cobalt 0:b4dc66dde806#5 2.48 off +rota-cobalt 0:b4dc66dde806#6 2.48 off +rota-cobalt 0:b4dc66dde806#7 2.48 off +rota-cobalt 0:b4dc66dde806#8 2.74 off +rota-cobalt 0:b4dc66dde806#9 2.74 off +rota-cobalt 0:b4dc66dde806#10 2.90 off +rota-cobalt 0:b4dc66dde806#11 2.90 off +rota-cobalt 0:b4dc66dde806#12 3.05 off +rota-cobalt 0:b4dc66dde806#13 3.19 off +rota-cobalt 0:b4dc66dde806#14 3.19 off +rota-cobalt 0:b4dc66dde806#15 3.20 off +rota-cobalt 0:b4dc66dde806#16 3.20 off +rota-cobalt 0:b4dc66dde806#17 3.20 off +rota-cobalt 0:b4dc66dde806#18 3.25 off +rota-cobalt 0:b4dc66dde806#19 3.27 off +rota-cobalt 0:b4dc66dde806#20 3.27 off +rota-cobalt 0:cdc2def9aec4 2.25 hol +rota-cobalt 0:cdc2def9aec4#1 3.03 hol +rota-cobalt 0:cdc2def9aec4#2 3.03 hol +rota-cobalt 0:cdc2def9aec4#3 3.03 hol +rota-cobalt 0:cdc2def9aec4#4 3.03 hol +rota-cobalt 0:cdc2def9aec4#5 3.03 hol +rota-cobalt 0:cdc2def9aec4#6 3.03 hol +rota-cobalt 0:cdc2def9aec4#7 3.05 hol +rota-cobalt 0:cdc2def9aec4#8 3.19 hol +rota-cobalt 0:cdc2def9aec4#9 3.25 hol +rota-cobalt 0:cdc2def9aec4#10 3.25 hol +rota-cobalt 0:cdc2def9aec4#11 3.25 hol +rota-cobalt 0:cdc2def9aec4#12 3.27 hol +rota-cobalt 0:cdc2def9aec4#13 3.40 hol +rota-cobalt 0:cdc2def9aec4#14 3.40 hol +rota-cobalt 0:cdc2def9aec4#15 3.40 hol +rota-cobalt 0:08c4242b5f58 2.25 stock +rota-cobalt 0:f8f8922da592 2.25 standby +rota-cobalt 0:c2fb788c7dee 2.25 training +rota-cobalt 0:a18603086e5b 2.25 support +rota-cobalt 0:17ae69cc7e46 2.34 covers +rota-cobalt 0:412a5c513322 2.32 l104/d50 +rota-cobalt 0:304560bf3205 2.32 l33/d57 +rota-cobalt 0:ca6ce47ada53 2.32 l32/d76 +rota-cobalt 0:e594a1e64b7d 2.32 l22/d48 +rota-cobalt 0:7062fafe1dab 2.32 l65/d112 +rota-cobalt 0:778cb57b62fa 2.32 l73/d112 +rota-cobalt 0:1b4471920f01 2.32 l72/d83 +rota-cobalt 0:288965a1f2c8 1.63 management +rota-cobalt 0:6a61eb7383e8 2.22 rosa +rota-cobalt 0:3bb0f0bb5552 2.33 09:00-18:00 +rota-cobalt 0:3bb0f0bb5552#1 2.48 09:00-18:00 +rota-cobalt 0:3bb0f0bb5552#2 2.48 09:00-18:00 +rota-cobalt 0:3bb0f0bb5552#3 3.05 09:00-18:00 +rota-cobalt 0:9fff4d6be39d 2.33 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#1 2.33 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#2 1.72 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#3 2.46 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#4 2.46 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#5 2.90 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#6 2.90 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#7 3.05 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#8 3.19 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#9 3.20 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#10 3.20 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#11 3.20 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#12 2.51 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#13 2.51 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#14 2.51 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#15 3.27 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#16 2.52 16:00-01:00 +rota-cobalt 0:9fff4d6be39d#17 2.52 16:00-01:00 +rota-cobalt 0:1017e02ccc77 2.33 08:00-18:00 +rota-cobalt 0:e669544e9895 1.52 08:00-16:00 +rota-cobalt 0:e669544e9895#1 2.38 08:00-16:00 +rota-cobalt 0:19c30663e8ef 1.46 16:00-21:00 +rota-cobalt 0:19c30663e8ef#1 2.32 16:00-21:00 +rota-cobalt 0:c9affe7f7587 2.36 tomas +rota-cobalt 0:6d43df86fe4b 2.46 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#1 2.46 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#2 2.48 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#3 2.74 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#4 2.74 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#5 2.41 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#6 3.19 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#7 2.44 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#8 3.20 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#9 3.27 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#10 2.77 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#11 3.40 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#12 3.40 16:00-00:00 +rota-cobalt 0:6d43df86fe4b#13 2.77 16:00-00:00 +rota-cobalt 0:5a5f719aae11 1.78 11:00-16:00 +rota-cobalt 0:df9ba122242c 1.81 bartenders +rota-cobalt 0:dbaf86dd80e3 2.38 nadia +rota-cobalt 0:0cdd9d9e75dc 1.68 09:00-16:00 +rota-cobalt 0:0cdd9d9e75dc#1 1.94 09:00-16:00 +rota-cobalt 0:0cdd9d9e75dc#2 2.07 09:00-16:00 +rota-cobalt 0:0cdd9d9e75dc#3 2.07 09:00-16:00 +rota-cobalt 0:f1e2ce9aa575 1.62 16:00-22:00 +rota-cobalt 0:f1e2ce9aa575#1 1.87 16:00-22:00 +rota-cobalt 0:f1e2ce9aa575#2 1.87 16:00-22:00 +rota-cobalt 0:f1e2ce9aa575#3 2.15 16:00-22:00 +rota-cobalt 0:f1e2ce9aa575#4 2.15 16:00-22:00 +rota-cobalt 0:de7ee76e7373 2.63 elias +rota-cobalt 0:61587c4c0d6d 2.74 09:00-17:00 +rota-cobalt 0:7195a8ed72b9 1.94 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#1 2.35 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#2 2.50 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#3 2.57 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#4 2.57 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#5 2.57 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#6 2.59 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#7 2.59 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#8 2.72 12:00-16:00 +rota-cobalt 0:7195a8ed72b9#9 2.72 12:00-16:00 +rota-cobalt 0:953cb9ba8128 2.91 mirela +rota-cobalt 0:c1298a6e85c2 2.90 12:00-18:00 +rota-cobalt 0:c1298a6e85c2#1 3.05 12:00-18:00 +rota-cobalt 0:86846e84f9bf 2.93 sofia +rota-cobalt 0:effcc54ba75f 2.94 karol +rota-cobalt 0:5c1e134d2d34 3.08 henrik +rota-cobalt 0:6326e0e8cfda 3.22 lucia +rota-cobalt 0:c235e502637c 2.67 barbacks +rota-cobalt 0:bd558de5f794 3.15 oskar +rota-cobalt 0:4941d6993ee9 3.16 teodor +rota-cobalt 0:1d3d3d6a07bd 3.42 vesna +rota-cobalt 0:59f2ff7c7c70 0.08 timesshownin24-hourformat.shiftc +rota-cobalt 0:594c41ec0506 0.08 quaysidebar|31aug-6sep2026 diff --git a/qa/src/test/resources/docx-fidelity/word-windows.tsv b/qa/src/test/resources/docx-fidelity/word-windows.tsv new file mode 100644 index 000000000..4f4c20644 --- /dev/null +++ b/qa/src/test/resources/docx-fidelity/word-windows.tsv @@ -0,0 +1,64 @@ +# word 16.0 (16.0.20430) on windows +document engine_pages editor_pages lines matched median p90 over2 +cv-blue_banner 2 2 54 52 0.14 0.49 0 +cv-boxed_sections 2 2 58 58 0.30 0.51 0 +cv-centered_headline 2 2 58 56 0.20 0.82 0 +cv-charcoal_gold 1 1 85 77 0.21 0.58 0 +cv-classic_serif 2 2 57 54 0.29 0.68 0 +cv-compact_mono 1 1 58 58 0.26 1.01 0 +cv-editorial_blue 2 2 82 81 0.47 10.00 9 +cv-engineering_resume 1 1 57 57 0.58 1.54 0 +cv-executive 2 2 60 60 0.25 3.05 15 +cv-midnight_navy 1 1 86 80 0.64 19.86 30 +cv-minimal_underlined 2 2 59 59 0.62 0.89 0 +cv-mint_editorial 2 2 59 59 0.13 0.31 0 +cv-modern_professional 2 2 61 59 0.20 0.77 5 +cv-monogram_sidebar 1 1 53 50 0.79 2.95 17 +cv-navy_sidebar 1 1 71 69 0.13 0.22 0 +cv-nordic_clean 1 1 63 58 0.22 0.61 0 +cv-orange_ops 1 2 108 6 3.95 3.95 5 +cv-panel 1 1 79 73 0.43 0.94 0 +cv-professional_sidebar 1 1 68 64 0.11 0.27 0 +cv-serif_headline 1 1 103 103 0.51 1.05 0 +cv-sidebar_portrait 1 1 49 49 0.08 0.27 0 +cv-slate_orange 1 1 87 85 0.62 4.99 36 +cv-teal_pulse 1 1 57 57 0.11 0.38 0 +cv-terracotta_rail 1 1 102 102 0.42 0.87 0 +cv-timeline_minimal 2 2 89 86 1.44 1.57 0 +cv-violet_grid 1 1 80 77 0.35 2.34 14 +invoice-classic 1 1 56 56 0.48 1.22 0 +invoice-classic_long 2 2 166 166 0.51 0.88 0 +invoice-consulting 1 1 92 92 1.10 1.65 3 +invoice-consulting_long 2 2 236 236 0.89 1.36 3 +invoice-luma_studio 1 1 97 97 0.13 0.42 0 +invoice-luma_studio_long 3 3 192 192 0.23 11.75 20 +invoice-merchant 1 1 94 94 0.30 0.75 0 +invoice-metered 1 1 99 99 0.37 0.77 0 +invoice-modern 1 1 54 54 0.31 0.57 0 +invoice-modern_long 2 2 162 162 0.44 0.60 0 +invoice-obsidian 1 1 81 81 0.26 0.62 0 +invoice-payments 1 1 104 100 0.50 1.10 2 +invoice-platform 1 1 111 111 0.19 0.41 0 +invoice-subscription 1 1 81 81 0.45 0.64 0 +invoice-workspace 1 1 90 90 0.44 1.26 0 +letter-blue_banner 1 1 10 10 0.39 0.50 0 +letter-boxed_sections 1 1 10 10 0.55 0.63 0 +letter-centered_headline 1 1 11 11 0.03 0.19 0 +letter-classic_serif 1 1 10 10 0.13 0.17 0 +letter-compact_mono 1 1 10 8 0.28 0.35 0 +letter-editorial_blue 1 1 12 12 0.19 0.26 0 +letter-engineering_resume 1 1 15 15 1.27 1.57 0 +letter-executive 1 1 12 12 0.12 0.24 0 +letter-mint-editorial-letter 1 1 10 10 0.18 0.32 0 +letter-modern_professional 1 1 12 12 0.28 0.46 0 +letter-monogram_sidebar 1 1 12 12 0.14 0.20 0 +letter-nordic_clean 1 1 15 15 0.16 0.35 0 +letter-panel 1 1 13 13 0.17 0.25 0 +letter-sidebar_portrait 1 1 12 12 0.41 0.52 0 +letter-timeline_minimal 1 1 15 15 1.30 1.63 0 +proposal-editorial 2 2 132 120 0.58 2.20 22 +proposal-indigo 1 1 72 70 0.43 27.75 16 +proposal-modern 1 1 44 44 0.35 0.73 0 +proposal-northline 2 2 132 132 0.36 1.75 6 +receipt-modern 1 1 57 57 0.33 0.44 0 +rota-cobalt 1 1 154 154 2.48 3.22 119 diff --git a/scripts/docx-visual/convert-with-word.ps1 b/scripts/docx-visual/convert-with-word.ps1 index da0f5b529..fe11de7cf 100644 --- a/scripts/docx-visual/convert-with-word.ps1 +++ b/scripts/docx-visual/convert-with-word.ps1 @@ -76,6 +76,8 @@ function Convert-WithWord { $out = Join-Path $Destination ($file.BaseName + '.pdf') $doc = $word.Documents.Open($file.FullName, [ref]$false, [ref]$true) try { + # Pagination settled before the export, as Word settles it on screen. + $doc.Repaginate() $doc.ExportAsFixedFormat($out, $WD_EXPORT_FORMAT_PDF) $results += @{ source = $file.Name; pdf = (Split-Path $out -Leaf); pages = $doc.ComputeStatistics(2) } } finally { diff --git a/scripts/docx-visual/word-fidelity.ps1 b/scripts/docx-visual/word-fidelity.ps1 new file mode 100644 index 000000000..d06f19c80 --- /dev/null +++ b/scripts/docx-visual/word-fidelity.ps1 @@ -0,0 +1,61 @@ +<# +.SYNOPSIS + Holds every template preset's DOCX export, as Microsoft Word sets it, to the + Word baseline of the DOCX fidelity corpus. + +.DESCRIPTION + Word is the editor the DOCX export answers to, and CI cannot run it. This is + the same gate DocxFidelityCorpusTest runs with LibreOffice in CI, run locally + with Word: + + 1. the corpus test in `export` mode writes each preset's PDF and DOCX to + qa/target/docx-fidelity/engine; + 2. convert-with-word.ps1 converts the DOCX through a private, hidden Word + instance into qa/target/docx-fidelity/word, recording Word's version; + 3. the corpus test in `word` mode checks that the tree still exports those + DOCX to the byte, measures Word's PDFs line by line against the engine's, + and holds them to qa/src/test/resources/docx-fidelity/word-windows.tsv. + + Word is driven from this PowerShell, not from the build: COM started from the + build's own process tree has stalled Word. Run the install the qa module needs + first, as for any standalone qa run. + +.PARAMETER Update + Rewrites the Word baseline with what was measured, for a change that moves + documents nearer the page. What it writes over is printed first. + +.EXAMPLE + ./mvnw -B -ntp -DskipTests install -pl :graph-compose-qa -am + ./scripts/docx-visual/word-fidelity.ps1 + +.EXAMPLE + ./scripts/docx-visual/word-fidelity.ps1 -Update +#> +[CmdletBinding()] +param( + [switch]$Update +) + +$ErrorActionPreference = 'Stop' +$root = Resolve-Path (Join-Path $PSScriptRoot '..\..') +$mvnw = Join-Path $root 'mvnw.cmd' +$qa = Join-Path $root 'qa\pom.xml' +$work = Join-Path $root 'qa\target\docx-fidelity' + +function Invoke-Corpus { + param([string]$Mode, [string[]]$Extra = @()) + $arguments = @('-B', '-ntp', 'test', '-f', $qa, '-Dtest=DocxFidelityCorpusTest', + '-Dsurefire.failIfNoSpecifiedTests=false', "-Dgraphcompose.docxFidelity=$Mode") + $Extra + & $mvnw @arguments + if ($LASTEXITCODE -ne 0) { throw "the corpus test in $Mode mode failed (exit $LASTEXITCODE)" } +} + +Invoke-Corpus -Mode 'export' + +$pdfs = Join-Path $work 'word' +if (Test-Path $pdfs) { Remove-Item -Recurse -Force $pdfs } +& (Join-Path $PSScriptRoot 'convert-with-word.ps1') -Path (Join-Path $work 'engine') -OutputDir $pdfs +if ($LASTEXITCODE -ne 0) { throw "Word did not convert the corpus (exit $LASTEXITCODE)" } + +$extra = if ($Update) { @('-Dgraphcompose.docxFidelity.update=true') } else { @() } +Invoke-Corpus -Mode 'word' -Extra $extra From 91f6867149dcb9804ab77328fce4b95c61dd94f3 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Thu, 1 Oct 2026 20:55:22 +0100 Subject: [PATCH 2/2] test(qa): measure a Word PDF only for the DOCX its conversion's digest names, and fail an unknown fidelity mode --- CHANGELOG.md | 10 +-- CONTRIBUTING.md | 2 +- .../fidelity/DocxFidelityCorpusTest.java | 70 ++++++++----------- .../fidelity/DocxFidelityGateTest.java | 37 ++++++++++ .../templates/fidelity/WordConversion.java | 64 +++++++++++++++++ scripts/docx-visual/convert-with-word.ps1 | 4 +- scripts/docx-visual/word-fidelity.ps1 | 22 +++--- 7 files changed, 152 insertions(+), 57 deletions(-) create mode 100644 qa/src/test/java/com/demcha/compose/document/templates/fidelity/WordConversion.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fc707d6c..28fcad470 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1492,10 +1492,12 @@ follow semantic versioning; release dates are ISO 8601. - **Word holds the DOCX export to its corpus too.** `scripts/docx-visual/word-fidelity.ps1` runs `DocxFidelityCorpusTest` in two halves around a conversion by a private Word instance: `export` writes the documents, Word converts them, and `word` measures Word's PDFs against - `word-windows.tsv` — after checking this tree still exports, to the byte, the DOCX Word - converted, so a stale conversion fails rather than passing. Word is not driven from the build: - COM started from the build's own process tree has stalled it. `convert-with-word.ps1` now - repaginates before it exports, as Word settles pagination on screen. + `word-windows.tsv`. `convert-with-word.ps1` records the SHA-256 of each DOCX it converts, and + a document is measured only when that is the digest of the DOCX this tree exports, so a + conversion left from another tree fails and names the documents rather than passing. Word is + driven from PowerShell, not from the build: Word driven through COM from a process Git Bash + started has stalled on its first document. `convert-with-word.ps1` also repaginates before it + exports, as Word settles pagination on screen. - **CI holds the DOCX export to its corpus.** The `DOCX Fidelity` job runs `DocxFidelityCorpusTest` on a pinned Ubuntu image with LibreOffice whenever the engine, a diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d051ae10a..7ab8bf7f5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -361,7 +361,7 @@ Choose the smallest tests that match the change: run's as the Windows one. Microsoft Word, the editor the export answers to, is not in CI: on Windows with Word, `scripts/docx-visual/word-fidelity.ps1` (`-Update` to rewrite) exports the corpus, has a private Word instance convert it, and holds it to `word-windows.tsv` — run it - before a DOCX export change is opened. + from PowerShell (pwsh), after the install above, before a DOCX export change is opened. If a change affects public docs, examples, or screenshots, update those assets in the same PR so the repository stays internally consistent. diff --git a/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityCorpusTest.java b/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityCorpusTest.java index 4273c14d9..e846db2a8 100644 --- a/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityCorpusTest.java +++ b/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityCorpusTest.java @@ -26,22 +26,23 @@ * Every template preset's DOCX, set by an editor, stands no further from the engine's PDF than * its baseline holds it. * - *

The engine draws each corpus document to PDF and exports it to DOCX; LibreOffice converts - * the DOCX to PDF; each document is measured line by line against the page + *

The engine draws each corpus document to PDF and exports it to DOCX; an editor converts the + * DOCX to PDF; each document is measured line by line against the page * ({@link FidelityMeasurement}) and held to the baseline for this editor and operating system * ({@link FidelityBaseline}). A change to the export that sets any document further from the * page fails here, wherever the document is.

* - *

It runs only when asked for, with {@code -Dgraphcompose.docxFidelity=libreoffice}: it - * needs LibreOffice and takes a few minutes. Asked for and without LibreOffice, it fails rather - * than passing unrun. Microsoft Word, the editor the export answers to, is measured on Windows - * in two runs around a conversion of its own ({@code scripts/docx-visual/word-fidelity.ps1}): - * {@code export} writes the documents, Word converts them, and {@code word} measures Word's - * PDFs — first checking that this tree still exports, to the byte, the DOCX Word converted — - * against {@code word-windows.tsv}. {@code -Dgraphcompose.docxFidelity.update=true} writes what it measured as - * the baseline, for a change that moves documents nearer the page; the baseline's diff then - * shows the reviewer which documents moved. The documents, their PDFs and the report are left - * in {@code target/docx-fidelity}.

+ *

It runs only when asked for, with {@code -Dgraphcompose.docxFidelity}, and takes a few + * minutes; a value it does not know fails. {@code libreoffice} exports, converts with + * LibreOffice and measures, and fails rather than passing unrun without LibreOffice. Microsoft + * Word, the editor the export answers to, converts outside the build, around two runs of this + * test ({@code scripts/docx-visual/word-fidelity.ps1}): {@code export} writes the documents, + * Word converts them, and {@code word} measures Word's PDFs against {@code word-windows.tsv} — + * each only when the DOCX Word converted, by the SHA-256 its conversion records, is the one + * this tree exports ({@link WordConversion}). {@code -Dgraphcompose.docxFidelity.update=true} + * writes what it measured as the baseline, for a change that moves documents nearer the page; + * the baseline's diff then shows the reviewer which documents moved. The documents, their PDFs + * and the report are left in {@code target/docx-fidelity}.

*/ class DocxFidelityCorpusTest { @@ -52,27 +53,33 @@ class DocxFidelityCorpusTest { @Test void everyDocumentStandsNoFurtherFromThePageThanItsBaseline() throws Exception { String mode = System.getProperty("graphcompose.docxFidelity", ""); - Assumptions.assumeTrue(List.of(LIBREOFFICE, WORD, EXPORT).contains(mode), - "NOT_RUN: the DOCX fidelity corpus runs with -Dgraphcompose.docxFidelity=libreoffice, " - + "or export then word (scripts/docx-visual/word-fidelity.ps1)"); + Assumptions.assumeTrue(!mode.isEmpty(), "NOT_RUN: the DOCX fidelity corpus runs with " + + "-Dgraphcompose.docxFidelity=libreoffice, or with Word through scripts/docx-visual/word-fidelity.ps1"); + assertThat(mode).as("-Dgraphcompose.docxFidelity").isIn(LIBREOFFICE, WORD, EXPORT); Path work = Path.of("target", "docx-fidelity").toAbsolutePath(); - Path engine = Files.createDirectories(work.resolve("engine")); + Path engine = work.resolve("engine"); List corpus = corpus(); String note; Path editor = work.resolve(mode); if (mode.equals(WORD)) { - // Word converts what export wrote, outside this run: COM from the build's own - // process tree can stall. The DOCX it converted must be the one this tree exports. + // Word converts outside this run (see word-fidelity.ps1), so its PDFs are measured + // only when the DOCX it converted is, to the byte, the one this tree exports. + assertThat(LibreOfficeConverter.platform()).as("Word is measured on Windows").isEqualTo("windows"); + WordConversion conversion = WordConversion.read(editor); + Files.createDirectories(engine); List stale = new ArrayList<>(); for (DocxCorpusDocument document : corpus) { - if (!exportUnchanged(document, engine)) { + if (!conversion.convertedFrom(document.stem() + ".docx", exportTo(document, engine))) { stale.add(document.stem()); } } - assertThat(stale).as("DOCX this tree exports otherwise than the ones Word converted: run " + assertThat(stale).as("documents Word converted from other DOCX than this tree exports: run " + "scripts/docx-visual/word-fidelity.ps1, which exports and converts first").isEmpty(); - note = WORD + " " + wordVersion(editor) + " on " + LibreOfficeConverter.platform(); + note = WORD + " " + conversion.version() + " on " + LibreOfficeConverter.platform(); } else { + // A document no longer in the corpus leaves no DOCX for an editor to convert. + deleteTree(engine); + Files.createDirectories(engine); List docx = new ArrayList<>(); for (DocxCorpusDocument document : corpus) { docx.add(export(document, engine)); @@ -145,27 +152,6 @@ static List corpus() { return corpus; } - /** - * Writes a document's PDF, and says whether its DOCX, exported to the byte the same each time, - * is the one already in {@code dir}. - */ - private static boolean exportUnchanged(DocxCorpusDocument document, Path dir) throws Exception { - Path docx = dir.resolve(document.stem() + ".docx"); - byte[] exported = exportTo(document, dir); - return Files.exists(docx) && java.util.Arrays.equals(Files.readAllBytes(docx), exported); - } - - /** The Word version the conversion beside its PDFs records, or {@code unknown}. */ - private static String wordVersion(Path pdfs) { - Path record = pdfs.resolve("conversion.json"); - try { - var tree = new com.fasterxml.jackson.databind.ObjectMapper().readTree(record.toFile()); - return tree.path("version").asText("unknown"); - } catch (java.io.IOException unreadable) { - return "unknown"; - } - } - /** Writes a document's PDF and its DOCX; returns the DOCX. */ private static Path export(DocxCorpusDocument document, Path dir) throws Exception { Path docx = dir.resolve(document.stem() + ".docx"); diff --git a/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityGateTest.java b/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityGateTest.java index 58c7eddd8..b7f45c56e 100644 --- a/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityGateTest.java +++ b/qa/src/test/java/com/demcha/compose/document/templates/fidelity/DocxFidelityGateTest.java @@ -205,6 +205,43 @@ void twoColumnsOnOneBaselineAreTwoLines() throws Exception { assertThat(PdfLines.of(page).lines()).extracting(PdfLines.Line::key).containsExactly("left", "right"); } + @Test + void aWordConversionIsMeasuredOnlyForTheDocxItConverted() throws Exception { + byte[] docx = docx(); + // As convert-with-word.ps1 writes it: UTF-8 with a byte-order mark, the digest in hex. + Files.write(dir.resolve("conversion.json"), ("{\"version\": \"16.0 (16.0.20430)\", \"results\": [" + + "{\"source\": \"cv-probe.docx\", \"sha256\": \"" + WordConversion.sha256(docx).toUpperCase() + "\"}]}") + .getBytes(java.nio.charset.StandardCharsets.UTF_8)); + + WordConversion conversion = WordConversion.read(dir); + byte[] edited = docx.clone(); + edited[edited.length / 2] ^= 1; + + assertThat(conversion.version()).isEqualTo("16.0 (16.0.20430)"); + assertThat(conversion.convertedFrom("cv-probe.docx", docx())).as("exported again, the same bytes").isTrue(); + assertThat(conversion.convertedFrom("cv-probe.docx", edited)).as("a byte otherwise").isFalse(); + assertThat(conversion.convertedFrom("cv-other.docx", docx)).as("a document it never converted").isFalse(); + } + + @Test + void aWordConversionWithoutItsRecordOrItsBuildIsRefused() throws Exception { + assertThatThrownBy(() -> WordConversion.read(dir)).isInstanceOf(IllegalStateException.class) + .hasMessageContaining("no Word conversion recorded"); + Files.writeString(dir.resolve("conversion.json"), "{\"results\": []}"); + assertThatThrownBy(() -> WordConversion.read(dir)).isInstanceOf(IllegalStateException.class) + .hasMessageContaining("names no Word build"); + } + + /** A small document's DOCX, exported as the corpus exports it. */ + private static byte[] docx() throws Exception { + try (DocumentSession session = GraphCompose.document().pageSize(400, 300) + .margin(DocumentInsets.of(20)).create()) { + session.pageFlow(flow -> LINES.forEach(flow::addParagraph)); + return session.export(com.demcha.compose.document.backend.semantic.docx.DocxSemanticBackend.builder() + .deterministic(true).build()); + } + } + @Test void aMalformedBaselineRowIsRefusedByName() { assertThatThrownBy(() -> FidelityMeasurement.parse("cv-a\t1\tone\t40\t39\t0.25\t0.5\t1", Map.of())) diff --git a/qa/src/test/java/com/demcha/compose/document/templates/fidelity/WordConversion.java b/qa/src/test/java/com/demcha/compose/document/templates/fidelity/WordConversion.java new file mode 100644 index 000000000..0a176dc0e --- /dev/null +++ b/qa/src/test/java/com/demcha/compose/document/templates/fidelity/WordConversion.java @@ -0,0 +1,64 @@ +package com.demcha.compose.document.templates.fidelity; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.HexFormat; +import java.util.LinkedHashMap; +import java.util.Locale; +import java.util.Map; + +/** + * What a Word conversion of the corpus records beside its PDFs, in {@code conversion.json} + * ({@code scripts/docx-visual/convert-with-word.ps1}): the Word build that converted, and the + * SHA-256 of each DOCX it converted. + * + *

Word converts outside the build, so its PDFs can be of DOCX another tree exported. A PDF is + * measured only when the DOCX it was converted from is, to the byte, the one this tree exports.

+ * + * @param version the Word build, as Word states it + * @param converted the SHA-256 of each converted DOCX, in lower-case hex, by its file name + */ +record WordConversion(String version, Map converted) { + + /** Reads the record a conversion left in {@code dir}; refuses one that is missing or lacks a build. */ + static WordConversion read(Path dir) throws IOException { + Path record = dir.resolve("conversion.json"); + if (!Files.isRegularFile(record)) { + throw new IllegalStateException("no Word conversion recorded in " + record + + ": run scripts/docx-visual/word-fidelity.ps1"); + } + JsonNode tree = new ObjectMapper().readTree(record.toFile()); + String version = tree.path("version").asText(""); + if (version.isBlank()) { + throw new IllegalStateException(record + " names no Word build"); + } + Map converted = new LinkedHashMap<>(); + for (JsonNode result : tree.path("results")) { + String source = result.path("source").asText(""); + String hash = result.path("sha256").asText(""); + if (!source.isBlank() && !hash.isBlank()) { + converted.put(source, hash.toLowerCase(Locale.ROOT)); + } + } + return new WordConversion(version, converted); + } + + /** Whether Word converted, to the byte, the DOCX given for {@code fileName}. */ + boolean convertedFrom(String fileName, byte[] docx) { + return sha256(docx).equals(converted.get(fileName)); + } + + static String sha256(byte[] bytes) { + try { + return HexFormat.of().formatHex(MessageDigest.getInstance("SHA-256").digest(bytes)); + } catch (NoSuchAlgorithmException missing) { + throw new IllegalStateException(missing); + } + } +} diff --git a/scripts/docx-visual/convert-with-word.ps1 b/scripts/docx-visual/convert-with-word.ps1 index fe11de7cf..6699156ec 100644 --- a/scripts/docx-visual/convert-with-word.ps1 +++ b/scripts/docx-visual/convert-with-word.ps1 @@ -79,7 +79,9 @@ function Convert-WithWord { # Pagination settled before the export, as Word settles it on screen. $doc.Repaginate() $doc.ExportAsFixedFormat($out, $WD_EXPORT_FORMAT_PDF) - $results += @{ source = $file.Name; pdf = (Split-Path $out -Leaf); pages = $doc.ComputeStatistics(2) } + # The DOCX's digest ties the PDF to the file it was converted from. + $results += @{ source = $file.Name; pdf = (Split-Path $out -Leaf); pages = $doc.ComputeStatistics(2); + sha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $file.FullName).Hash.ToLowerInvariant() } } finally { $doc.Close([ref]$false) [Runtime.InteropServices.Marshal]::ReleaseComObject($doc) | Out-Null diff --git a/scripts/docx-visual/word-fidelity.ps1 b/scripts/docx-visual/word-fidelity.ps1 index d06f19c80..f847791cb 100644 --- a/scripts/docx-visual/word-fidelity.ps1 +++ b/scripts/docx-visual/word-fidelity.ps1 @@ -12,24 +12,26 @@ qa/target/docx-fidelity/engine; 2. convert-with-word.ps1 converts the DOCX through a private, hidden Word instance into qa/target/docx-fidelity/word, recording Word's version; - 3. the corpus test in `word` mode checks that the tree still exports those - DOCX to the byte, measures Word's PDFs line by line against the engine's, - and holds them to qa/src/test/resources/docx-fidelity/word-windows.tsv. + 3. the corpus test in `word` mode checks, by the SHA-256 the conversion + recorded, that Word converted the DOCX this tree exports, measures Word's + PDFs line by line against the engine's, and holds them to + qa/src/test/resources/docx-fidelity/word-windows.tsv. - Word is driven from this PowerShell, not from the build: COM started from the - build's own process tree has stalled Word. Run the install the qa module needs - first, as for any standalone qa run. + Run it from PowerShell (pwsh), not through powershell.exe under Git Bash: Word + driven through COM from a process Git Bash started has stalled on its first + document. Run the install the qa module needs first, as for any standalone qa + run. .PARAMETER Update Rewrites the Word baseline with what was measured, for a change that moves documents nearer the page. What it writes over is printed first. .EXAMPLE - ./mvnw -B -ntp -DskipTests install -pl :graph-compose-qa -am - ./scripts/docx-visual/word-fidelity.ps1 + .\mvnw.cmd -B -ntp -DskipTests install -pl :graph-compose-qa -am + .\scripts\docx-visual\word-fidelity.ps1 .EXAMPLE - ./scripts/docx-visual/word-fidelity.ps1 -Update + .\scripts\docx-visual\word-fidelity.ps1 -Update #> [CmdletBinding()] param( @@ -54,6 +56,8 @@ Invoke-Corpus -Mode 'export' $pdfs = Join-Path $work 'word' if (Test-Path $pdfs) { Remove-Item -Recurse -Force $pdfs } +# The converter sets an exit code only when it stops early (2, NOT_RUN); clear the build's. +$global:LASTEXITCODE = 0 & (Join-Path $PSScriptRoot 'convert-with-word.ps1') -Path (Join-Path $work 'engine') -OutputDir $pdfs if ($LASTEXITCODE -ne 0) { throw "Word did not convert the corpus (exit $LASTEXITCODE)" }