PRECISION CNC MANUFACTURING

Headline

Sub

What We Do

Capabilities

How We Work

Process

Who We Serve

Industries

Accreditation

Certifications

Leadership

Founders

"
Quote
NameRole

Contact

Address
Phone
Email
Open in Google Maps →
Drawings up to 3MB. PDF and image drawings can be read automatically by our system.
REF Save this reference — you can check progress in “Track your RFQ” below.
RFQ Status

Track your RFQ

Enter the reference number from your submission to see where your enquiry stands.

A

Assistant

Online
AI assistant — confirm details with our team.

RFQ Pipeline

IRONVALE

Production Planning

IRONVALE
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
  1. Go to resend.com and sign up — it is free for this volume.
  2. Left menu → API KeysCreate API Key. Give it any name.
  3. Copy the key immediately — it starts re_ and is shown only once.
  4. Paste it below and press Save.
How to send from your own domain
  1. Resend → DomainsAdd Domain → type your company domain.
  2. Resend shows two or three DNS records. Copy each with the copy icon — never retype them.
  3. Add them where your domain is managed (GoDaddy, Namecheap, Vercel…). Type, Name and Value must match exactly.
  4. Back in Resend, press Verify DNS Records. It can take up to an hour.
  5. 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?
ProviderCostReads PDF?Notes
MistralFree tierNo — images onlyGood all-round choice. Phone verification, no card.
GroqFreeNo — images onlyVery fast. Model availability varies by account.
OpenRouterFree modelsNo — images onlyWide model choice; some accounts are asked for payment details.
Google GeminiFree tierYesSome accounts are blocked by Google with no clear reason.
AnthropicPaid, ~2–5¢ per drawingYesBest on difficult or hand-marked drawings.

Add more than one — the site tries them in order and falls through automatically if one fails.

Getting each key

3 · WhatsApp notifications

checking…

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.

Setting up WhatsApp Business API
  1. developers.facebook.comMy AppsCreate App → type Business.
  2. On the dashboard find WhatsAppSet up.
  3. On API Setup copy the temporary access token and the Phone number ID.
  4. Click Manage phone number list and add your own mobile as a test recipient.
  5. 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
  1. GitHub — create a repository, upload index.html, package.json and the api folder.
  2. Neonneon.tech → new project → copy the connection string.
  3. Vercelvercel.com → Add New → Project → import the repository.
  4. Before deploying, add three environment variables:
    • DATABASE_URL — the Neon connection string
    • ADMIN_USER — first sign-in username
    • ADMIN_PASS — first sign-in password
  5. 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 → ShareEmbed a mapCopy HTML, then paste it here. Pasting just the link also works.
From Google Maps → ShareCopy 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.
Use a notional rent if you own the premises.
Supervision, indirect staff, plant consumables, plant admin.
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 needUsed for
Legal company name, registered addressQuotation letterhead
Logo file — SVG or large PNGWebsite and all documents
GST number, PAN, CIN, IECPrinted on every quotation
Bank details (if they want them on quotes)Quotation footer
Authorised signatory name, designation, signature image, company sealDocument sign-off
Plant addressesContact page and cost sheets
Email address for RFQ alertsNotifications
WhatsApp number for alertsNotifications
Their domain name, and who manages its DNSWebsite address and email sending
Machine list — cost, kW, floor area, maintenance, lifeMachine hour rates
Labour rates by grade, working days, shifts, downtime %Costing
Electricity tariff, factory rent, monthly overheadCosting
Material price listCosting

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.

2

Put the code on GitHub

  1. Go to github.com and sign in.
  2. + (top right) → New repository.
  3. Name it after the client, e.g. acme-website. Leave everything else alone. Create repository.
  4. Click uploading an existing file.
  5. Drag in index.html, package.json and the whole api folder.
  6. 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.

3

Create the database

  1. neon.tech → sign in → New Project.
  2. Name it after the client. Any region — pick one near them.
  3. On the project page click Connect.
  4. Click Show password, then Copy snippet. Keep Connection pooling on.
  5. Paste it somewhere safe — you need it in the next stage.

Each client needs their own database. Never share one between companies — their RFQs, pricing and customer details would sit in the same tables.

Neon's free plan allows one project per account. For several clients, either use separate Neon accounts or move to their paid plan.

4

Deploy on Vercel

  1. vercel.com → sign in with GitHub.
  2. Add NewProject → find the client's repository → Import.
  3. Stop before pressing Deploy. Open Environment Variables and add these four:
NameValue
DATABASE_URLthe Neon connection string from stage 3
ADMIN_USERfirst sign-in username, e.g. admin
ADMIN_PASSa strong password — write it down
ADMIN_RECOVERY_CODEany phrase, for the Forgot Password option
  1. Press Deploy and wait for the success screen.
  2. 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

  1. Open the new site → click the button → sign in with the username and password from stage 4.
  2. Go to the ⚙ Setup tab. Work down the checklist at the top.
  3. resend.com → sign up → API KeysCreate API Key → copy it.
  4. Paste it into Resend API Key → Save.
  5. Resend → DomainsAdd Domain → the client's domain.
  6. Add the DNS records Resend shows, wherever the domain is managed. Use the copy icons — never retype the DKIM string.
  7. Press Verify DNS Records. Usually 15–60 minutes.
  8. 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.
  9. 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.

  1. console.mistral.ai → sign up → API KeysCreate new key. Free tier, phone verification, no card.
  2. Paste it into Mistral API Key on the Setup screen → Save.
  3. 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:

  1. Company Profile — legal name, addresses, plants, tax numbers, bank details, signatory, signature, seal.
  2. Brand — logo and colours. Documents pull the logo from here automatically.
  3. Quotation Setup — numbering format, currency, tax rate, payment and delivery terms.
  4. Cost Base — working days, shifts, downtime %, electricity tariff, factory rent and area, monthly overhead, margins.
  5. Machines — delete the examples. Add every real machine: purchase cost, life, salvage, kW, load factor, floor area, annual maintenance.
  6. Labour — each grade with real wages and statutory percentage.
  7. Materials — the grades they actually buy, with their own purchase rates.
  8. 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.

  1. If the domain currently points at an older site, remove it from that Vercel project first — a domain can only belong to one project.
  2. Vercel → the client's project → SettingsDomains → add www.theirdomain.com, then theirdomain.com set to redirect to the www version.
  3. 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.
  4. Wait for Vercel to show a green tick. The security certificate is issued automatically.
  5. 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

  1. Admin → Logins → create a staff login for their estimators — pipeline only, no settings access.
  2. Change the developer password from the one you set in stage 4.
  3. Turn on two-step verification for the developer login, with their email and WhatsApp for the code.
  4. Submit a test RFQ end to end: acknowledgement to the customer, alert to them, drawing read, cost sheet, quotation PDF.
  5. 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.
Capabilities
Process
Stats
Gallery
Industries
Certifications
Founders
Testimonial
RFQ Tracking
“RFQ Pipeline” button in menu
“Production Planning” button in menu