A Blog-Dump-Diary-Directory I Built to Survive Capitalism
What is Sam Sepiol?
The Sam Sepiol site is the digital nerve center of my internet existence. It’s not a blog. Not a portfolio. Not a resume. It’s… all of them—and none of them. A chaotic but carefully designed hub for every project I’ve built, thought I wanted to build, or started building at 3AM before deciding I needed to cry instead.
This site is where I post:
- full case studies (like Mildly Medicated, Dermageddon, Echo, etc)
- rants disguised as blogs
- insights, spirals, and spicy unfiltered thoughts
- postmortems of every digital breakdown I survived
All written through my character Sam Sepiol—an anonymous persona I created so I could be unapologetically myself, with a little extra spice and sarcasm.
Why Sam Sepiol?
Because I’m deeply, obsessively, spiritually attached to Mr. Robot. That show changed me. That show made me what i am right now. Elliot pushed me into this dev path more than any tutorial ever could. The paranoia, the hoodie, the mindset, everything hit too real (we even have matching meds duhhh). And if you know, you know: Sam Sepiol was one of his aliases. And yes, I stole the name. Zero shame. Full respect. This alias lets me write and build as my truest self, but under disguise. Not to hide. Just to feel safer showing up fully.
Project Duration
~11 days on the clock, but spiritually? A whole season.
Since I’m fully booked on capitalism hours, this project became a weekend-only ritual.
I’d code for a few hours, pass out, then rise again like a cursed developer phoenix. Slow build, fast mind.
Needed this site to hold everything, so it had to be done right—even if it meant sacrificing sleep (again).
Tech Stack
- Astro (for markdown-powered blog structure + smooth routing)
- Vue 3 (some interactive bits and dynamic feel)
- HTML + CSS + JavaScript (manually tweaked because I don’t trust anyone)
- GitHub + Vercel (version controlled and deployed under pressure)
- DNS configured manually (I’m a domain settings survivor now)
- Custom fonts + curated colour palette
- All contrast ratios WCAG approved (because accessibility isn’t optional)
- My brain (repeatedly crashing, still online)
My Role
Everything. Literally everything. Concept & character creation (Sam Sepiol lore)
- UI/UX design and layout structure
- Writing & copy (case studies, rants, survival logs)
- Frontend development from scratch
- Dark mode decisions. Mobile tweaks. Colour psychology.
- Hosting, deployment, and domain config (DNS warrior arc)
This is my basecamp. My brain container. My version of a digital journal—except it has hover states and looks sick on mobile.
The Entry Lore
Let’s rewind.
Months ago, before I really got into this web developing thing, I was obsessed with blogging. I got pushed by one of the authors I ghostwrote for (can’t name her, NDA life) and she told me,
“Your writing is sooooo good. You should make your own.”.
I said bet. So I did.
She was using subst*ck, so I followed. Started writing, publishing, doing my thing.
Then my lovely mentor asked what I was up to and I said,
“Blogging. Look, I found this cool site called subst*ck.”
And he hit me with,
“Why use a platform when you can build your own?”
I brushed it off. Told him nah, I’m good.
I kept writing on subst*ck, kept posting regularly. But instead of building my own website for it, I poured all my energy into Dermageddon, Mildly Medicated, Cheehoo Web—all mine. Fully built by me. I always finished what I started. I just hadn’t built my own home for it yet. Later, I thought, maybe I should make a site for my full process. Learning logs, portfolio, case studies, survival notes. All of it. Mentor came back like,
“You keep using sspiol.lol as your subdomain… but the root is empty.”
Again I was like, hmm. Maybe later.
I thought making a blog site would be too complicated. Too much to update. Tried dumping things into notion, but it didn’t feel like me. Didn’t want popups asking people to subscribe on subst*ck either. Eventually, I snapped and started writing everything. I wanted something that looked like me. No subscribe button. No corporate polish. Just logic and vibes.
When the Universe Spoke Through Google Search
Even after all that, I still hadn’t started the site. The idea of building a full blog site from scratch? Lowkey terrifying. And no way I was touching wordp*ess. I didn’t want bloated templates I’d have to wrestle to the ground just to change one line of CSS. I’m stubborn like that.
So I googled:
“Blogging platform that doesn’t annoy me and lets me store case studies without saying please subscribe, the author has debt.”
And then… I found Astro.
Like stumbling upon a shiny legendary Pokémon.
Clicked the link. Realised it’s not just a platform—it’s a whole-ass framework.
“Wait. WHAT? This is… actually perfect?”
I’d found a goldmine.
I called in my unpaid intern, ChadGPT (yes the “chad” one, ChatGPT but on steroids), and made him explain everything like I’m five. Asked a billion things:
“I’ve used Vue before, will this betray my Vue arc?”
“Can I breed them together?”
“Is it doable to mix Astro and Vue or will the site explode?”
ChadGpt said: yes. yes. and yes.
So I read every bit of Astro’s docs—thank god they’re ADHD-friendly (unlike Vue… please fix your docs 😭). Watched a few videos. Took notes. No turning back.
Like always, I mapped everything out before writing a single line of code:
- Outlined the whole structure
- Created low-fi and hi-fi mockups
- Built brand guidelines
- Curated fonts, colours, and overall vibe
- Organised tasks in ClickUp (because what is Jira?, ClickUp cute..duhhh)
Then I opened my code editor… And everything broke. (As it should.)
When Your Navbar Gaslights You and Astro Props Betray You
Started the usual prep.
npm install astro@latest
yada yada. Everything felt chill at first. Hovered around. Astro looked familiar—honestly kinda Vue-ish but way simpler. I was like,
“Ez pz lemon squeezy. We’re winning.”
Until…
The navbar refused to navbar-ing.
Four. Days. Straight.
It wasn’t hydrating. It wasn’t behaving. It worked once—then after finishing a different section, I got the gut feeling: “Better re-check the nav.”
Yeah. It broke again. I spiraled.
I went line by line:
- Does it have client:load? ✅
- All script setup done? ✅
- Dummy template version working? ✅
- Real version working? ❌
I genuinely started questioning whether Vue and Astro were meant to be together.
I wasn’t ready to ditch either. So I kept digging. Obsessed.
Then finally… I spotted it.
transform: translateY(-10vh);
Buried in my hero wrapper. Covering the entire nav like a crime scene.
LMAOOOOO NO WONDER. JAJAJA. HAHA. LOL. KKKKKKKK. ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
Threw in z-index: 9999999
on the nav and boom—it finally worked.
Then came Problem #2:
My MDX blog data refused to show dynamic image, title, or date.
Was already like,
“You know what, WHATEVER. I’ll just hardcode the same boring image on all posts.”
But before I slept (because yes, the bug haunted me), I checked the docs one more time.
Turns out… it was this:
const { frontmatter } = Astro.props;
const { title, date, image } = frontmatter;
That’s it. That’s what fixed it.
I had already installed 932 npm packages trying to “fix the issue.”
But all I needed was those two lines.
Did the pain stop there?
Of course not.
Fixed My Shit, Then Vercel Said No
After all the bug hunting and dev spiraling, the rest? Surprisingly smooth.
Once I got over the nav and frontmatter issues, everything clicked.
Astro was honestly amazing, simple, logical, no nonsense.
I only needed two layouts.
Copy-paste. Make it cute. Tweak some margins.
No overengineering. No bloat.
In just two days, I had the whole site wrapped.
Then came the exciting part: DNS setup.
Finally, I get to use my root domain.
sspiol.lol
, she’s real. She’s mine. I was thrilled.
I hit deploy on Vercel like a proud parent…
Then went to deal with… personal plumbing business 🧍♀️💩
(yes, I brought my phone. we all do.)
Mid-scroll, I got an email from Vercel.
Weird. They never email me.
Opened it.
“y/n deployment failed.”.
BRUHHHHHHH WHAT DA FUUGGGGG 😭
I hadn’t cleaned up my dependencies. I knew it.
All that npm install panic
from before?
Yeah, I installed half the registry. Including deprecated packages. My bad.
Ran back to my PC.
Opened Vercel.
Saw the most ✨aesthetic✨ error messages ever…
Buzzword soup wrapped in technical poetry.
I wiped it. Nuked it. Cleaned the project folder like it owed me rent.
Then redeployed.
Success.
Site went live. Root domain fully armed.
Now the Sepiol brain is rent-free on the internet.
The Bottom Line
This site wasn’t about building the perfect blog. It was about building a place that feels like me—unfiltered, unfinished, sometimes cursed, but real. A home for every case study, rant, breakdown, postmortem, and late-night idea I refuse to let die in Notion.
From Subst*ck drafts to DNS wars, from pretending to blog to actually deploying my own system—this project became the clearest mirror of how I work, think, and survive creatively. Not perfect. Not always clean. But mine.
And honestly?
I don’t care if I don’t have an audience or if no one ever reads all this shit I wrote.
I just needed to let everything out.
Maybe one day, someone finds this artifact and treats it like a Sumerian tablet.
Sam Sepiol isn’t just a persona. It’s my way of showing up online when the world feels too loud.
And this site?
It’s my bunker. My archive. My brain, in .lol
format.
If you’re reading this, congrats, you just stepped into my head.
If you’re here at the bottom, I see you.
You’re not alone. Also, maybe go drink water..
Either way, thank you for reading!!