Welcome to my portfolio, I am

Pedro Crelier

Software Engineer

About me...

Detail-oriented Fullstack Developer with 5+ years of experience in web technologies with a effective and creative approach for every project. Since 2019, I have been developing and contributing to open-source applications, websites and games.

Proficient in Front-end frameworks and libraries such as React.js, Next.js, and Tailwind. I also have experience with Back-end technologies such as Node.js, Express.js, and both relational and non-relational databases.

Front-end

  • Javascript
  • Typescript
  • React.js
  • Next.js
  • Tailwind
  • WordPress

Databases

  • SQLite
  • MongoDB
  • MySQL
  • PostgreSQL
  • Prisma ORM

Back-end

  • Node.js
  • Express.js
  • PHP
  • Laravel

Design

  • Photoshop
  • GIMP
  • Figma

View resume

Be the change you want to see in the world

My Projects

Websites

    Chronotune image
    ScratchBook image
    EmojiGuesser image
    HexGuesser image
    DYOM Bingo image
    nIRC image
    Blog image
    Sonhos de Quintal image
    Lann Studios image

Softwares

    Scriptorium image

Games

    PopPidgeon image
    Cool Space Shooter image

Blog

Featured blog post:

Building My Own Blog

This blog is my personal wiki, or a digital garden — a place for ideas, memories, and experiments. It’s also a technical project: a Markdown-powered, statically generated site with dynamic comments, built in just six days using Next.js, Prisma, and PostgreSQL.

More than just a blog, it’s proof that starting small, learning from failure, and shipping early can lead to something meaningful.

A Failed Attempt

My first attempt at creating a personal blog — or really, a diary — was back in 2021. It was only my second web programming project, but one I truly invested time and energy into. I called it "my-diary" — not the most creative name, but the idea was simple: keep it running locally and never publish it. Why? I just wanted to practice my programming skills while building something useful to me. After all, I’ve always loved writing.

The problem? I never got it working. Turns out, dynamically reading text files with React wasn’t easy for a beginner. I eventually gave up on the project… until now.

The Second Attempt

By the end of May 2024, I wanted to start playing games again — especially old ones from my childhood — and write reviews about them. I planned to revisit how they hold up today and share my thoughts, videos, and screenshots with friends. But where?

If you don’t know me, I’m not really into social media. Platforms like Twitter/X and Facebook are ones I consciously avoid. I believe they’re harmful to mental health and rarely offer meaningful value.

So I decided to build my own platform. At first, I was skeptical — my last attempt had failed, after all. But so much time had passed, and I’d learned so much. I told myself: “Let’s work on it for one or two days. If I can’t get the basics working, I’ll quit.” With that, I started coding on May 31, 2024.

early development img

I not only got the basics working — I built far more than I expected. Honestly, I’m still surprised I managed to create a fully functional blog with comment support in just six days. I’m proud of the result and more motivated than ever to write, now that I finally have a dedicated space for my thoughts.

Markdown Files

One of the “special” features of this blog is that all content is stored as plain text files — specifically, .md (Markdown) files.

md files

This means I can write new posts without touching a single line of code. I just create a new file, write, and save. That’s it. Well, almost, I do need to deploy the site to Vercel. Think of the local version as a draft; when I’m ready to publish, I deploy it, and the live blog updates instantly.

This approach makes the site highly scalable and easy to manage.

Programming

Of course, behind the scenes, the site runs on actual code. I used Next.js because it excels at Static Site Generation (SSG), which makes the blog fast, SEO-friendly, and perfect for content-focused sites like this.

For comments — the only dynamic part of the site — I use Prisma ORM with PostgreSQL as the database.

site code

Here’s how it works:

  • I have a Blog folder where I store all my .md files — these become the posts you read.
  • During deployment, the site scans this folder and generates static pages for each file, rendering them as blog posts.
  • Special functions run during this process to extract metadata like images, references, and backlinks.
  • Some posts have dynamic background effects — like cross-fading between images — while others use a solid color when no image is available or no special background is set.
  • There’s also a private personal folder where I keep my diary. I can access it, but no one else can. Works like magic!

Changelog

  • 2024-05-31: Started development of the site
  • 2024-06-04: Launched the site
  • 2024-06-05: Added dynamic backgrounds; began writing posts
  • 2024-06-19: Fixed comments not showing for posts in subfolders; added post-based metadata
  • 2024-07-14: Added metadata display for posts; included a “latest posts” list on the homepage
  • 2024-11-08: Introduced the Feathers feature
  • 2025-06-18: Removed the Feathers feature; relaunched the site

Get in touch

  • Linkedin
  • Github
  • Instagram
  • Email