Node.js Chat Vision Backend

Job ID: 39980829

Budget: $30 – $250 USD

I need a compact Node.js backend that sits between a chat widget and OpenAI’s latest Chat + Vision models. The flow is straightforward: a visitor drags-and-drops an image (or types a question) into the widget; the server sends the request to OpenAI; it then returns both the conversational reply and a structured product summary pulled from the image.

From each image I must capture:
• any text or barcodes present
• key dimensions that appear on labels or packaging
• colour and design cues worth noting
• a link or filename for the stored photo itself

Every chat turn—user prompt, image reference, OpenAI reply, the extracted fields, plus a session identifier—has to be pushed automatically into a Google Sheet through a service-account credential.

Additional requirements
• Session handling: keep the conversation context in memory (or Redis if you prefer) so follow-up questions stay coherent.
• Image upload: drag-and-drop only; the widget should not rely on camera capture or traditional file inputs.
• Sample frontend: a minimal page with the chat widget that lets users send text and images; no login or dashboard, just the widget demo.
• Clean, well-commented code and an environment file for keys.

Deliverables
1. Express-based backend (TypeScript or plain JS) with routes for chat completion, image upload, and Google Sheets logging.
2. Google service-account setup instructions and the Sheet schema.
3. Lightweight frontend files showing the drag-and-drop widget in action.
4. README outlining local setup, environment variables, and one-click deployment steps.

I’ll test by uploading a sample product shot; the sheet should instantly show the four data points above alongside the AI response. Looking forward to working with someone who has already played with the Vision endpoints and Google Sheets API.