Building Twicsy UK: a 155-page store, solo
Business problem
A UK client selling social media growth services needed a real store, not a landing page. Customers had to browse services across Instagram, TikTok, Facebook and YouTube, pay securely, and actually get their orders fulfilled. And the client needed to run the whole thing day to day without a developer babysitting it.
System architecture
I built it on Laravel 13 with a clean service-layer setup. Stripe handles payments, with webhooks so orders update themselves; MySQL stores everything; and a custom CMS lets the client edit pages, blog posts and pricing without touching code. Third-party APIs pull in the social data. On top of that sits caching, rate limiting, and a role-based admin dashboard so different staff only see what they should.
Challenges
Two big ones. First, the sheer surface area — 155+ pages with dynamic pricing, coupons and SEO all had to stay consistent. Second, payments and fulfillment had to be bulletproof: a dropped webhook means a customer pays and gets nothing. I leaned on careful order-state handling, Stripe webhooks, and PHPUnit tests around the money paths to keep that from happening.
Implementation
155+ dynamic pages, a custom CMS, blog, review moderation, a coupon and discount engine, dynamic pricing, and an admin dashboard with role-based access. Secure Stripe checkout with webhooks, plus SEO tooling baked in since organic traffic is the whole point for this client. I handled deployment on Nginx and Linux and stuck around after launch for fixes and tuning.
Results
A production store the client runs themselves, live at twicsy.uk. Content, pricing and orders are all self-serve now, and the SEO setup gives them a real shot at organic growth instead of paying for every click.