Business Card Scanner — CardScan

Run Deploy Instructions

← Back to outcome

Run & Deploy — Business Card Scanner

Prerequisites

  • Node.js 18+
  • Phone with camera (iOS Safari or Android Chrome recommended)
  • Same Wi‑Fi network (for LAN access from phone)

Run Locally

cd delivery-package/business-card-scanner/app
node server.js

Expected output:

CardScan running:
  Local:   http://localhost:3850
  Phone:   http://<your-lan-ip>:3850  (same Wi‑Fi)

Smoke Test (Desktop)

  1. Open http://localhost:3850
  2. Confirm UI loads with Take Photo / Choose from Gallery buttons
  3. Choose a business card image from disk
  4. Confirm processing step and review form appear
  5. Confirm fields populate (quality depends on image)

Smoke Test (Phone)

  1. Open the Phone URL from server output on your mobile browser
  2. Tap Take Photo and capture a business card
  3. Review extracted fields; edit if needed
  4. Tap Add to Phone Contacts
  5. On share sheet, pick Contacts (or open downloaded .vcf)
  6. Confirm new contact appears in phone Contacts app

Deploy to Static Hosting

  1. Upload contents of app/ to your host
  2. Ensure index.html is served at site root
  3. Enable HTTPS (recommended for PWA install)
  4. No build step required — static files only

Netlify (example)

cd delivery-package/business-card-scanner/app
npx netlify deploy --prod --dir .

Verification

# Terminal 1
cd delivery-package/business-card-scanner/app && node server.js

# Terminal 2
node delivery-package/business-card-scanner/scripts/run-verification.mjs

Troubleshooting

IssueFix
Phone can't reach appSame Wi‑Fi; check firewall allows port 3850
No text extractedRetake with even lighting; hold card flat
Share sheet doesn't show ContactsOpen downloaded .vcf from Files/Downloads
Slow first scanOCR engine downloads once; wait for progress bar