Danielle Fence Crew Scheduling
A drag-and-drop crew scheduling suite for a fence and outdoor-living company, built in React and Redux on the WordPress REST API.
- React
- Redux
- Radix UI
- Sass
- WordPress
- PHP
- MySQL
- NGINX
- Apache
- Let's Encrypt
- Google Maps

Danielle Fence is a fence and outdoor-living company, in business since 1976. In 2021 I built their staff scheduling suite: a weekly board where schedulers drag open jobs onto crews and days, with a map view to see where every crew is headed.
- Role
- Built the React front end and WordPress back end
- Timeline
- March to December 2021
01
The board
Each week is a grid: crews down the side, days across. Open jobs wait in the left rail, and scheduling one is a drag onto a crew and a day. Every card shows the job’s address with quick flags for HOA, permit, status, and gates, plus Crew/Equip and Clone actions.
02
The map
Flip from Schedule to Map and the same week lands on Google Maps, each pin in its crew’s color.

03
Crews
Crews live in a settings panel. Rename them, pick a color, or add one, and the board and map follow.

04
Under the hood
Crew schedules and customer addresses aren’t public data, so I hosted it on a locked-down stack. Nginx was the only thing facing the internet: it terminated TLS with auto-renewing Let’s Encrypt certificates and proxied to Apache and PHP-FPM. The app ran as its own unprivileged Linux user, the firewall opened only SSH and web traffic, and security patches installed daily.
Sign-in sits behind reCAPTCHA, on a screen branded to match Danielle’s design center.
The suite was also tied to Danielle’s existing in-house CRM.
- React + ReduxDrag-and-drop board and map, styled with Radix and SCSS
- WordPress REST APIJWT auth, routes documented in Postman and Swagger UI
- PHP-FPM + MySQLThe WordPress back end
- Nginx + ApacheA custom-built Nginx at the edge, Apache behind it

