Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
QuotePilot turns customer RFQ emails into structured, priced powder coating quotes and cross-checks them against Odoo before export.
BusinessTypeScript · JavaScriptGitHub @gauravwebroute-dotOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Build a Next.js + Tailwind + shadcn/ui mockup for an internal web application called "QuotePilot" — used by estimators at OC Custom Coating (a defense-industry powder coating company) to convert customer RFQ emails into structured, priced quotes and cross-check against Odoo before export.
CRITICAL: Use a SINGLE-COLUMN layout throughout. No side-by-side panels within sections. The entire content area is one column that stretches to a comfortable max-width (max-w-5xl or similar) and centers on the page. Estimators will scroll through the content top-to-bottom.Read the full README ↗Build a Next.js + Tailwind + shadcn/ui mockup for an internal web application called "QuotePilot" — used by estimators at OC Custom Coating (a defense-industry powder coating company) to convert customer RFQ emails into structured, priced quotes and cross-check against Odoo before export.
CRITICAL: Use a SINGLE-COLUMN layout throughout. No side-by-side panels within sections. The entire content area is one column that stretches to a comfortable max-width (max-w-5xl or similar) and centers on the page. Estimators will scroll through the content top-to-bottom.
The workflow has 3 sequential sections shown as a horizontal stepper at the top: "1. Input Form", "2. Extraction Results", "3. Odoo Cross-Check". Each section has a completion state (green checkmark when done, current-active in green, pending in gray). Make the stepper clickable so users can jump between sections.
===
DESIGN SYSTEM:
TOP NAV (fixed):
STEPPER (below top nav, sticky): Full-width bar with 3 numbered circles connected by lines:
RFQ HEADER (below stepper, above main content): Small header showing:
Now build the 3 sections. Show Section 2 (Extraction Results) as the currently visible/active screen with all details filled in.
===
SECTION 1: INPUT FORM
Section title: "Input Form" Section subtitle: "Enter customer email content and upload drawings to begin extraction."
CARD 1 — "Request / Email Details"
CARD 2 — "Upload Drawings"
CARD 3 — "Additional Info"
CARD 4 — "Process the RFQ" Single-row layout:
===
SECTION 2: EXTRACTION RESULTS (this is the main focus — build in most detail)
Section title: "Extraction Results" Section subtitle: "Review each part's coating specs and pricing before Odoo cross-check."
Metadata line: small text "Extracted with Gemini 2.5 Pro · 47 fields · 3 flagged for review"
Alert banner at top:
CARD 1 — "Customer Information" (collapsible, expanded by default) Single column of fields (each label on its own line, value below, with inline edit-pencil icon on hover):
CARD 2 — "Part Summary" Above-the-fold summary table showing all parts at a glance:
CARD 3 — "Part Details" — this is the biggest card and contains one sub-card per part. Show Part 1 (Pa4-354/35) fully expanded. Show Parts 2 and 3 as collapsed rows with expand chevron and part name/number visible.
PART 1 SUB-CARD (fully expanded, single column, all content stacked vertically):
Header row of the sub-card:
Sub-section: "Specifications" (with light background to visually group) Fields in a single column:
Sub-section: "Coating Details (Coating BOM)" Small helper note above: "Items marked None/Not listed will NOT be exported to Odoo." Two-column key-value list (this is fine — it's within a single card, not two side-by-side cards):
Sub-section: "Extraction Notes & Warnings" (amber-tinted background to signal caution) Bullet list:
Sub-section: "Pricing Breakdown" — the crown jewel, make this visually distinct Use a subtle darker gray-50 background for the entire sub-section to emphasize it.
Header row (bold): "Pricing: $300.24/unit × 10 = $3,004.36 total"
Config row: Label "Complexity (1-5)": dropdown [3 (Moderate)] with helper "Adjusts labor (+/- X%)"
Now stack the breakdown groups vertically (single column). Each group is a light card within the pricing sub-section:
Group A — "Masking":
Group B — "Media Blasting":
Group C — "Coating":
Group D — "Part Mark & Extras":
Subtotal row (Separator, then bold summary):
Group E — "Adjustments":
Final total row (larger text, industrial green background box):
Sub-section: "Estimator Notes" Textarea prefilled: "This part has issues with packing. The shipping material is expensive. So add more work $."
END OF PART 1 SUB-CARD.
Below Part 1, show two COLLAPSED rows for Parts 2 and 3:
Bottom of Section 2: Full-width action row:
===
SECTION 3: ODOO CROSS-CHECK
Section title: "Odoo Cross-Check" Section subtitle: "Cross-check with existing Odoo database before exporting the quote."
Top row (single column):
CARD 1 — "Client Info Cross-Check"
Use shadcn Tabs component with two tabs:
TAB 1 CONTENT: Amber alert: "Customer partially matches an existing Odoo record. Review discrepancies below."
Single-column list of field comparisons. Each row shows label, extracted value, and a status badge:
Action row at bottom of tab:
TAB 2 CONTENT: Amber alert: "No matching customer found in Odoo. Please review before creating new."
Single-column list:
Action row:
CARD 2 — "Part Management"
Full-width table with columns:
Rows:
Below the table, info alert: "ℹ️ If Company and Email are 'Existing', this application can export to Odoo. Otherwise the Export button is disabled."
CARD 3 — "Ready to Export" Center-aligned:
Bottom of Section 3:
===
RESPONSIVE + POLISH REQUIREMENTS:
Do NOT wire up backend logic. This is a static mockup for design review only. All data is hardcoded to values specified above.
Ensure the mockup deploys to Vercel cleanly. Focus on making Section 2 (Extraction Results) fully polished since it's the currently-visible/active screen. Sections 1 and 3 should be complete but Section 2 is the money shot.
This project was built with Lovable.
Live app: https://quote-craft-pilot.lovable.app
Continue developing this project in the Lovable editor.
main on GitHub and your changes sync back into Lovable, ready for your next prompt.Prefer working locally? You need Node.js and npm — install with nvm.
git clone <this-repository-url>
cd <repository-name>
npm i
npm run dev