The Watering Can

Niagara's Botanical Destination — Vineland & St. Catharines, ON

I serve as the in-house developer at The Watering Can, where my role spans full-stack development, systems architecture, and infrastructure engineering. Day to day I write and review code, architect new systems, handle support tickets, and build long-term projects — all in an agile environment where priorities can shift with a phone call.

Role
Developer
Type
Full-time
Focus
Full-stack
Tech
WordPressWooCommercePHPJavaScriptReactNode.jsDockerProxmoxMySQLREST APIs

WooCommerce Features

The public-facing site runs on WooCommerce. Two features in particular required significant custom development:

Workshops

Seasonal hands-on classes taught by floral designers. Custom booking flow, capacity management, and scheduling integrated directly into the storefront.

Garden Tea

A curated tea experience with online reservations. Custom product type with date/time selection, party size handling, and availability logic.

Internal Systems

Beyond the storefront, I've built a suite of internal tools that power daily operations:

Point of Sale

Custom POS system built to handle the unique needs of a flower market — from quick retail transactions to complex arrangement orders.

Staff Portal

Centralized hub for staff to manage schedules, access resources, and coordinate across departments.

Bloomboard (Paperless)

Production management system designed to replace paper order forms. Tracks orders through the fulfillment pipeline from sale to completion. The team named it Bloomboard.

Purchase Order System

Streamlines vendor ordering and inventory tracking. Currently in active development.

Infrastructure

I manage the underlying infrastructure that keeps everything running:

Proxmox Clusters

Highly available server clusters providing redundancy and reliability for all internal services.

Docker Microservices

Each service lives in its own container with rigid input and output requirements — making it easy to add new features without legacy code getting in the way.

Architecture Philosophy

I believe in distributed architecture where each service lives in its own bubble. Rigid I/O contracts between services mean new features slot in cleanly, legacy code never blocks progress, and any single service can be replaced or scaled independently. This approach has allowed The Watering Can's tech to grow organically alongside the business without accumulating technical debt.