You Need to Expose Yourself Online (Or Do You?)
The fascinating part about New Year's resolutions is that we make them knowing full well that by February, most of them will be gathering dust alongside our unused gym memberships. But here I am, January 2026, actually following through with mine: exposing myself online. Well, professionally speaking.
The Theory Everyone Keeps Repeating
If you've spent more than five minutes in tech circles, you've heard it: "If you want visibility outside your immediate professional bubble, you need to put yourself out there." Post on LinkedIn. Write articles. Share your knowledge. Build your personal brand.
And honestly? It makes perfect sense. Theoretically.
But here's the thing—exposing yourself online is uncomfortable. It takes time you don't have. It opens you up to judgment. You can create a dozen perfectly reasonable excuses not to do it. I know because I've used them all:
- "My resume should be enough to show my knowledge"
- "I don't have anything interesting to say"
- "Who's going to read my stuff anyway?"
- "I'll start next month when things slow down" (narrator: things never slow down)
- "I need to polish my ideas more before sharing"
Sound familiar?
Then I realized something simple: the only way to know if there's actual value in this whole "online presence" thing is to actually do it. So, what the heck, right?
Why Making It Easy Would Be Too Easy
Now, I could have just started posting on LinkedIn like a normal person. But why make it easy? 😒
Instead, I decided to resurrect my personal website and turn it into something useful, a proper blog where I can write articles. Because if I'm going to procrastinate, I might as well procrastinate productively by over-engineering the solution.
My site was built with Astro, which I initially chose for its simplicity and static site generation. Perfect for a portfolio that rarely changes. When I realized I needed database storage and authentication for a blog, my first instinct was: "Well, time to migrate everything to Next.js and rewrite the whole thing."
Classic developer behaviour to throw away what works and start over with a new framework. I was already mentally preparing for the weekend I'd spend rewriting components and regretting them later.
But then I actually checked what Astro could do these days. Turns out, I didn't need to go through any of that.
The Technical Surprise
Astro can handle serverless functionality without breaking a sweat. You can keep your site mostly static while making specific pages dynamic. Here's how simple it is:
export default defineConfig({
output: 'server', // Just change it from 'static' to 'server'
adapter: vercel({}),
...
});
Seriously, one line.
The Database That Actually Made Sense
Next problem: I needed somewhere to store articles. My requirements were simple:
- Must be free
- Easy to use
- Won't expose secrets in my public GitHub repo
Enter Supabase. It's essentially a managed PostgreSQL database with authentication baked in, and their free tier is surprisingly generous. Here's all it took to get started:
// src/lib/supabase.ts
import { createClient } from '@supabase/supabase-js';
export const supabase = createClient(
import.meta.env.SUPABASE_URL,
import.meta.env.SUPABASE_ANON_KEY
);
Then fetching articles is just:
const { data: articles } = await supabase
.from('articles')
.select('*')
.eq('published', true)
.order('published_at', { ascending: false });
Clean. Simple. Works.
The best part? Supabase has Row-Level Security policies, so I can keep my repository completely open on GitHub while protecting who can write articles (spoiler: just me). All the sensitive keys live in environment variables.
Feel Free to Steal Fork My Setup
Speaking of which,the repository is open. Feel free to fork it and adapt it to your needs. Just remember to use your own information, not mine.
The setup includes:
- Astro 5 with hybrid static/serverless rendering
- Supabase for database and auth
- Login with GitHub (what developer doesn't have a GitHub account?)
- Social media sharing buttons
Repository: github.com/guilhermomg/personal-website
What's Next? (Besides Actually Writing)
Now that the technical procrastination is over, I need to figure out SEO. Turns out, having a blog is one thing; having people actually find it is another. Who knew? (Everyone. Everyone knew.)
I'm also planning to make more of the site dynamic instead of just the articles. And of course, I need to find some clever way to integrate AI into all of this because it's 2026 and apparently that's mandatory now.
But most importantly, I want to go deeper technically in future articles. This first one was hardly technical, it was mostly just spitting out thoughts. In the future ones I expect to share actual learnings, code patterns, architectural decisions. The stuff that might actually help someone else who's figuring things out.
The Real Resolution
So here's my real New Year's resolution: stop making excuses and start sharing. Even if it's uncomfortable. Even if it takes time.
Will this actually increase my professional visibility? Will anyone read these articles? Will I regret writing this in three months?
I have no idea. But now I'm doing it, so I'll find out.
And honestly? That's the whole point.
*Footnote: I'm currently using Perplexity AI and if you're planning to use it to turn your text into markdown, ask it to save the output to a .txt file instead of returning it as a response. Otherwise the response breaks. 😅