Playwright-based Web Automation Remote User Interaction
Budget: $30 – $250 USD
Description:
I have a fully functional Playwright-based web automation system that needs one final piece to go live in production: enabling end users to view and interact with the Playwright-controlled browser remotely through a web interface.
Tech Stack:
Node.js
Playwright
Prisma ORM
MySQL
PM2
Nginx
Current Status (Working):
The application runs perfectly in local development with headless: false — login automation, search automation, form interactions, navigation monitoring, data extraction, database operations, and push notifications all work correctly.
Full VPS deployment is complete: server configured (Ubuntu, Node.js, Chrome, Playwright, MySQL, Prisma), database connected via Prisma, the Node app runs on port 3000, PM2 manages the process with auto-restart, and Nginx reverse proxy is set up and working.
We resolved the "Missing X server / $DISPLAY" issue using Xvfb — Chrome launches successfully in a virtual display, and PM2 logs confirm the browser opens and pages load correctly under Xvfb.
The Problem:
Because the VPS has no physical display, Chrome runs inside a headless/virtual (Xvfb) session. The automation itself works, but end users cannot see or interact with the browser — the session isn't exposed anywhere.
What I Need Built:
Implement a browser streaming solution so users can view and interact with the same live browser instance that Playwright is controlling, without breaking the existing automation logic. Recommended approach (open to alternatives):
XFCE Desktop (already installed) + TigerVNC
noVNC for browser-based streaming access
WebSocket proxy configuration
Nginx integration + HTTPS
Launch Chrome inside the streamed desktop session so Playwright and the user share the same browser instance
Deliverables:
Working noVNC/TigerVNC + XFCE setup on our VPS, streaming the live browser to users via web browser
Nginx + WebSocket + HTTPS configuration for secure remote access
Verified that Playwright continues to monitor/control the same browser session users are viewing
Documentation of the setup and configuration
(Nice to have) Guidance or setup for future scaling: per-user session isolation, timeout/cleanup handling, multi-user support
I have a fully functional Playwright-based web automation system that needs one final piece to go live in production: enabling end users to view and interact with the Playwright-controlled browser remotely through a web interface.
Tech Stack:
Node.js
Playwright
Prisma ORM
MySQL
PM2
Nginx
Current Status (Working):
The application runs perfectly in local development with headless: false — login automation, search automation, form interactions, navigation monitoring, data extraction, database operations, and push notifications all work correctly.
Full VPS deployment is complete: server configured (Ubuntu, Node.js, Chrome, Playwright, MySQL, Prisma), database connected via Prisma, the Node app runs on port 3000, PM2 manages the process with auto-restart, and Nginx reverse proxy is set up and working.
We resolved the "Missing X server / $DISPLAY" issue using Xvfb — Chrome launches successfully in a virtual display, and PM2 logs confirm the browser opens and pages load correctly under Xvfb.
The Problem:
Because the VPS has no physical display, Chrome runs inside a headless/virtual (Xvfb) session. The automation itself works, but end users cannot see or interact with the browser — the session isn't exposed anywhere.
What I Need Built:
Implement a browser streaming solution so users can view and interact with the same live browser instance that Playwright is controlling, without breaking the existing automation logic. Recommended approach (open to alternatives):
XFCE Desktop (already installed) + TigerVNC
noVNC for browser-based streaming access
WebSocket proxy configuration
Nginx integration + HTTPS
Launch Chrome inside the streamed desktop session so Playwright and the user share the same browser instance
Deliverables:
Working noVNC/TigerVNC + XFCE setup on our VPS, streaming the live browser to users via web browser
Nginx + WebSocket + HTTPS configuration for secure remote access
Verified that Playwright continues to monitor/control the same browser session users are viewing
Documentation of the setup and configuration
(Nice to have) Guidance or setup for future scaling: per-user session isolation, timeout/cleanup handling, multi-user support
Related categories:
Linux
Web Security
NoSQL Couch & Mongo
MySQL
Node.js
Web Development
Documentation