Josef Nevoral
← All work
LLMRAGPineconeNestJSReactForecasting

AI-assisted delivery forecasting

An internal planning tool that uses LLMs and semantic search over past work to estimate effort, predict delivery delays and surface productivity issues for the leadership team.

Context
Internal planning tool at a B2B marketplace
My role
Hands-on builder
When
2025–2026
commits I wrote across backend & frontend
600+
re-estimation on every Jira change
Real-time
for the management
1 dashboard

The challenge

The management had to decide what to build next without a reliable answer to “when will it actually be done?”. Estimates were inconsistent, and delays showed up too late to react.

What I built

  • Similarity-based estimates. When a ticket is created or changed, a vector search finds similar completed tickets. Their real effort patterns are fed to an LLM, which produces an estimate.
  • Estimates at every level: epics, subtasks, research and design work, with AI estimates as the fallback in the delivery timeline.
  • Always up to date. Jira webhooks trigger re-estimation
  • Decision dashboards for the management: utilisation, builder performance, and AI analysis of each work package.
  • AI-assisted intake. New requests are pre-filled by AI analysis, and semantic search finds related work instead of relying on exact keywords.
  • Production-grade LLM plumbing: model routing with fallbacks and tracing of every LLM call.

Why it matters

Forecasting is where AI quietly pays off. It doesn’t replace judgement; it gives leaders a consistent baseline and an early warning, so the conversation shifts from “why is this late?” to “what should we cut?”.

Let's talk

What's the first thing you'd change with AI?

Tell me where your team is stuck. In a free 15-minute call, we'll discuss what's realistic, where to start, and whether I can help.

  • Free, 15 minutes, video call
  • A concrete next step to take away
  • English or Czech · Remote or in Prague
Book a free 15-min call →

Prefer to write?

I reply within one working day.