Inspiration
My experience building an enterprise payroll service inspired PayPilot AI. Contractor payments involve more than sending money: businesses need to check invoice details, catch duplicates, and approve the correct recipient and amount.
What it does
PayPilot organizes contractor invoices and checks for duplicate invoice numbers, invalid amounts, and missing recipient information. Gemini turns those findings into plain-language explanations. A person reviews each eligible invoice before authorizing a PayPal sandbox payout. Saved records show the payment's actual status and prevent the same invoice from being submitted again.
How it is built
TypeScript, React, and Vinext provide the interface. Cloudflare Workers run the backend and D1 stores invoices, reviews, and payout records scoped to the authenticated user. Google Gemini generates structured invoice explanations; validation rules retain authority over eligibility. The PayPal Payouts API authenticates server-side, submits sandbox batches, and retrieves their status. Signed review receipts bind approval to reviewed invoice details.
Challenges
The main challenge was distinguishing a valid invoice from a successful payment. A batch can be accepted and later denied, so PayPilot preserves payout history and makes status explicit. During testing, payouts from the initial NG sandbox sender were denied, including a test to a US recipient. A separate US Business sandbox sender and US Personal sandbox recipient completed the test successfully. The earlier denial responses did not identify a precise API error cause, so country eligibility remains a likely explanation rather than a proven diagnosis.
Accomplishments
On October 28, 2026, PayPilot completed a Gemini invoice review and a $1.00 USD PayPal sandbox payout. Batch CPRFQ9GN38AP2 and its individual payment both returned SUCCESS. The sandbox dashboard showed PROCESSED and one claimed payment. Persistence, duplicate detection, approval gates, malformed AI response handling, and repeated-payment protection were also tested.
What I learned
AI explanations need clear boundaries, and payment submission must be distinguished from settlement. Testing real sandbox responses uncovered account eligibility and interface-state problems that a simulation alone would have missed.
What's next
Improve reconciliation, add an immutable audit-event history, capture individual payment status in the interface, and expand account-eligibility handling before considering production use. The app uses sandbox endpoints only.
Tools and development assistance
Gemini powers invoice explanations. PayPal Payouts handles sandbox payment submission and status. OpenAI Codex assisted implementation and testing.
Log in or sign up for Devpost to join the conversation.