AvailableAI systems & fullstack work

Back to selected work

Case study 01

Building the intelligence layer for retail teams managing real inventory decisions.

A story-led case study on how I helped turn forecasting, agent workflows, cloud worker reliability, backend APIs, and React surfaces into production-oriented retail planning systems at Techstars-backed HeySynth.

Role

Fullstack AI/ML Engineer

Status

Evidence-backed case study

Evidence visual
HeySynth case study hero
Evidence visual

HeySynth

Flagship product evidence, shown inline so the reader stays inside the case study.

10 proof assets

5

Codebase surfaces: ML, worker, backend, agents, frontend

6+

Workflow families across forecasting, agents, imports, analytics, chat, and collaboration

Technical Scope

Forecasting engineAgent orchestrationCloud workersMLOps reliabilityBackend APIsOperator UI

Stack

PythonTypeScriptNode.jsReactLangGraphCloud Pub/SubMLOps reliabilityMongoDB

Story Snapshot

The short version before the deep dive.

Situation

HeySynth was building an AI supply-chain OS for retail and CPG teams, where forecast quality, agent reliability, and operator trust all had to meet inside the same product workflow.

Problem

The system needed to handle uneven SKU history, messy spreadsheet imports, channel-specific business assumptions, and AI recommendations that had to be useful without exposing internal tool noise.

Direction

I worked across ML services, cloud workers, backend APIs, agent systems, and frontend surfaces to make forecasting and agent workflows more controllable, reliable, and operator-friendly.

Case Study Narrative

Problem, solution, and the thinking behind the system.

A product story anchored in the screens, workflows, and implementation evidence behind the build.

01 / Situation

Forecasting was not a model problem alone. It was an operations problem.

At HeySynth, forecasts lived inside a wider retail operating system. Operators were not asking for a beautiful prediction chart in isolation; they needed decisions they could use for inventory planning, replenishment, channel strategy, and day-to-day exception handling.

That made the engineering problem bigger than model accuracy. A single SKU could behave differently across Credo, Etsy, Sephora, Target, Shopify, or wholesale channels. Some products had enough history for richer model paths. Others had sparse or noisy data where a confident-looking forecast could quietly become dangerous.

The product needed an intelligence layer that could adapt to those realities while still giving operators clear controls and predictable system behavior.

The user problem was operational trust, not just prediction output.

Retail context changed the right model behavior by SKU, channel, and time window.

02 / Problem

The system had to make AI useful without making operators surrender control.

Early forecasting and agent workflows carried the usual production-AI risks: brittle model paths, inconsistent data imports, long-running jobs with unclear status, and AI responses that could drift away from grounded operational context.

For a planning team, those issues compound quickly. If a forecast import fails silently, a dashboard can mislead. If an agent leaks internal tool traces, trust drops. If every SKU goes through the same model strategy, products with thin history get treated like products with strong signal.

The challenge was to design around real-world mess: variable data quality, asynchronous processing, multiple services, and frontend workflows where the user still needed to understand what changed and why.

Forecast control needed to be explicit, not hidden inside backend logic.

Long-running AI/data workflows needed validation, fallbacks, and visible completion states.

03 / Thought Process

I treated control, reliability, and explainability as product features.

My first principle was that one model path would not be enough. Products with different history depth should not be forced into the same forecasting strategy, so the forecasting layer needed safer fallback behavior and model routing based on data availability.

The second principle was that operators needed forecast controls inside the product. If a business user wants a conservative posture for one retail channel, an aggressive assumption for another, or a temporary override during a planning window, that should be represented as a workflow, not an engineering ticket.

The third principle was that AI work should not block the interface. Spreadsheet ingestion, AI-assisted extraction, and forecast processing were better handled as asynchronous cloud workers with validation gates, runtime checks, and realtime completion or error events.

Move model choice closer to data reality.

Expose business control where operators already work.

Push slow/fragile processing into resilient MLOps and worker pipelines.

04 / Flow

I helped shape the operating cockpit where signals become actions.

Flow represents the product direction I cared about most: AI that watches operations, summarizes what changed, and helps teams decide what needs attention today.

The screen is intentionally operational. It groups signals by urgency, shows refresh context, separates critical issues from review items, and turns stockout risk into a visible business consequence instead of a hidden model output.

This matters because production AI has to meet users inside their actual workflow. A forecast is only useful if it becomes an action at the right time, with enough context for a team to trust it.

Converted AI/forecast outputs into priority-based operational signals.

Connected business consequence, such as stockout risk and revenue at risk, to daily decision-making.

Flow: overnight operations signal cockpit
Image proof

Flow: overnight operations signal cockpit

Flow surfaces critical, aware, healthy, and insight signals so operators can start from what changed instead of digging through dashboards.

05 / Ask Synth

The conversational layer had to produce grounded business reports, not generic chat.

Ask Synth was the conversational interface for operators who needed to ask planning questions in plain language. The challenge was not to make a chatbot; it was to make the assistant useful against real retail context.

A user could ask for out-of-stock risks, projected revenue loss, impacted SKUs, or store-level breakdowns. The response needed to feel like a report an operator could act on, while the system still guarded against unsupported claims and internal tool leakage.

My frontend and agent work sat at that boundary: message rendering, prompt/task flow, model output cleanup, agent mode behavior, and UI states that made the assistant feel like part of the product rather than a bolted-on prompt box.

Designed around grounded operator questions, not generic assistant novelty.

Focused on clean AI output, readable reports, and trustworthy decision support.

Ask Synth: operational prompt surface
Image proof

Ask Synth: operational prompt surface

The assistant starts from business context and suggested prompts instead of an empty generic chatbot experience.

Ask Synth: out-of-stock risk report
Image proof

Ask Synth: out-of-stock risk report

A generated OOS report turns an operator request into a structured business narrative with impacted stores, SKUs, and projected revenue loss.

Ask Synth: follow-up decision workflow
Image proof

Ask Synth: follow-up decision workflow

Supporting state for multi-turn planning and follow-up analysis, useful for showing how chat becomes workflow rather than one-off response.

06 / Playbook

Repeated operational questions became automations teams could run again.

Once operators ask the same high-value questions repeatedly, the product should not force them to start from scratch every time. Playbook turned recurring tasks into reusable runs that could be tracked, reviewed, and improved.

This added another layer to the intelligence system: not just ask and answer, but configure, run, measure, and reuse. It also made agent workflows more productized, because successful prompts and analyses could become repeatable operational rituals.

For me, this was another proof point that the work was fullstack AI product engineering. The UI, API contracts, run state, output rendering, and agent behavior had to cooperate.

Shifted valuable prompts from one-off chat into reusable operational workflows.

Made AI runs measurable and reviewable inside the product.

Playbook: recurring operational automation
Image proof

Playbook: recurring operational automation

Playbook organizes active plays, runs, success rate, and task completion so repeated AI workflows become visible operational assets.

Playbook output and run detail
Image proof

Playbook output and run detail

Supporting proof for how generated outputs and run detail can move from chat-like interaction into repeatable workflow history.

07 / Forecasting

Forecasting became a controllable system, not a black-box number.

Forecast Mode is a good example of the system becoming tangible. The UI is not just a settings table; it reflects backend contracts, validation rules, business risk posture, channel-specific behavior, and frontend interaction design working together.

At the SKU level, the problem becomes even more concrete. A planner can inspect and adjust behavior across product rows and sales channels, with time limits and revert behavior represented directly in the workflow.

The upload and forecast surfaces added the other side of the story: bringing messy planning data into the system, processing it safely through worker jobs, and turning it into dashboard states operators could work with.

Exposed model behavior and risk posture as product controls.

Connected import, processing, forecast state, and operator-facing review.

Forecast Mode: channel-level control surface
Image proof

Forecast Mode: channel-level control surface

Forecast behavior can be configured by channel, model posture, rate, time limit, and auto-revert behavior.

SKU-level forecast overrides by sales channel
Image proof

SKU-level forecast overrides by sales channel

Per-SKU and per-channel forecast behavior, including model selection, time limits, and fallback/revert controls.

Forecast dashboard surface
Image proof

Forecast dashboard surface

Forecast dashboard proof for how model output and planning state were exposed to operators in the product.

Forecast upload and ingestion workflow
Image proof

Forecast upload and ingestion workflow

Upload/import proof for the data-ingestion side of the system: getting planning files into structured forecast workflows.

08 / Impact

The outcome was a more dependable foundation for production AI planning.

This work moved forecasting and agent workflows closer to production reality: safer fallbacks, cleaner contracts, better async processing, stronger runtime behavior, and frontend surfaces that made AI decisions easier for operators to act on.

The implementation evidence is strong: the work spans forecasting services, Forecast Mode APIs, cloud-style worker queues, MLOps reliability paths, agent orchestration, and product UI over several months of contribution history.

For a recruiter or hiring team, the signal is ownership. I was not only building UI screens or isolated models. I was working through the messy middle where AI systems become usable products.

Fullstack AI/ML ownership across model, API, cloud worker, agent, and UI layers.

Production-minded implementation with attention to MLOps reliability, controls, and operator trust.

Strong alignment with hybrid/remote roles and work in Canada's tech ecosystem for applied AI systems.

Proof Layer

The work spanned five separate systems, not one isolated feature.

This is the proof layer: each stream maps to implementation history while keeping private repository and customer details out of the public page.

Forecasting engine and retail forecast pipeline

ML + forecasting

Problem

Forecast quality was brittle because retail products had uneven data history: some SKUs had sparse records, while others had enough signal for richer model paths.

What I Built

I implemented a tiered forecasting strategy, improved the 12-month baseline with train/test handling and dynamic rolling averages, added retail-specific forecast services, and stabilized model-specific inference paths including SES and NeuralProphet-style flows.

Evidence from contribution history across forecasting services, retail forecast startup flows, payload contracts, inference-path stabilization, and forecast mode integrations.

Forecast dashboard and planning state
Implementation proof

Forecast dashboard and planning state

Forecast outputs became visible planning state inside the product, giving operators a place to review risk, compare channels, and act on changing inventory conditions.

Forecast mode, imports, and OTB planning APIs

Core backend APIs

Problem

Planning workflows needed better forecast control, safer import behavior, cleaner report lifecycle APIs, and stronger data integrity around retailer/channel context.

What I Built

I shipped Forecast Mode models, services, controllers, validators, feedback metadata, import reliability fixes, OTB report lifecycle endpoints, and forecast/inventory aggregation improvements.

Evidence from contribution history across forecast mode APIs, forecast upload services, inventory/sales aggregation, and OTB report endpoints.

Forecast mode controls across retail channels
Implementation proof

Forecast mode controls across retail channels

A channel-level control surface for model posture, adjustment rates, time limits, and auto-revert behavior, turning forecast strategy into an auditable product workflow.

Asynchronous forecast workers and MLOps reliability

Cloud workers + MLOps

Problem

Spreadsheet-based forecast inputs required reliable background processing, AI-assisted extraction, validation, and status updates without blocking the main product experience or leaving operators unsure whether a job succeeded.

What I Built

I built OTB and general forecast upload workers with mapping-first logic, AI fallback, excluded-row handling, chunked realtime payload delivery, runtime initialization safeguards, job-payload validation, and event bridge improvements.

Evidence from contribution history across forecast workers, queue configuration, AI extraction wiring, realtime event paths, Pub/Sub-style orchestration, and startup/runtime hardening.

Forecast upload and ingestion workflow
Implementation proof

Forecast upload and ingestion workflow

The ingestion side of the system: planning files enter a structured forecast workflow instead of staying trapped in manual spreadsheets and ad hoc cleanup.

Retail, demand planning, and forecast agents

Agent orchestration

Problem

Operator-facing agents needed to give domain-specific recommendations without hallucinating, looping, leaking internal tool traces, or failing under multi-step planning workflows.

What I Built

I built and hardened demand-planning, RetailSense/RetailSynth, and forecast-agent flows with LangGraph-style orchestration, tool contracts, prompt guardrails, state/schema alignment, loop fixes, callback suppression, and cleaner output formatting.

Evidence from Sep 2025-Mar 2026 contribution history across demand-planning, retail intelligence, forecast agents, agent tools, prompt packs, routing, and output-safety utilities.

Ask Synth generated operational report
Implementation proof

Ask Synth generated operational report

Ask Synth turns a planning question into structured decision support, including out-of-stock risk, impacted SKUs, affected doors, and projected business impact.

Operator-facing React surfaces

Frontend product surfaces

Problem

AI recommendations and forecast data needed to be usable inside everyday workflows, not buried inside raw model output or brittle dashboard states.

What I Built

I shipped frontend work across Ask Synth, Flow, Playbook, forecast dashboards, saved views, issue triage, import channels, Space collaboration, Retail Sense analytics, supplier/inventory flows, and multi-brand navigation reliability.

Evidence from Sep 2025-May 2026 contribution history across chat surfaces, Flow hooks, forecast pages, issue sidebars, import menus, Space messaging, Retail Sense analytics, and navigation reliability.

Flow and Playbook operator surfaces
Implementation proof

Flow and Playbook operator surfaces

Flow connects AI signals, alert severity, and suggested actions in one operating surface, making the intelligence layer feel like part of daily retail execution.

Why It Matters

This was not a single feature. It was production AI ownership across the stack.

Open to full-time hybrid/remote roles and Canada's tech ecosystem where applied AI, agentic systems, and production engineering sit at the center of the product.

Evidence

Worked across five connected product surfaces: ML forecasting, backend services, cloud workers, agent orchestration, and React interfaces.

Improved reliability around fragile AI and forecast workflows through validation gates, safer fallbacks, runtime hardening, and clearer completion/error paths.

Strengthened the MLOps path around forecasting by improving worker reliability, async processing, model inference flows, and production feedback loops.

Hardened agent behavior around practical trust problems: loop prevention, output cleanup, prompt guardrails, schema alignment, and internal tool trace suppression.

Connected backend intelligence to operator workflows through chat UX, forecast dashboards, issue triage, saved views, collaboration surfaces, and multi-workspace navigation.

What this says about me

I can own AI systems beyond the model layer, from data and backend contracts to cloud worker infrastructure, agent behavior, and the UI where users make decisions.

I am comfortable in messy, multi-repo product environments where requirements shift and production stability still matters.

I am strongest on applied AI teams building agentic systems, forecasting products, retail operations tooling, or AI-native internal platforms.

Evidence Library

A closer look at the product surfaces.

Curated proof from the workflows behind the story: the operating cockpit, Ask Synth, Playbook, forecasting, and forecast upload surfaces.

Flow operations cockpit
Product screenshot

Flow operations cockpit

The main operational surface: signals, risk, and suggested actions in one place.

01 / 10
Ask Synth prompt surface
Product screenshot

Ask Synth prompt surface

02 / 10
Ask Synth generated OOS report
Product screenshot

Ask Synth generated OOS report

03 / 10
Ask Synth follow-up workflow
Product screenshot

Ask Synth follow-up workflow

04 / 10
Playbook automation overview
Product screenshot

Playbook automation overview

05 / 10
Playbook output detail
Product screenshot

Playbook output detail

06 / 10
Forecast dashboard
Product screenshot

Forecast dashboard

07 / 10
Forecast upload workflow
Product screenshot

Forecast upload workflow

08 / 10
Forecast mode management across retail channels
Product screenshot

Forecast mode management across retail channels

09 / 10
SKU-level forecast overrides by sales channel
Product screenshot

SKU-level forecast overrides by sales channel

10 / 10

Decisions

Trade-offs I owned.

Choosing safer forecast strategies based on data depth instead of forcing every SKU through one brittle model path.

Separating long-running forecast ingestion into worker pipelines with validation, fallback paths, and realtime status delivery.

Treating MLOps reliability as part of the product experience: runtime initialization, job validation, event delivery, and failure visibility all shaped user trust.

Adding forecast modes and feedback/audit metadata so teams could control forecast behavior by retail context.

Hardening agent orchestration to reduce loops, internal tool leakage, and unsupported claims in operator-facing responses.

Turning backend and model outputs into clearer React interfaces across Ask Synth, Flow, forecast dashboards, and collaboration surfaces.

A production-focused look at how forecasting, agents, cloud workers, backend APIs, and product UI came together to make retail planning workflows more reliable and actionable.

Start a conversation

Mayowa Adeoni

Let's build useful AI systems, not impressive demos.

Available for agentic AI engineering, ML systems, and fullstack product work with high-trust teams.

Book a call

GMT+1 / Hybrid or Remote-friendly / Roles in Canada's tech ecosystem