Research Memo: Marketing Asset Document Pipeline Evaluation
Date: 2026-04-16
Status: Draft research memo
Scope: One-pagers, two-pagers, and other multi-page branded PDF leave-behinds
Question
How should Brainforge streamline development of marketing one-pagers and multi-page PDFs while staying close to the way the repo already stores sales content and the way the Platform already distributes asset files?
Brainforge Current State
0. Final visual layouts currently live in Figma
The current one-pagers and multi-page leave-behinds were originally designed in Figma and exported from there. The relevant design file is:
Sales Assets-https://www.figma.com/design/mKTpR46wYleYtLKF0qciSc/Sales-Assets
Initial inspection of the file confirms Brainforge is using fixed-composition, print-oriented frames rather than purely fluid web layouts. The file includes multi-page asset structures such as:
Event Data ModelingEvent Data Modeling - Page 1Event Data Modeling - Page 2
These frames are laid out as explicit print pages, which means the evaluation should optimize for faithful print composition, not just responsive web rendering.
Follow-up inspection shows the file is organized into actual asset families and reusable print components rather than standalone exports. Important signals:
1-Pagers V1is organized by status columns such asArchived,WIP,Needs Review, andFinal.- Asset families include
General Services,Service Offerings,Deep Dive on Data Services,Deep Dive on AI & Automation,Pricing Page, andFAQs. - The file includes a dedicated
1-Pager V1 Componentssection with reusable1-Pager Heading,Successes, andFootercomponents.
The layout system is also highly regular:
- dominant page size is
2550 x 3300 - common content region is
x=100,width=2350 - the shared heading block is
2550 x 991 - footer treatments are reused near the bottom of the page with a separate brand strip and, for multi-page assets, page numbers
Implication: Brainforge should evaluate a componentized print-layout system, not just generic HTML rendering quality.
1. Source material already exists in markdown
Brainforge already stores reusable GTM copy in markdown under knowledge/sales/marketing-assets/.
Relevant patterns:
knowledge/sales/marketing-assets/design-ready-copy/README.mddefines these files as copy-only inputs for one-pagers and two-pagers.knowledge/sales/marketing-assets/design-ready-copy/insurance-broker-lead-intake-2pager.mdshows the current structure Brainforge wants from source documents: sectioned copy, KPI callouts, process steps, CTA, and optional wording variations.knowledge/sales/agents/prompts/service-asset-prompts/one-pager-prompt.mdalready encodes a repeatable content structure for one-pagers.
Implication: Brainforge does not have an authoring problem first. It already has a source-content system.
Implication from Figma: Brainforge also does not have a visual-direction problem first. It already has a design source of truth. The gap is the translation layer between source copy, branded layout, and exported files.
2. The Platform already has a distribution layer
apps/platform/src/app/(main)/marketing-assets/page.tsx is a cataloging and browsing surface for marketing assets. It reads files plus metadata and supports filtering, editing metadata, and asset discovery.
Implication: the Platform already knows how to surface finished assets. The main missing layer is generation and publish automation.
3. The current GitHub integration is repo-wide, not PDF-specific
apps/platform/src/lib/githubApi.ts uses fetchPDFFiles, but the current implementation recursively collects lowercase files across the target GitHub repo rather than enforcing a strict .pdf filter.
Implication:
- Brainforge’s asset distribution flow is broader than PDFs alone.
- A future pipeline can publish HTML, markdown, or metadata sidecars alongside PDFs if useful.
- The eventual generation system should fit the existing GitHub-backed asset model instead of bypassing it.
Existing Brainforge Workflow Shape
Today, the workflow looks roughly like this:
- GTM or Sales Engineering creates source copy in markdown.
- Design-ready copy is prepared for one-pagers and two-pagers.
- Finished assets are stored in
brainforge-filesand surfaced by the Platform marketing asset browser.
The gap is between steps 2 and 3:
- there is no standardized renderer
- there is no documented HTML/PDF export path
- there is no clear recommendation for branded multi-page pagination
External Research Signal
Last-30-days research was most useful when narrowed to template-driven document generation rather than generic business phrasing.
The strongest recurring signal was:
- teams solving this problem now typically use HTML/CSS templates plus server-side PDF rendering
- the winning pattern is usually source content → reusable template → export pipeline
- page-aware CSS and print tooling become important only when multi-page formatting quality matters
Implication: Brainforge should evaluate modern HTML-first rendering before introducing a separate document-authoring language.
OSS Landscape
Strong-fit candidates
1. Puppeteer
Repo: https://github.com/puppeteer/puppeteer
Why it fits:
- renders branded HTML/CSS with high fidelity
- easy match for a Platform-adjacent Node stack
- flexible for one-pagers and multi-page PDFs
- good baseline even if Brainforge later adds richer print tooling
Main tradeoff:
- Brainforge would own rendering conventions and print CSS discipline
2. Gotenberg
Repo: https://github.com/gotenberg/gotenberg
Why it fits:
- clean backend service for HTML-to-PDF conversion
- good option if Brainforge wants document rendering as infrastructure instead of app code
- can centralize conversion concerns
Main tradeoff:
- adds another service to operate
- still depends on Brainforge owning the HTML/template layer
3. Paged.js
Repo: https://github.com/pagedjs/pagedjs
Why it fits:
- improves pagination and print-specific layout behavior
- useful when one-pagers expand into polished multi-page leave-behinds
- can sit on top of an HTML-first pipeline instead of replacing it
Main tradeoff:
- more complexity than Brainforge likely needs for a first pass
4. Vivliostyle
Repo: https://github.com/vivliostyle/vivliostyle.js
Why it fits:
- stronger typesetting and paged-media capabilities for editorial-quality documents
- attractive if Brainforge wants more formal multi-page publishing quality
Main tradeoff:
- likely heavier than needed for the first evaluation cycle
Contrast options worth understanding, but not leading with
5. React PDF
Repo: https://github.com/diegomura/react-pdf
Pros:
- React-native authoring model
- attractive if the team wants every document as a React component
Cons:
- weaker fit for HTML/CSS reuse
- pushes Brainforge toward component-authored documents instead of source-first template rendering
6. pdfme
Repo: https://github.com/pdfme/pdfme
Pros:
- helpful for form-like or structured templates
- strong designer/template tooling in some workflows
Cons:
- less obvious fit for polished marketing one-pagers and narrative multi-page leave-behinds
7. Typst
Repo: https://github.com/typst/typst
Pros:
- strong typesetting model
- attractive for teams willing to adopt a document language
Cons:
- introduces a new authoring surface and workflow
- does not align as naturally with existing markdown-first GTM assets
Recommendation
Best-fit baseline
Brainforge should start with:
markdown or structured copy -> branded HTML template -> server-side PDF render -> publish to existing asset flow
Why this is the best starting point:
- matches current markdown-heavy GTM workflow
- fits the Platform and Node ecosystem
- keeps authoring simple for GTM and Sales Engineering
- leaves room to add stronger print-layout tooling later
- does not require a new document language up front
- can be tuned to approximate current Figma exports closely enough for branded leave-behinds if the template layer respects the fixed page geometry and reusable section system already present in Figma
Important caveat after Figma review
Because the existing assets were composed in Figma as print-first layouts, Brainforge should not assume that a generic markdown-to-PDF pipeline will be sufficient. The first architecture spike should be judged against real Figma compositions for:
- spacing rhythm
- typography scale
- section density
- page break behavior
- placement of proof blocks, KPI bands, and roadmap sections
It should also explicitly test whether the renderer can support the recurring Figma component families without manual post-layout work:
- shared hero/header variants
- bottom CTA/footer variants
- success metrics blocks
- service card rows
- pricing / comparison matrices
- FAQ question-answer stacks
- roadmap step modules
Preferred order of evaluation
- HTML templates + Puppeteer
- HTML templates + Gotenberg
- HTML templates + Paged.js or Vivliostyle for advanced pagination
- React PDF only as a contrast path
- Typst only if Brainforge decides it wants a separate publishing language
Brainforge-Specific Architectural Direction
The likely target system is:
- Source files live in
knowledge/sales/marketing-assets/and related GTM docs. - A renderer normalizes those sources into a structured document model.
- Branded templates render HTML for archetypes like one-pager, service two-pager, case study, and leave-behind, with asset-family-specific layout components.
- A server-side export step generates PDF.
- Outputs publish into the existing GitHub-backed asset library used by the Platform.
This keeps Brainforge’s content layer, rendering layer, and distribution layer cleanly separated.
Open Questions
- Should rendering live inside
apps/platform, in a small adjacent service, or as a background job? - Should Brainforge publish only final PDFs, or also intermediate HTML for review/debugging?
- How much print-specific layout sophistication is actually needed for the first archetypes?
- Should the pipeline start with markdown parsing only, or define a stricter structured schema for document sections?
Bottom Line
Brainforge already has the source assets and the distribution layer. The highest-leverage missing capability is a reusable HTML-first rendering pipeline with server-side PDF generation. The first tests should focus on that architecture before considering separate document languages or designer-heavy template systems.
The new constraint is that the generated output should be evaluated against the existing Figma compositions, because those are the current visual benchmark for what Brainforge considers a finished asset.
Last updated: 2026-04-16