berrypod/ROADMAP.md
jamey edef628214 tidy docs: condense progress, trim readme, mark plan statuses
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 17:15:18 +00:00

3.8 KiB

Berrypod Roadmap

Forward-looking vision and planned features. For current status, see PROGRESS.md.

What's done

Tiers 1-3 are complete. The shop handles real orders end-to-end: browse products, add to cart, Stripe Checkout, order submission to Printify/Printful, fulfilment tracking, transactional emails. Full admin with theme editor, page builder, analytics, media library, activity log, URL redirects, and dead link monitoring. Tailwind-free CSS, 99-100 PageSpeed, 1679+ tests.

See PROGRESS.md for the full list.


Profit-aware pricing & sales

Complete cost visibility for shop owners. Plan.

  • Fix Printful cost sync (catalog API cross-reference for variant costs)
  • Snapshot unit_cost on order items at time of sale
  • Exact Stripe fees from Balance Transaction API (not estimated)
  • Tax as a toggle: Stripe Tax at checkout, "inc. VAT" / "+ tax" display based on shop country
  • Admin profit dashboard: per-product margins, per-order P&L, overall business health
  • Price editor shows live margin as you set prices
  • Sales & promotions: time-limited, scoped to catalogue/category/products, % or fixed
  • Margin guard: prevent discounts that breach minimum profit threshold
  • Announcement bar for active sales

Production hardening

  • Litestream / SQLite replication — continuous backup to S3-compatible storage with point-in-time recovery. For the hosted platform, evaluate Turso/libSQL with embedded read replicas
  • End-to-end & accessibility tests — Wallaby browser tests for critical flows with A11yAudit (axe-core) assertions. WCAG 2.1 AA compliance
  • Security — evaluate Paraxial.io for runtime security monitoring, bot detection, rate limiting
  • AGPL licensing & code hosting — proper LICENSE file, contribution guidelines, release process. Decide on GitHub vs Codeberg vs self-hosted Forgejo

Newsletter & email marketing

Email list collection (signup forms on shop pages). Campaign sending for product launches and sales. Simple to start: collect emails, send via Swoosh. Ties into sales & promotions for sale announcement blasts.

Product page improvements

  • Pre-checkout variant validation (verify provider availability)
  • Cost change monitoring/alerts (warn if provider costs increased)
  • Better image gallery (zoom, multiple angles)
  • Product reviews system

Platform vision

Marketing site

Berrypod.com as the public face: brochure pages, pricing, comparison with Shopify/Squarespace, sign-up flow, demo store. Clear separation between the commercial platform site and the AGPL open source core.

Hosted platform infrastructure

Multi-tenancy with per-tenant databases. OAuth connect flows for providers (Printify, Printful) and payments (Stripe Connect). The setup UI already supports this: check for OAuth credentials and show the connect button, fall back to API key form on self-hosted.

Migration & export

Let shop owners export their data (products, orders, theme settings). Import from Shopify, WooCommerce. Portable data as a selling point for the self-hosted story.

Internationalisation

Multi-language via Gettext, currency formatting, RTL layout support. Note: ex_money/ex_cldr currently only used for GBP formatting but add ~13 MB to the release. Consider replacing with a lightweight format_price/2 until proper locale-aware formatting is needed.


Design philosophy

  1. "One theme, infinite variations" — one solid foundation with curated customisation
  2. Constrained creativity — limit choices to prevent poor design outcomes
  3. No professional photography required — works with product mockups
  4. Mobile-first — all features work on touch devices
  5. Ethical design — no dark patterns or fake urgency
  6. Privacy-first — cookie-free analytics, GDPR-compliant cart recovery, no tracking pixels