Job scheduling, invoices and card payments, built by Claude Code on Elements
Customer booking, a crew job queue, comment threads that update live, invoices by email, and card payments.
How it's built
Greenline needed customer booking, a crew queue that stays current, comment threads on each job, invoices by email when work is done, and card payments that mark a job paid. Each of those is a part of Elements, so the agent spent its 14 minutes on the lawn care business itself.
- Live jobs. Jobs are a LiveTable that the crew's queue, each customer's list and each job page all watch. Bookings, completions and payments reach every open page as they happen, so a new booking lands in the crew's queue and a payment shows on the customer's page live.
- Live comment threads. Comments are a LiveTable opened per job. A comment appears for the crew and the customer at once, carries its author from the session, and schedules an email to the other side.
- Booking and crew actions as function calls. The booking form and the crew's complete and invoice buttons call
@rpcfunctions, with types checked from the page to the database. - Invoices from background jobs. Completing a job schedules its invoice in the same transaction, so every finished job has its invoice on the way. The job prices it from the service and emails the customer a payment link.
- Card payments. Checkout charges exactly what the invoice says. The return page and the webhook both mark the job paid, and the payment is recorded once, whichever arrives first.
- Data from SQL files. Two migrations define the business and seed a crew account, two customers, three services, and jobs in every status from scheduled to paid, with comment threads.
Why Elements
Elements is an integrated full-stack app framework and a project server. The project server checks the agent's work as it builds: it type-checks the server and browser code, analyzes the program, applies migrations and runs the tests, then reports the results to the agent. A security mistake, such as calling a server-only function from the browser, is a compile error. The agent reads the report and fixes its own mistakes before it tells you a feature is done. The same checks run on every feature you ask for next.
Run it yourself
- 1 Sign up
Already have an account? Sign in
- 2 Install and run the demo One prompt to paste into your agent.
The prompt
What Claude was given to build this app.
Build a job management web app for a lawn care business. Two kinds of accounts: company and customer. Any company user can do all company actions. Customers only see their own jobs. CUSTOMER - Sign up, log in. - Book a job: pick a service, pick a date and time, describe the work. Business hours are weekdays 9am to 5pm. - See their jobs. - Open a job to see details and a comment thread they can post to. - Pay the invoice with a credit card when the job is done. COMPANY - Log in. - Queue view: all scheduled jobs, soonest first. - Completed view: completed jobs, showing which ones have been paid. - Job detail: customer, address, service, scheduled time, description, comment thread, and a Mark Complete button. - Marking a job complete invoices the customer at the service's fixed price and emails them a payment link. Send email when an invoice is ready and when someone posts a new comment. Job status: scheduled, completed, invoiced, paid. Seed one company user, two customers, three services (mowing, leaf cleanup, hedge trimming), four jobs across statuses. All status changes updated in real time.