Last night, I decided to enable the portfolio page on my website, but I didn’t have the repository on my local computer (new MacBook Air here 😄). So I had to head to Bitbucket and look for the repo. I tried to clone it, but my SSH public key couldn’t be added because Bitbucket doesn’t allow you to use the same key across multiple organizations—it must be unique.
I fixed this by creating a temporary access token. You can do that by going to the repo’s admin settings → Security → Access tokens. After that, you’ll be able to copy your new access token, and Bitbucket will give you suggestions on how to use it. I used one of those suggestions:git clone https://x-token-auth:{{ accessToken }}@bitbucket.org/{{ organization }}/atomonew.git
That was helpful to get started.
Now I was ready to get back to working on the portfolio page. My website is entirely HTML, with one exception—the contact page, which is coded in PHP. So I just double-clicked on the index.html
file. and as you would expect it, some of the images and styles were not looking good.
.
I use Docker to work on projects on my local computer, but as mine being mostly HTML I decided I would set a small server to mimic my prod server and the last few weeks I’ve been getting posts on LinkedIn about FrankenPHP being moved to the PHP Foundation repository and being officially supported. So I decided that I would give it a try to get to know it. So I headed to the FrankenPHP documentation and follow the quick setup.
In my case it was just installing it with Homebrew
brew install dunglas/frankenphp/frankenphp
and
frankenphp php-server
That was fast, but I had some problems. I had Docker running on port 80 and didn’t want to close it, so I searched the docs on how to launch FrankenPHP on a different port. It took some trial and error—more than I expected—but that happened because I wanted to fix my issue using ChatGPT 😄.
The way I got it working was by finally trying the first thing I should have done: frankenphp --help
😄. There you’ll find all the arguments or parameters you need. You can also find more documentation in the Caddy Server docs: https://caddyserver.com/docs/command-line
I’m sure there were easier ways to fix the minor issues I was having with my HTML website, but I wanted to give FrankenPHP a try and see what the fuss was about 😄. Now that I have it installed and know the basics of how it works I would try it on my future PHP projects.
Now, the difficult part was getting started—creating content for the portfolio 😄. If you know me, you’ll know that I’ve been working in web development for about two decades, as an employee, freelancer, contractor, and occasionally through my own organization.
So I started looking at my Upwork profile, reviews, and email exchanges, and I realized that most of the time, I was truly a valuable asset to the people I worked with in the past. I’m honestly surprised by myself—I think I had forgotten about some of the great projects I was part of and the things I accomplished.
I started remembering how some projects had a one-month deadline, and I had them ready in just two days.
Reading through those emails, I saw how often I made suggestions about which tools or technologies we should use—and explained why. In recent years, I’ve stopped doing that as much and got used to just following instructions. Maybe it was comfort, or habit.
But that’s changing now. With my agency, we’re bringing that initiative and leadership back—and we’re ready to take on new projects.
I used ChatGPT to fix my grammar or correct some words I didn’t know how to express them in English. Anyways here it’s the new portfolio page: https://www.atomoweb.com/portfolio.html