Logo
IdongEssien

The Art of Shipping: How I Built (and Un-Built) My Digital Home

Jan 4, 2026 Essien, Idong 3 min read
6 2 1

A developer’s journey through Next.js, mobile UX struggles, and the humbling lesson that "less is often more."

The Vision: Why Build This?

In a world of LinkedIn profiles and generic PDF resumes, I realized that as a software developer, "telling" people what I can do isn't enough—I need to show them.

The "Big Why" behind this project was ownership. I needed a slice of the internet that was distinctly Idong Essien—not a template, but a codebase I crafted line-by-line. The goal was to build a centralized hub that serves two distinct audiences:

  • Employers: Who need to see clean code, live deployments, and a modern tech stack.
  • Clients: Who need to see a "Freelance Developer" they can trust to build their business solutions.

Ultimately, deploying this to the public web was about credibility. It transforms me from "someone who knows code" to "someone who ships products."

The Stack: Choosing Our Weapons

(And yes, you’ll notice I keep saying "we." That’s because this entire project was peer-programmed with Google’s Gemini. I brought the vision and the debugging grit; Gemini brought the syntax and the infinite patience!)

We didn't just grab off-the-shelf tools; we chose a stack optimized for performance, scalability, and developer experience.

  • Next.js 16 (App Router): We chose Next.js for its server-side rendering capabilities, ensuring the site is blazing fast and SEO-friendly.
  • TypeScript: JavaScript is great, but TypeScript is safe. We used it to catch errors early—preventing silly bugs like passing a number where a string was expected.
  • Tailwind CSS: For styling, Tailwind allowed us to build a "Mobile First" design without fighting cascading style sheets.
  • Vercel: We deployed here because it’s the native home of Next.js, making the "push-to-deploy" pipeline seamless.

The Battle Scars: Technical Hiccups & Resolutions

No project is without its headaches. This build had three major technical hurdles that tested our problem-solving skills.

1. The "Google Voice" Trap (Authentication)

Problem: We tried an "Email-to-SMS" hack using nodemailer to send texts via carrier gateways. It failed miserably.
Fix: We learned Google Voice doesn't support email gateways. We pivoted to Twilio, the industry standard.

2. The "It Works on My Machine" Error

Problem: The SMS login worked locally but crashed in production.
Fix: We realized Vercel doesn’t know our local secrets. We manually injected environment variables into the Vercel dashboard.

3. The Mobile Dropdown UX

Problem: The "Actions" dropdown was getting chopped off on mobile screens.
Fix: We removed overflow-hidden from the container and used adaptive positioning (anchor left on mobile, right on desktop).

The Pivot: The Hardest Lesson Learned

The biggest technical lesson wasn't about code—it was about Scope Creep.

We spent days building a robust authentication system and Admin Dashboard. But then we paused and asked: "Do I really need to edit my 'About Me' section from my phone while buying groceries?" The answer was no.

The Resolution: We made the bold executive decision to delete the entire Admin route.
The Lesson: Simplicity scales better than complexity. By returning to a static site, we removed security vulnerabilities and focused on user experience.

Looking Forward

This project proved that I can handle the full lifecycle of software development. For future projects, I will carry forward the "Mobile First" discipline and the "YAGNI" (You Ain't Gonna Need It) principle.

The site is now live, fast, and lightweight. It is "Thoughts.Compiled()"—ready for the world.