This planner calculates net requirement, material needs and machine
capacity from your own Part, BOM and Routing data, and schedules backward from the delivery date. It does not
optimise across multiple orders sharing a machine, and cycle times are only as accurate as what you enter —
treat the feasibility result as a strong estimate, not a guarantee.
New Customer Order
SAVED
Admin
Everything this site needs, in one place. Each step below shows whether it is
working, what to do if not, and exactly where to get what you need. Settings saved here are stored in your
own database and override anything set elsewhere.
1 · Email notifications
checking…
Sends you an alert when an RFQ arrives, and sends quotations to customers.
How to get a Resend API key
Go to resend.com and sign up — it is free for this volume.
Left menu → API Keys → Create API Key. Give it any name.
Copy the key immediately — it starts re_ and is shown only once.
Paste it below and press Save.
How to send from your own domain
Resend → Domains → Add Domain → type your company domain.
Resend shows two or three DNS records. Copy each with the copy icon — never retype them.
Add them where your domain is managed (GoDaddy, Namecheap, Vercel…). Type, Name and Value must match exactly.
Back in Resend, press Verify DNS Records. It can take up to an hour.
Once it says Verified, set the sender below to an address on that domain.
Until the domain is verified, use onboarding@resend.dev — but it only delivers to
the address you registered with Resend. Customers will receive nothing.
2 · AI features
checking…
Reads customer drawings, plans the process route, and estimates times.
Optional — everything else works without it.
Which provider should I use?
Provider
Cost
Reads PDF?
Notes
Mistral
Free tier
No — images only
Good all-round choice. Phone verification, no card.
Groq
Free
No — images only
Very fast. Model availability varies by account.
OpenRouter
Free models
No — images only
Wide model choice; some accounts are asked for payment details.
Google Gemini
Free tier
Yes
Some accounts are blocked by Google with no clear reason.
Anthropic
Paid, ~2–5¢ per drawing
Yes
Best on difficult or hand-marked drawings.
Add more than one — the site tries them in order and falls through automatically if one fails.
You can skip this entirely. WhatsApp already works without any setup —
the buttons in the pipeline open WhatsApp with the message written out, and you press send.
One tap. The section below is only for making it fully automatic, which Meta makes deliberately
difficult: business verification, number registration, and approved message templates.
Email notifications are automatic either way, so most companies never bother with this.
On API Setup copy the temporary access token and the Phone number ID.
Click Manage phone number list and add your own mobile as a test recipient.
Paste both values below and save.
Make the token permanent: business.facebook.com → Settings → Users → System Users →
Add (role Admin) → Add Assets → your app → Full control → Generate New Token with
whatsapp_business_messaging and whatsapp_business_management.
The 24-hour rule: Meta only allows free-form messages to someone who messaged you in the
last 24 hours. Outside that window an approved template is required — create one under
WhatsApp Manager → Message Templates, then put its name below.
Country code + number, digits only. No + and no spaces.
4 · Hosting & database
checking…
These are the only things that cannot be set from this screen — they must exist
before the site can run at all. If you are reading this, they are already working.
Deploying this site for another company
GitHub — create a repository, upload index.html, package.json and the api folder.
Neon — neon.tech → new project → copy the connection string.
Vercel — vercel.com → Add New → Project → import the repository.
Before deploying, add three environment variables:
DATABASE_URL — the Neon connection string
ADMIN_USER — first sign-in username
ADMIN_PASS — first sign-in password
Deploy, open the site, sign in, and set everything else on this screen.
Optionally add ADMIN_RECOVERY_CODE so the Forgot Password option works.
Used to build the “Open RFQ Pipeline” link inside alert emails.
A note on where keys are kept. Keys saved here are
stored in your database, not in this page, and are never sent to visitors — but anyone with admin access
can overwrite them. Use a strong admin password, and change it if someone leaves.
Changes preview instantly. Press Publish Changes at the top to save them to the database so every visitor, anywhere, sees them.
Every section uses these values, so spacing stays even sitewide.
Applies to capability, industry and gallery photos. Photos crop to fit — they never stretch the card.
Keeps the logo from crowding the menu.
Photos and video are kept in separate storage, so this number stays small however many you add.
This is the name and logo shown on the website. Documents use the
legal name from Company Profile and, by default, this same logo.
Website header, footer and all PDF documents pull from here.
Glowing halo around logo
Show company name beside logo
Faint background wash behind the hero text — separate from the visual on the right.
Direct upload is limited to about 8 MB — enough for a 10–15 second silent loop at modest quality. For a longer or higher-quality video, use the URL field below instead.
A YouTube/Vimeo link or a direct .mp4 URL. Used only if no video is uploaded above.
Show AI chat on the site
Entered once, used everywhere. Address, phone and email come from
Company Profile and appear automatically on the website, quotations and cost sheets.
You do not need to enter them again here.
Show different contact details on the website than Company Profile
Paste the full address of each page. Leave a field blank to hide that button. Buttons appear in the Contact section and the footer.
Show map in Contact section
In Google Maps, search your address → Share → Embed a map → Copy HTML, then paste it here. Pasting just the link also works.
From Google Maps → Share → Copy link. Opens the map in the visitor's own maps app.
These details appear on every quotation PDF. Nothing is fixed in the code — change a value here and the next document uses it.
Use the website logo on documents
Add as many locations as you need. Those marked “show on documents” appear on quotations and cost sheets.
Labels your registration number below, e.g. "GSTIN: 29ABCDE1234F1Z5" on the letterhead.
Show bank details on quotations
These figures drive every machine hour rate. The values below are worked examples — replace them with your own and every rate recalculates.
Maintenance, setup and breakdown. Matters a lot — take care with this one.
Live result of everything above. Nothing here is estimated by AI.
Each machine's hour rate is calculated from these figures plus the Cost Base. Rough estimates for salvage value and load factor are fine — they barely move the result.
Man hour rate = monthly wage × (1 + statutory %) ÷ (paid days × hours per day).
Your approved material price book. Use Look up current price to have AI search published market prices — it returns the figure with its source and date for you to review before accepting. Prices you have not verified stay marked as such.
Nothing in Production Planning works without this. Each part needs its bill of
material (what it's made from) and its routing (which operations, on which machines) before an order for it
can be planned. Link BOM materials to your Materials price book and routing machines to your
Machines list — the planner reads its rates and capacity from there.
Controls how quotation documents are numbered, priced and worded.
Available tags: {PREFIX}{YYYY}{YY}{MM}{SEQ}.
Examples: QTN-2026-0001 · ETC/QTN/2026/0001 · {PREFIX}/{YY}/{SEQ}
Show tax line on quotations
Labels the tax percentage line on quotations, e.g. "GST @ 18%".
Notifications are sent by the server. The email and WhatsApp number below are where new RFQ alerts go.
Country code + number, digits only. No +, no spaces.
Checking…
Your website address only — the part visitors type. Do not paste an /api/... address here. Used to build the “Open RFQ Pipeline” link in your alert emails.
Currency is set once, in Quotation Setup → Currency Code — it applies here and on every document.
Auto-draft quote with AI on new RFQ
Send the customer an automatic acknowledgement
The acknowledgement carries their reference number, a tracking link, and a clear
note at the bottom saying it was generated automatically and not to reply to it.
Two kinds of login.Developer reaches everything including this admin panel.
Staff can only open the RFQ Pipeline — useful for estimators who should not change site settings.
Turn on two-step verification and a 6-digit code is sent at every sign-in — to the code email and
code WhatsApp you set on that login below, not to the company address. Leave both blank and the
code cannot be sent, so two-step stays off for that login.
Changing your own password. The boxes above manage
all logins. Use this section only to change the password of the login you are signed in with right now.
At least 6 characters.
Setting this system up for another company. Follow the eight stages below in order.
Allow about 45 minutes for a first-time setup, 20 once you have done it a few times.
Tick each stage off as you go — your progress is remembered on this device.
1
Gather the client's details first
Collect these before you touch a computer. Chasing them mid-setup is what makes it take all day.
What you need
Used for
Legal company name, registered address
Quotation letterhead
Logo file — SVG or large PNG
Website and all documents
GST number, PAN, CIN, IEC
Printed on every quotation
Bank details (if they want them on quotes)
Quotation footer
Authorised signatory name, designation, signature image, company seal
Document sign-off
Plant addresses
Contact page and cost sheets
Email address for RFQ alerts
Notifications
WhatsApp number for alerts
Notifications
Their domain name, and who manages its DNS
Website address and email sending
Machine list — cost, kW, floor area, maintenance, life
Machine hour rates
Labour rates by grade, working days, shifts, downtime %
The last four rows matter most. Without real numbers the system quotes confidently from
worked examples, which is worse than not quoting at all. Insist on them.
Name it after the client, e.g. acme-website. Leave everything else alone. Create repository.
Click uploading an existing file.
Drag in index.html, package.json and the whole api folder.
Commit changes.
Check: the repository should show index.html, package.json and an
api folder containing eight .js files. If ai.js is loose at the top
level instead of inside api, nothing will work.
Add New → Project → find the client's repository → Import.
Stop before pressing Deploy. Open Environment Variables and add these four:
Name
Value
DATABASE_URL
the Neon connection string from stage 3
ADMIN_USER
first sign-in username, e.g. admin
ADMIN_PASS
a strong password — write it down
ADMIN_RECOVERY_CODE
any phrase, for the Forgot Password option
Press Deploy and wait for the success screen.
Copy the address it gives you, e.g. acme-website.vercel.app.
These four are the only settings that must live in Vercel. Everything else is done on the
client's own Setup screen.
If it deploys but shows nothing: Vercel only builds when it sees a change. Add a README on
GitHub to trigger it.
5
Sign in and set up email
Open the new site → click the ⚙ button → sign in with the username and password from stage 4.
Go to the ⚙ Setup tab. Work down the checklist at the top.
resend.com → sign up →
API Keys → Create API Key → copy it.
Paste it into Resend API Key → Save.
Resend → Domains → Add Domain → the client's domain.
Add the DNS records Resend shows, wherever the domain is managed. Use the copy icons — never retype the DKIM string.
Press Verify DNS Records. Usually 15–60 minutes.
Once verified, set Send emails from to an address on that domain,
e.g. Acme Ltd <rfq@acme.com>, and Send RFQ alerts to to the client's inbox.
Press Send myself a test email.
Do not skip domain verification. Until it is done, Resend's test sender only delivers to the
account owner's own address. Customers receive nothing, while the system reports success.
6
Turn on AI (optional)
Without this, everything still works — drawing details are typed in by hand instead.
console.mistral.ai → sign up →
API Keys → Create new key. Free tier, phone verification, no card.
Paste it into Mistral API Key on the Setup screen → Save.
Press Test the AI connection.
Add a second provider as a backup — Groq is also free. The system tries them in order and falls
through automatically.
Free providers read images but not PDFs. If the client receives many PDF drawings, an
Anthropic key (paid, roughly 2–5 US cents per drawing) handles those and reads difficult drawings better.
7
Enter the client's real data
This is the stage that decides whether the system is useful or dangerous. Work through these tabs:
Company Profile — legal name, addresses, plants, tax numbers, bank details, signatory, signature, seal.
Brand — logo and colours. Documents pull the logo from here automatically.
Quotation Setup — numbering format, currency, tax rate, payment and delivery terms.
Cost Base — working days, shifts, downtime %, electricity tariff, factory rent and area, monthly overhead, margins.
Machines — delete the examples. Add every real machine: purchase cost, life, salvage, kW, load factor, floor area, annual maintenance.
Labour — each grade with real wages and statutory percentage.
Materials — the grades they actually buy, with their own purchase rates.
Then check Cost Base again — the calculated machine hour rates appear at the bottom. Show these to the client and get them agreed before quoting anything.
Watch the overhead line. Factory overhead is divided across the machine list. With only two or
three machines entered it looks enormous and inflates every price. It settles once the full list is in.
Finally, fill in the website content — hero, capabilities, process, gallery, industries, certifications,
leadership — then press Publish Changes.
8
Point their domain at the site
Do this last, once the content is right — the moment you switch, whatever is on the site is what
the client's customers see.
If the domain currently points at an older site, remove it from that Vercel project first —
a domain can only belong to one project.
Vercel → the client's project → Settings → Domains → add
www.theirdomain.com, then theirdomain.com set to redirect to the www version.
Vercel shows the DNS records needed — usually a CNAME on www and an A record on @.
Add them where the domain is managed, replacing any existing conflicting record rather than adding a second one.
Wait for Vercel to show a green tick. The security certificate is issued automatically.
Setup screen → Live Site Address → their new address → Save. This is what makes the
pipeline link inside alert emails work.
Expect a short interruption while the change spreads. Do it outside business hours.
To roll back: remove the domain from the new project and add it back to the old one. It
returns within minutes.
9
Hand over
Admin → Logins → create a staff login for their estimators — pipeline only, no settings access.
Change the developer password from the one you set in stage 4.
Turn on two-step verification for the developer login, with their email and WhatsApp for the code.
Submit a test RFQ end to end: acknowledgement to the customer, alert to them, drawing read, cost sheet, quotation PDF.
Show them: how to publish content changes, where RFQs arrive, how to edit a cost sheet, and how to approve a quotation.
Tell them plainly that AI cycle times and market price estimates are starting points to be
corrected from experience, and that an estimator should check every quotation before it goes out.
A confident wrong price is the one real risk in this system.
Costs to be aware of. Free tiers are per account, not per client.
Neon allows one project free; Resend allows 3,000 emails a month; Vercel's hobby plan is for
non-commercial use. Beyond a handful of clients, budget for paid plans on all three and pass the cost on.