Verdant Lane • Houseplant studio

Bring calm, living greenery into any room

Verdant Lane curates resilient indoor plants, pots, and care kits. Explore the collection, add favorites to your cart, and experience a production-grade Stripe checkout in minutes.

Sunlit living room filled with houseplants
Real checkout, gentle onboarding

Add a plant to your cart, use Stripe test cards, and see the full fulfillment loop in action.

Stripe-secured checkout
Run end-to-end payments in test mode, including 3D Secure flows.
Carefully sourced
Small-batch growers and sustainable greenhouses—no mass-market clones.
Delivered thriving
Climate-controlled packaging keeps foliage lush from nursery to doorstep.

Featured foliage

Pulled straight from Stripe Products & Prices; refreshed every minute via ISR.

View all products
  • African Violet

    African Violet

    $21.00

    4.9(63)
    FloweringLow lightWeekly

    Compact rosettes with velvet leaves and cheerful blooms indoors.

    View details
  • Agave Attenuata

    Agave Attenuata

    $37.00

    Hit4.8(115)
    SucculentBright lightMonthly

    Sculptural rosette with smooth leaves; dramatic in bright light.

    View details
  • Aglaonema 'Silver Bay'

    Aglaonema 'Silver Bay'

    $31.00

    New4.3(85)
    FoliageLow lightEvery 2 weeks

    Wide leaves splashed with silver; thrives in shade and stable temps.

    View details
  • Alocasia 'Polly'

    Alocasia 'Polly'

    $38.00

    4.6(57)
    TropicalBright lightWeekly

    Striking, shield-shaped leaves with bold veins; loves bright, humid spots.

    View details

Tech highlights

Quick snapshots of the engineering focus areas behind the demo.

Stripe-first data layer

Products and prices sync from Stripe, with promo codes validated server-side before Checkout.

Next.js App Router + ISR

Catalog pages cache via ISR, with dynamic Open Graph, sitemap, and robots endpoints.

Testing + CI feedback loops

Vitest and Playwright suites ship with coverage and workflow badges for quick QA.

What I learned

The takeaways that shaped how this build came together.

01

Checkout UX under real constraints

Handling promo errors, empty carts, and Stripe redirects without breaking the flow.

02

Clear server/client boundaries

Keeping Stripe logic server-only while the cart stays fast and responsive in the browser.

03

Production-minded edge cases

Validating price IDs, throttling quantities, and surfacing webhook outcomes on success.

04

Storytelling for demos

Combining feature highlights with friendly copy to make the build portfolio-ready.