Case Study

Live & in production

I Battle Me Daily

An independent nonprofit needed a real storefront to fund its mission, not a placeholder. Built from scratch on Next.js, now running live Stripe checkout with a locked-stock order flow, a full admin CMS, and a security posture that's been audited and hardened three separate times.

Role

Full-stack, solo

Stack

Next.js 16 · React 19 · Drizzle · Postgres

Status

Live checkout shipped

Screenshot pending · ibattleme.com/shop

The Problem

A nonprofit with no real way to sell anything.

I Battle Me Daily is an independent nonprofit that sells apparel to help fund its mission. It needed an actual storefront: real products, real checkout, real admin control, not a page that just looked like a store.

This wasn't a template job. It needed a custom catalog, a product-image pipeline that could handle real client photography, and a payment flow that wouldn't quietly overbook a shirt that only had three left in stock.

What Was Built

A full commerce stack, owned end to end.

  • Catalog & admin CMS: products, variants, orders, shipping settings, and a "Voices" testimonial wall, all editable without touching code.
  • Live Stripe checkout: server-enforced checkout gating (not just a UI toggle), a row-locked stock decrement so two near-simultaneous webhook deliveries can't double-sell the last unit, and refunds that route through the same locked path as a normal sale.
  • Product presentation: a 2.5D shelf-browsing experience and full on-model photo galleries, re-encoded from raw client photography down to web-ready sizes without losing the shots that actually sold the product.
  • SEO/GEO pass: dynamic sitemap pulled straight from the product table, JSON-LD for the org and every product, and llms.txt for AI crawlers.
  • Three security hardening passes: rate limiting on auth and contact endpoints, strict upload validation (type allowlist, size cap), XSS-safe JSON-LD escaping after finding the product-description field was a stored-XSS sink, and an auth re-check on every admin mutation instead of trusting the layout gate alone.

Outcome

Live, selling, and self-service.

ibattleme.com runs real checkout today. The nonprofit's team can add products, manage orders, and update the testimonial wall themselves through the admin panel, no code changes required on their end. The storefront has been through multiple real audits (accessibility, privacy, and a dedicated payment-security review) and the fixes from each one are live in production.