Back to Blog

Blog

Building a Reliable Project Estimator

How I built an estimator that actually works for real projects.

28 January 20262 min read
EstimationProductAI

Estimators only work when they are consistent. That means a tight prompt, a clear discovery flow, and a way to keep the conversation anchored on scope.

The problem I wanted to solve

Most early conversations drift. A client starts with a goal, but the details needed to price the work never surface.

I wanted an experience that:

  • feels like a real discovery call
  • asks the right follow up questions
  • outputs a realistic budget range

The approach

I split the flow into three phases:

  1. Initial understanding
  2. Technical discovery
  3. Estimation and next steps

Each phase has guardrails to prevent scope creep, and a handoff point that moves the user to a clear call to action.

Example dialogue

Here's a real example of how the estimator stays focused on scope:

User: "I need an e-commerce site with payments and admin panel"

Estimator: "I can help estimate that. A few questions to narrow scope:

  1. Are you selling physical goods, digital products, or both?
  2. Do you need inventory management, or will products be static?
  3. Should the admin panel handle orders, products, and analytics, or just orders?"

This back-and-forth continues until the estimator has enough to produce a structured estimate:

Estimated Timeline: 2–3 weeks

Scope Assumptions:
- Single currency (USD), single payment method (Stripe)
- ~50–100 products, no inventory sync
- Admin panel: orders + product CRUD only

Phases:
- Week 1: Core checkout flow + Stripe integration
- Week 2: Admin panel + product management
- Week 3: Testing + deployment

Budget Range: $4,000–$6,000

Risk Notes:
- Complexity increases significantly with multi-currency or inventory sync
- Admin analytics would add ~1 week

Tech stack

The estimator runs on:

  • Groq for fast LLM inference (llama-3.3-70b for text, llama-4-scout-17b for vision)
  • Next.js 14 with App Router for the frontend
  • Vercel Blob for screenshot storage
  • Resend for email notifications
  • Tailwind CSS + shadcn/ui for the chat interface

The result

The estimator delivers structured outputs that include:

  • scope assumptions
  • timeline phases
  • budget range and risk notes

It is now reliable enough to use as the first step in my pipeline, without replacing a real consultation.

Estimator chat interface