Skip to content
Back to projects

Case Study

Plant Plotter

A garden planning and tracking app for designing layouts, exploring plant guidance, and managing ongoing garden care.

Year
2026
Role
Full-stack developer — Independent Continuation
  • Next.js
  • React
  • Tailwind CSS
  • Node.js
  • Express
  • MySQL
  • JWT
  • Render
  • Aiven
  • Vercel
  • GitHub Actions

Plant Plotter began as a client-focused group project and was later continued independently. I evolved it into a deployed full-stack application, focusing on reliability, security, mobile usability, testing, and polishing the core garden planning and tracking workflows.

01 · Problem

Gardeners need to think about both where plants will grow and how they will be cared for over time. Those tasks are often handled separately, making it difficult to keep a garden layout, plant information, care history, and upcoming work in one place.

02 · Solution

Plant Plotter combines a visual garden planner with a plant library and care tracker. Users can create gardens, arrange plants spatially, review growing and companion information, log completed care, and manage recurring garden tasks from the same application.

03 · Features

  • Visual garden planner with plant footprints, placement validation, and row planting
  • Plant library with growing information and companion planting guidance
  • Care history, recurring tasks, and today/upcoming/overdue views
  • Email-verified registration and secure password recovery
  • Protected interactive demo account for visitors
  • Responsive workflows for desktop and mobile

04 · Screenshots

  • Plant Plotter visual planner with plants placed on a numbered garden grid
    Visual planner: plants placed on a grid that persists to the API.
  • Plant Plotter My Gardens dashboard listing user-created gardens
    My Gardens: multi-garden dashboard, per user.
  • Plant Plotter garden details overview page
    Garden details: overview, plants, analytics, and settings in one view.
  • Plant Plotter companion planting guidance
    Companion guidance pulled from the plant dataset.
  • Plant Plotter tracker showing a calendar of garden care tasks
    Tracker: calendar, today's tasks, overdue tasks, and weather context.
  • Plant Plotter public landing page
    Landing page: public marketing entry point.

05 · Challenges

The main challenge was evolving an existing group project without destabilizing working features. I had to improve authentication, database consistency, transactional saves, validation, responsive interactions, and shared-demo safety while keeping the application deployable throughout the process.

06 · What I Improved

  • Reworked authentication with email verification, safer password recovery, and session invalidation
  • Improved planner reliability with transactional saves and safer garden deletion
  • Refined tracker workflows, recurring tasks, care history, and failure recovery
  • Improved mobile usability across the planner, modals, and garden-management flows
  • Added stronger validation, automated tests, and production-focused security controls
  • Built a protected user demo with deterministic data restoration

07 · What I Learned

  • Designing frontend and backend validation as one consistent contract
  • Using database transactions to protect multi-step destructive operations
  • Building authentication flows around real failure and recovery states
  • Prioritizing reliability and product polish over unnecessary architecture