Live UI development workflow using tmux panes + Playwright for visual feedback. Start dev server in one pane, use Playwright for testing, screenshots, and mobile/responsive verification in real-time.
Enables tight feedback loop for UI development with live visual verification.
just dev-noauth)# Find current tmux pane
mcp__tmux-mcp__list-sessions
mcp__tmux-mcp__list-windows
mcp__tmux-mcp__list-panes
# Start dev server in available pane
mcp__tmux-mcp__execute-command(paneId, "just dev-noauth")
# or: npm run dev, yarn dev, etc.
// Navigate to localhost
mcp__playwright__browser_navigate("http://localhost:3000")
// Set viewport for testing
mcp__playwright__browser_resize(375, 667) // mobile
mcp__playwright__browser_resize(768, 1024) // tablet
mcp__playwright__browser_resize(1920, 1080) // desktop
// Take screenshots for comparison
mcp__playwright__browser_take_screenshot("feature-mobile.png")
// Measure/verify (e.g., overflow detection)
mcp__playwright__browser_evaluate(() => {
return {
scrollWidth: document.body.scrollWidth,
viewportWidth: window.innerWidth,
hasOverflow: document.body.scrollWidth > window.innerWidth
};
})
// Interact with UI
mcp__playwright__browser_click(element, ref)
mcp__playwright__browser_type(element, ref, text)
mcp__playwright__browser_snapshot() // accessibility tree
mcp__playwright__browser_close()
// Dev server keeps running in tmux pane
1. Start dev server in pane
2. Playwright → mobile viewport (375px)
3. Measure overflow with evaluate()
4. Find offending elements
5. Fix code → hot reload → verify
6. Screenshot before/after
1. Navigate to component page
2. Take baseline screenshot
3. Make styling changes
4. Auto-reload shows changes
5. Compare screenshots
6. Iterate until satisfied
1. Test mobile (375px) → screenshot
2. Test tablet (768px) → screenshot
3. Test desktop (1920px) → screenshot
4. Verify layouts work at all breakpoints
Use tmux pane for:
Use Playwright for:
Iteration speed:
mobile-card-overflow-fixed.png)User: "I need to add a new modal dialog"
1. Check tmux pane → dev server already running
2. Build modal component
3. Playwright navigate to page
4. Click trigger button
5. Screenshot modal open state
6. Test on mobile (375px)
7. Verify modal fits viewport
8. Test close button works
9. Screenshot different states
10. Done - modal works across viewports
Pattern: "Does this fit mobile?"
1. Resize to 375px
2. Evaluate scrollWidth > viewportWidth
3. If overflow: find elements, fix, verify
Pattern: "How does this look across breakpoints?"
1. Screenshot mobile (375px)
2. Screenshot tablet (768px)
3. Screenshot desktop (1920px)
4. Compare layouts
Pattern: "Did my change break anything?"
1. Baseline screenshot before change
2. Make change → hot reload
3. New screenshot after change
4. Visual diff comparison