Business Card Scanner — CardScan
Run Deploy Instructions
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)
- Open
http://localhost:3850 - Confirm UI loads with Take Photo / Choose from Gallery buttons
- Choose a business card image from disk
- Confirm processing step and review form appear
- Confirm fields populate (quality depends on image)
Smoke Test (Phone)
- Open the Phone URL from server output on your mobile browser
- Tap Take Photo and capture a business card
- Review extracted fields; edit if needed
- Tap Add to Phone Contacts
- On share sheet, pick Contacts (or open downloaded
.vcf) - Confirm new contact appears in phone Contacts app
Deploy to Static Hosting
- Upload contents of
app/to your host - Ensure
index.htmlis served at site root - Enable HTTPS (recommended for PWA install)
- 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
| Issue | Fix |
|---|---|
| Phone can't reach app | Same Wi‑Fi; check firewall allows port 3850 |
| No text extracted | Retake with even lighting; hold card flat |
| Share sheet doesn't show Contacts | Open downloaded .vcf from Files/Downloads |
| Slow first scan | OCR engine downloads once; wait for progress bar |