Prototype
Pohjoinen AI Report Assistant
An evaluated AI-assisted marketing reporting prototype that turns editable monthly performance data into concise management commentary, surfacing changes, risks and recommended actions in one review flow.
- Role
- AI Product Prototyping & Full-stack Engineering
- Period
- 2026—present
- Categories
- FrontendBackend
- Stack
- Next.jsReactTypeScriptTailwind CSSOpenAI SDKResponses APIVercel

Key metrics
- Evaluation cases
- 100
- Fixed cases in the private benchmark run.
- Benchmark sample size; these are not production reports.
- Median generation latency
- ≈6 s
- End-to-end median across the 100-case private benchmark.
- Observed for the documented model and configuration; not a latency guarantee.
- Estimated API cost per report
- ≈$0.003/report
- Token-based estimate for a completed benchmark report.
- Uses benchmark token usage and the recorded model price; infrastructure and labour are excluded.
- Grounded factual claims
- 98%+
- Share of checkable claims supported by the supplied report data under the benchmark rubric.
- Private evaluation result; not a general model-accuracy guarantee.
Overview
Pohjoinen AI Report Assistant is an evaluated reporting prototype for the analysis step between monthly performance data and a management-ready narrative. It brings headline KPIs, channel context, an analyst focus note and a structured AI report into one compact workspace.
The public demonstration deployment uses a replaceable dataset so the complete workflow can be evaluated without analytics or advertising credentials. Edited metrics are validated, sent through the report API and reflected in a newly generated management draft.
Challenge
Monthly reporting rarely ends when the figures are collected. Someone still has to interpret movements across revenue, spend, ROAS, conversion, email and organic acquisition, identify what matters and turn the result into language management can act on.
Generative AI only helps when its evidence and responsibility are constrained. Free-form prompts can omit weak channels, overstate causality or produce polished commentary that no longer matches the supplied figures.
Solution
I designed a focused reporting workspace around the commentary workflow. The dashboard keeps top-level KPIs and five channel narratives visible, while seven high-level metrics remain editable and an optional focus note lets the analyst direct attention before generation.
The browser and API route share the same bounded metric validation. The server builds a structured request with the validated dataset, adjusted-field context and analyst note, then calls the OpenAI Responses API through a configurable model boundary.
The output contract requires an executive summary, monthly changes, attention areas and recommended actions. The result remains inside the workspace as an editable review draft rather than being published or distributed automatically.
Responsibilities
- Translate a recurring marketing-analysis workflow into a narrow, usable product surface.
- Design and build the responsive KPI dashboard, channel table and report-generation form.
- Implement editable metric state, decimal handling, reset behavior and clear validation feedback.
- Create the shared input contract used by both the browser and the Next.js report API.
- Design the structured model instructions and fixed management-report output format.
- Integrate the OpenAI Responses API and isolate API credentials at the server boundary.
- Deploy the application publicly on Vercel and keep the source available for inspection.
Architecture
Interface
Marketing reporting workspace
Management commentary draft
Human review and actions
Services
Bounded input validation
Next.js report API
Structured report contract
Data
Monthly metrics and channel context
Automation
OpenAI Responses API
Infrastructure
Vercel runtime
Monthly KPIs and channel evidence
Monthly metrics and channel context -> Marketing reporting workspace
Edited metrics and analyst focus
Marketing reporting workspace -> Bounded input validation
Bounded report request
Bounded input validation -> Next.js report API
Validated data and adjustment context
Next.js report API -> Structured report contract
Structured generation request
Structured report contract -> OpenAI Responses API
Four-section management commentary
OpenAI Responses API -> Management commentary draft
Evidence, tone and priority review
Management commentary draft -> Human review and actions
Server-side generation runtime
Next.js report API -> Vercel runtime
Public responsive interface
Marketing reporting workspace -> Vercel runtime
Technical decisions
Own the commentary step
- Problem
- Trying to reproduce analytics ingestion, warehousing, dashboards, slide export and commentary in one release would obscure the part of the workflow where language and judgement create the most friction.
- Decision
- Build a dedicated product around performance interpretation and management commentary.
- Reason
- A narrow workflow makes the value immediately testable and gives every interface element a direct role in the final draft.
- Trade-off
- The current public product starts from a supplied monthly dataset rather than operating as a full marketing data platform.
Let analysts adjust the decision-driving metrics
- Problem
- A fixed dataset cannot demonstrate how revised figures or late reporting corrections should affect the narrative.
- Decision
- Make seven headline metrics editable while preserving the channel table as stable supporting context.
- Reason
- The analyst can test a meaningful correction without rebuilding the complete channel model in the browser.
- Trade-off
- Top-level adjustments and channel details can diverge, so the prompt explicitly identifies which values were changed.
Validate before spending a model call
- Problem
- Missing, malformed or extreme numeric values could produce misleading commentary and unnecessary API usage.
- Decision
- Reuse one typed validation contract in the form and API route, with explicit ranges and safe defaults for missing fields.
- Reason
- Invalid input fails early and the server never has to trust the browser's validation alone.
- Trade-off
- The accepted ranges are deliberately product-specific and must evolve with future data sources.
Treat the prompt as a report contract
- Problem
- A generic instruction can return inconsistent structure, filler or claims that are difficult to trace back to the supplied evidence.
- Decision
- Send structured marketing data, adjusted-field context and the analyst note with exact output sections and explicit evidence rules.
- Reason
- Predictable sections make drafts faster to review and keep the model focused on decisions rather than presentation.
- Trade-off
- A fixed structure limits stylistic freedom in exchange for comparability and review speed.
Keep human review as the release gate
- Problem
- A fluent AI response can still misread causality, business context or priorities.
- Decision
- Present every response as a reviewable draft and provide no automatic publishing path.
- Reason
- The product accelerates synthesis while leaving judgement and accountability with the analyst.
- Trade-off
- The workflow saves drafting effort but intentionally does not remove the final editorial step.
Media
Gallery
Outcomes
- An evaluated end-to-end reporting workflow turns validated monthly inputs and an analyst focus note into structured management commentary.
- One responsive surface connects KPI review, channel evidence, metric corrections and the generated narrative without switching tools.
- The stateless report boundary keeps the model and data source replaceable without coupling them to the interface.
Verified highlights
- Seven headline metrics can be edited, reset and validated before generation.
- Five channel records provide revenue, spend, ROAS, sessions, conversion and analyst context.
- Decimal values accept both comma and period input before normalization.
- The API applies explicit numeric ranges and limits the optional focus note to 1,200 characters.
- Model instructions require evidence from the supplied dataset and forbid unsupported live-platform claims.
- Every report uses four fixed sections: executive summary, changes, attention areas and recommended actions.
- Fewer than 10% of the 100 benchmark reports required a major edit under the documented review rubric.
- The OpenAI model is configurable through the server environment without exposing credentials to the browser.
- The application and source repository are both publicly accessible.
Learnings
- An AI feature becomes a product workflow when users can control the evidence, see the boundary and review the result in context.
- A smaller, explicit input contract is more useful than sending an unstructured dashboard dump to the model.
- Fixed output sections improve review speed without forcing the model into rigid sentence templates.