Daniel Campos
HomeAboutThoughtsProjectsContact
Daniel Campos

Fullstack developer building practical software with clear interfaces and solid foundations.

Navigation

HomeProjectsThoughtsAbout

Social

ContactLinks

© 2026 Daniel Campos. All rights reserved.

BM
ArticleBuilding My Own Website Made Me More Honest
ArticlePersonal

Building My Own Website Made Me More Honest

DC
Daniel Campos
Share:
June 23, 20266 min read
DC
Daniel Campos
June 23, 20266 min read
Share:

The hardest part of building this website was not choosing a framework, styling a page, or wiring Sanity into Next.js. The hard part was opening an empty page and deciding what I was willing to say about myself.

A personal website looks like a technical project from the outside. There is a repo, routes, schemas, components, metadata, images, and deployment work. That part is familiar. I can sit with a bug for hours if I know what broken looks like. But a portfolio has a different kind of broken. Sometimes nothing is failing, and still the page feels wrong.

I kept running into that feeling while building this site. A section would work, the layout would hold, the data would render, and I would still stop because the words did not feel like me. Too polished sounded fake. Too casual felt careless. Too much detail turned into a resume. Too little detail made the work look smaller than it was.

The site became a mirror

When I started working on the site, I thought I was building a place to show projects. That is true, but it is incomplete. I was also building a system that forced me to explain my choices.

A project card can hide behind a title and a stack list. A full project page cannot. It asks better questions: What problem did I solve? What did I learn? What was difficult? What would I do differently now? If I cannot answer those questions, maybe the project is not ready to be presented, or maybe I have not thought clearly enough about it yet.

That was uncomfortable in a useful way. I had to stop treating the website like decoration and start treating it like a record of judgment. Every page needed to earn its place. Every sentence had to either explain the work or get out of the way.

The technical work was the easier hard part

There were normal engineering problems: content schemas, Portable Text, category references, Open Graph images, metadata, dark mode details, responsive layouts, and all the small states that make a site feel finished instead of assembled.

Those problems can be annoying, but they have edges. If a query is wrong, the page tells me. If an image does not render, I can inspect it. If a route breaks, I can trace it. I like that kind of work because the feedback is direct.

The slower work was deciding what kind of site this should be. I did not want a portfolio that only says "look what I made." I wanted something closer to a workshop: projects, thoughts, notes, and enough context that someone can see how I think, not just what tools I have used.

That meant the CMS mattered. Writing directly in code is fine until publishing starts feeling like a chore. Sanity gave the content a place to live. The schema forced me to decide what a post is, what a project is, what belongs in a category, and how much structure I want before the structure becomes friction.

Writing about myself was the real bug

I can write a technical guide more easily than I can write an About page. A guide has a reader with a problem. The job is to help them leave with a working setup. There is a clean direction.

Writing about myself does not feel clean. It is too easy to sound like I am performing confidence. It is also too easy to make myself smaller so I do not sound like I am trying too hard. I kept rewriting because I was trying to find the middle: honest, specific, and not inflated.

That is probably the part I have been thinking about the most. A personal website is public, but the work starts privately. You have to decide what you believe about your own work before you can present it clearly. The browser only shows the final page. It does not show all the hesitation before a sentence survives.

I started caring about maintenance, not just launch

The first version of a personal site is tempting to overdesign. You want the homepage to carry everything: personality, proof, taste, history, ambition. But if every update requires fighting the layout, the site becomes a museum. I do not want that.

I want this website to stay alive. That means the boring parts matter. The post schema matters. The project schema matters. The way categories render matters. The fallback media matters. The share button, metadata, and small typography choices matter because they reduce the distance between doing work and publishing work.

I have started thinking of the site less like a finished product and more like infrastructure for my own thinking. If I build something useful, I should be able to write about it. If I learn something the hard way, I should be able to turn it into a post. If a project changes, the page should change with it.

What I learned from building it

I learned that taste is not only visual. Taste is also knowing what to omit. It is choosing a quieter sentence when the loud one sounds impressive but says less. It is removing a feature because it makes the site harder to maintain. It is making the page useful before making it clever.

I also learned that a personal website exposes the gap between what you have done and how well you can explain it. That gap is not embarrassing. It is where the work continues. If I cannot explain a decision, I probably need to revisit it. If I can explain it simply, the page gets stronger.

Building this website has made me feel more serious about my work, but not in a heavy way. More like I am giving it a proper place to live. The site is not perfect, and I do not think it should pretend to be. It should be clear, useful, and honest enough that I can keep returning to it without feeling like I am maintaining a version of myself that is not real.

That is the part I care about now. Not just having a website, but having a place that keeps asking me to think better, write better, and show the work with less noise.

DC

Daniel Campos

Fullstack Developer

Share: