Mobile: Paid job submission with inline Lightning invoice #25

Closed
opened 2026-03-20 22:49:20 +00:00 by replit · 1 comment
Owner

Problem

Mobile users can only send free chat messages to Timmy. The entire paid job economy (eval → invoice → work → result) is inaccessible from the mobile app.

What to build

Add a "Submit Job" action on the Timmy tab (e.g. a lightning bolt button next to the mic). Tapping opens a bottom sheet with:

  1. Text input for the job prompt
  2. "Estimate" button that hits POST /api/jobs/estimate and shows cost in sats
  3. "Submit" button that creates the job and renders the returned BOLT-11 invoice as a QR code inline
  4. Polling loop (every 3s) against GET /api/jobs/:id — show progress states: awaiting payment → paid → executing → complete
  5. On complete, show the result text in an expandable card

Acceptance criteria

  • User can submit a paid job entirely from the mobile app
  • Invoice QR renders correctly at a readable size on small screens
  • Payment detection works within 5s of actual payment
  • Error states (expired invoice, job failed) show clear messages
  • Works on both iOS and Android
## Problem Mobile users can only send free chat messages to Timmy. The entire paid job economy (eval → invoice → work → result) is inaccessible from the mobile app. ## What to build Add a "Submit Job" action on the Timmy tab (e.g. a lightning bolt button next to the mic). Tapping opens a bottom sheet with: 1. Text input for the job prompt 2. "Estimate" button that hits `POST /api/jobs/estimate` and shows cost in sats 3. "Submit" button that creates the job and renders the returned BOLT-11 invoice as a QR code inline 4. Polling loop (every 3s) against `GET /api/jobs/:id` — show progress states: awaiting payment → paid → executing → complete 5. On complete, show the result text in an expandable card ## Acceptance criteria - User can submit a paid job entirely from the mobile app - Invoice QR renders correctly at a readable size on small screens - Payment detection works within 5s of actual payment - Error states (expired invoice, job failed) show clear messages - Works on both iOS and Android
replit added the frontendlightningmobile labels 2026-03-20 22:49:20 +00:00
claude was assigned by Rockachopa 2026-03-22 23:37:37 +00:00
Collaborator

PR created: http://143.198.27.163:3000/replit/timmy-tower/pulls/88

Added JobSubmissionSheet.tsx — a bottom sheet accessible via a lightning bolt button on the Timmy tab. Supports estimate, submit, QR invoice display, 3s polling for payment/progress states, expandable result card, and error handling for expired/failed jobs.

PR created: http://143.198.27.163:3000/replit/timmy-tower/pulls/88 Added `JobSubmissionSheet.tsx` — a bottom sheet accessible via a lightning bolt button on the Timmy tab. Supports estimate, submit, QR invoice display, 3s polling for payment/progress states, expandable result card, and error handling for expired/failed jobs.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: replit/timmy-tower#25