I built a self-serve CMS that took Winc's marketing team from 3-4 landing pages a week to over 200 in two months, and that faster iteration nudged conversion from 1.4% to 2.0%. It mattered because every campaign page used to need a developer somewhere in the loop, from collecting assets to shipping, so a 40-page campaign meant 10-plus weeks of waiting while marketing sat behind engineering. I started it as a side project, then owned it end to end: the Angular 2 form interface, the S3 asset uploads, and the backend that generated static HTML for SEO.
The bottleneck
Marketing was badly throttled by engineering. Every page required developer time at some point, so the team could only get 3-4 out per week, and the whole thing was happening mid-rebrand from ClubW to Winc on top of a legacy AngularJS codebase that needed modernizing. Customer acquisition was expensive too, $47 CAC that didn't break even until month three, so slow iteration on page designs cost real money.
Building the tooling
I kept running into the same bottleneck, so I started building during downtime; my manager had the idea but not the technical chops to build it. I designed the self-serve system on Angular 2, which had just been released, with a form-based interface and input validations, S3 integration for asset uploads, database-backed page configurations, and a backend service that generated static HTML so the pages stayed SEO-friendly. On top of that I built a template system with variable asset and content injection, plus a one-off exception path for custom campaigns, which let marketing deploy immediately without an engineering review.
Then I got marketing off the backlog for good. I trained four team members on the CMS, wrote the documentation and best practices, and migrated the existing landing pages within two weeks. The CEO recruited me personally for the rebrand, where I restyled the whole site to the new Winc branding and preserved every live URL through the migration so members never hit a broken link, then sunset the old ClubW app. Later I joined a cross-functional conversion team alongside a designer, QA, PM, and data analyst, where I analyzed member funnels, fixed abandonment points, and shipped UX improvements behind A/B tests.
The results
Before
12
After
200+
Before
3-4
After
8-12
Before
—
After
12+ hrs/week
Before
—
After
2 weeks
Before
1.4%
After
2.0%
Before
100%
After
0%
What I took from it
The best code I wrote at Winc was the code that took engineering out of the loop entirely; tooling that multiplies a team's output beats shipping that team one more feature. It started as a side project and ended up earning me a title promotion, which is its own lesson about where initiative leads.
