Tree service management software · Built with a local tree service
Evergreen CRM
A complete back office for a tree service, from the first request to the final payment.

The challenge
Tree services juggle phone requests, estimates, crews in the field, and chasing payments, often across notebooks, texts, and memory. I worked with a local tree service to learn how their days actually run, then set out to put every step in one place that works as well in the truck as in the office.
What I built
Evergreen follows each job from request to payment. Clients ask for work through an online form, the office sends estimates that clients sign on screen, jobs are planned on a map-based schedule, the crew sees only their own day, and invoices go out with optional online payment. The screenshots use sample data.
Highlights
- Online request form that drops new work straight into the office's list
- Estimates emailed with a link clients sign on screen, plus branded PDFs
- Day and week schedule with a map and one route through each day's stops
- Admin, manager, and crew accounts, each seeing only what they need
- Crew clock-in, weekly hours with overtime, and a payroll export
- Invoices, follow-ups on overdue bills, finances, and monthly reports
A closer look





Built with
- Next.js
- TypeScript
- Tailwind CSS
- PostgreSQL (Neon)
- Drizzle ORM
- Leaflet maps
- React PDF