🌙 How a Quiet Night in Ericeira Led Me to Build My Own WordPress Membership Plugin
Ericeira, Portugal. A Tuesday night in June 2025.
The house was finally quiet.
Dishes done, son asleep, dog curled up by the door. My wife had just turned in for the night. I was still at my desk — lights dimmed, ocean breeze drifting in through the cracked window, the last sips of lukewarm tea within reach.
On the screen: my CRM knowledge base.
A structured vault of insight — systems I’d built, frameworks I’d tested, vendor stacks I’d mapped out over months of deep work. I was proud of it. It wasn’t pretty, but it was useful. And it had quietly become one of the most valuable things I owned.
“I should share this,” I thought.
“But not with everyone.”
I didn’t want it on LinkedIn. Not in a newsletter blast. I wanted it for my circle — my clients, peers, and the curious few who think the way I do. The ones who’d actually use it.
That’s when I said the fateful words:
“I just need a membership plugin. A simple one.”
Ha. Yeah.
“WordPress will handle this, right?”
Naturally, I turned to WordPress. I’ve used it since forever. It’s home turf. I figured I’d just enable registrations, protect a few pages, maybe style a form or two. Done by midnight.
But the reality?
The registration feature is disabled by default. Fair enough — security. But even when enabled, the out-of-the-box experience is clunky at best and cursed at worst. The styling was a disaster. The flows were unintuitive. Even after some CSS and duct tape, it still felt like I was building an onboarding experience in 2009.
“Okay. Plugins. Let’s find one that just… works.”
I went plugin diving.
There were plenty. In fact, too many. Most were impressive. But they all seemed to want one thing: control. They came bundled with Stripe integration, multi-tier access levels, dashboards, analytics, invoices, maybe a smoothie machine.
They promised simplicity — but to me, they felt bloated, sales-driven, and way over-engineered for what I needed.
I didn’t want a membership platform.
I wanted a gate.
So I built it. The hard way — but the right way.
If something doesn’t exist, and you can’t duct tape it together… well, you build it.
Problem: I’m not a full-time coder anymore. I started that way, years ago. But my JavaScript is rusty, my PHP gets second-guessed, and my time — between running projects and being a dad — is scarce.
But then there’s AI.
I started prototyping with ChatGPT and Claude. The first versions were… entertaining. And frustrating. If you get the prompt wrong, you get a weird Frankenstein plugin that doesn’t even activate. Fixing those dead-end outputs takes more time than starting over.
Still, I kept going.
I wanted something elegant, and clean, and conversion-focused. Something I’d actually be happy to run on my own site.
So I went old-school. Opened up VS Code. Fired up Local. Sketched out the logic. Prompted GPT like a boss. And line by line, I started building.
Introducing: Surfstyk Simplest Membership
It’s exactly what the name says.
A lightweight, native WordPress plugin that lets you protect content, blur what’s behind it, and give users a seamless way to sign up and get in — using a magic link.
🛠️ The core features:
- Teaser content: Show the first section of a protected post or page.
- Blurring effect: Visually block the rest with a stylish transparent overlay and gradient fade.
- Simple sign-up form: Just nickname, email, and a checkbox.
- Magic link login: No passwords. Just one secure click from an email.
- Instant unlock: They’re verified, logged in, and redirected — all in one clean flow.
It’s secure. It’s clean. And it works with everything:
- Pages, posts, custom post types
- Custom fields
- Pages rendered in React, Elementor, anything
Even better: the overlay is completely isolated from the content. No DOM collisions. No style interference. Your content stays yours. My plugin just floats above it like a well-behaved guest.
Why This Matters to Me
I wasn’t trying to build the next “membership empire” plugin. I wasn’t optimizing for scale. I just wanted something that worked — for me, and people like me.
I needed:
- A gate that doesn’t kill the user experience
- A sign-up that doesn’t require a new password
- A flow that feels like it belongs in 2025, not 2012
The end result is something I’m genuinely proud of. It’s minimal. It’s frictionless. It feels good to use. And it respects the principles I care about:
- Simplicity
- Data ownership
- Clean onboarding
- Zero distractions
What’s Next?
Right now, I’m running Surfstyk Simplest Membership on my own site to protect CRM content — and it works beautifully.
I’m thinking about releasing it publicly. If I find the time (and maybe a few plugin veterans who’ve done this before), I’d love to get it into the WordPress Plugin Directory.
If that’s your world — ping me.
If you want to use it — let’s talk.
If you just want to peek — go check it out here.
Final Thoughts
There’s something special about building for yourself.
You make better decisions. You’re not distracted by trends. You care more about what it feels like at 11pm when your brain’s tired but the idea is still burning.
This plugin wasn’t built with VC funding or a launch strategy.
It was built with the door slightly open, the ocean air rolling in, and the quiet conviction that something simple can still be powerful.
Thanks for reading.