Been using my high chair a lot lately since I let go of my old one.
Started getting back aches because of it lol. No choice but to get this ergonomic chair.
Really liking the comfort so far!

Short thoughts, work in progress, lessons learned, & the occasional personal update.
Been using my high chair a lot lately since I let go of my old one.
Started getting back aches because of it lol. No choice but to get this ergonomic chair.
Really liking the comfort so far!

The PHP2Shell vulnerability was all over the news this week. Hostinger emailed to say they tested it against their live servers and my sites weren’t affected, and they’re applying the PHP fix automatically anyway.

I guess getting good hosting isn’t so bad after all. That assurance really helps in this kind of issue.
It’s been a while since I worked outside of WordPress. Just finished a Wix project for a healthcare practice, working on some of the design refinements and consistency fixes.
The way you build on different platforms really does differ.

I guess that’s one of the harder parts of freelancing, you need to adapt fast. Enjoyed working on it though.
Recently visited my fiancée’s family, so I got some time off from this workstation and worked from somewhere else for a bit.
That’s one of the things I’m really grateful for with freelancing. You have the freedom to bring your work anywhere and get a change of scenery when you need it.
But yeah, good to be back at this little workspace!

Got my new eyeglasses! Been trying to take better care of my eyes since they take the most stress in this kind of work. So I make sure to get them checked from time to time.
Also, I always go with transition lenses. Just being practical 😅
Classy and functional at the same time!
Being a freelancer taught me that you need a backup for everything. Projects, internet, even your computer 😀. Since my main machine is a Mac Mini running the M4 chip, I just needed this laptop repaired as a backup.
But with all the AI integrations these days, PCs and laptops are getting expensive. Even the repairs!

I’m continuing an Elementor project, and I can see myself building custom solutions around it again.
For growing sites with heavy dynamic data and conditional layouts, it’s not really its strongest area.
But it’s still great for marketing sites and for less technical users. Also noticed it now has an MCP, which is a nice plus if you’re using AI.
8 structured data systems in one project. Connecting and strategizing everything so it all works from day one.
I guess freelancing feels fulfilling once you’re done with this kind of project. But the process behind it? That’s a bit overwhelming.
This time I’m not starting from scratch though, the previous provider left it at about 15% progress so I’m just picking up where they left off.
The only real challenge? The language. Shifting from English to Deutsch 😅
Hallo zusammen 👋

Currently working on one of my monthly site care tasks, checking the speed of a client site. And it’s still performing well. These routine checks don’t look exciting but they keep things running the way they should.
Speed is one of the hardest things to improve on a website because there are so many factors like server, how the pages are built, and the tools used to build them. But I’m still glad I was able to improve this one.

One thing you can’t really control when handling projects is the timeline. It can shift at any point, especially when you’re working with trade businesses.

I’ve tried the more popular ones, but Basecamp is still one of the most straightforward tools out there.
Btw I’m almost done with a new post on how I onboard client projects using it.
Since I left my corporate job last year to go full-time freelancing, I’ve been putting a lot more effort into this website.
Just added a new post and it got indexed almost immediately.

Got my new earbuds from Anker and I’m really liking the noise cancellation so far. Been using the one from Baseus for 2 years and it finally needed a replacement.
Looks small but this pair really helps when I need to focus.

My WP Booking System review is now showing up in AI Overviews and SERP, just like my Bricks Builder one. Been ranking for both too.

Found some old clips of my website designs done on Adobe XD. Different versions of my site over the past 10 years. A lot of testing and trial and error. It’s been a journey.
Had to switch to Figma with all the issues around XD being phased out.
I can’t remember if they’re going to post recordings of the 2-day event, but I was still able to gather some insights from my phone and memory 🙂
Here’s the new blog about HighLevel Live Manila.

Since I’ve already added more than 10 notes, I can say I’m really liking this new feature on my website.
See the full post on why I added microblogging to this website.
Nah maybe a discount 😅
But seriously, if you’re going with WordPress, at least use a solid page builder like Bricks (my bias), Beaver, Divi, or Elementor. Launching a site is just a small part of it.
Building new pages and optimizing over time is the long game, and your site builder matters for that.
Looking at these skylight photos all day got me thinking. What’s it like living in a house with a transparent roof like that? Then I imagined having one here in PH. Sounds great when it rains. Then summer hits 😂
jk, these skylights are actually automated and packed with features.

Reader Disclosure
Disclosure: I may occasionally include affiliate links in my posts or pages. If you click on one of these links and make a purchase, I may receive a small commission, which helps me keep this website running and create more useful content. However, this does not affect my opinion on the product or service in any way. I only recommend products and services that I truly believe in and use myself.
A custom-built WordPress plugin that helps to create image slideshows and videos for a client’s in-store monitor display.

This article may contain some technical terms which provides an overview of how I constructed this custom functionality. If you have any questions, please let me know.
The main reason why the client wants this type of functionality is that they want to cut some operational costs. Digital signage services are quite expensive services. I developed this functionality so that the client can just create unlimited image slideshows and videos that can be displayed in their stores.
This digital signage builder was divided into two parts; the back-end part, and the front-facing of the digital signage.
The back-end part was developed using React JS for the settings’ user interface.

I didn’t use the create-react-app package to develop the Settings UI, because of its default configurations. The reason for this is because when a create-react-app initiates the build process, it will export a lot of files (js, CSS, assets, etc.) which I don’t like for this task. It will just add some more configurations when building the entire plugin.
What I need are just a single script & stylesheet files that contain all the customization and logic of the app. I can just include these files in the settings area when needed.
To accomplish this goal, I need a custom Webpack setup and configuration. This custom configuration will give me control over where to export my files and use some of the Webpack plugins.
Now let’s talk about the application’s state. As always, I used Redux to manage the state of the app. It was easy to change some settings by controlling the global state.

This part of the signage builder is responsible for the view only, so I just need a simple React setup. Although create-react-app is a good choice for this, I still didn’t use it. I built a custom setup and this time I used the Parcel bundler instead of Webpack. I want to try Parcel not because it was gaining popularity at that time, but I want to see if it’s much simpler to use than Webpack. So far for this project, the configuration is much less compare to Webpack.
Since the front-end is for view only, I just need it to fetch data and not POSTing something back. I still used the WP REST API to fetch the signage data.
Using the signage builder is simple. Since this is a WordPress plugin, the user needs to install the Digital Signage Builder plugin first to activate the functionality.

If the plugin is activated successfully, the plugin will add a custom post type to the admin area. The user can add unlimited signages.
If the user has added new signage, it will show the signage settings. The user needs to choose between Images, Vimeo, or Self-hosted Video media type. By default, the Image media type is selected.
The Image media type is completely integrated with the WP Media Library.
The user can add schedules for each media. This will control what media to show on the front-end. The client requested this feature because they are creating signage for a whole week of operation at once. They just need to reload the digital signage in the front-end and the correct media type will be displayed on their monitors.
If all signage settings were configured properly, they can click the Publish or the Update button to save the signage. After saving it, they can go to the signage display by clicking the link at the top after the signage title.
The user will be redirected to the signage display. The media type that will be displayed depends on what media type is selected in the backend.
The signage display contains some basic info about each media type. Toggling fullscreen depends on each media type. For Image, there’s a Toggle Fullscreen button, while the Videos have their toggle fullscreen by default. The Edit Signage button is displayed only when an admin user was logged in.

A quick method for finding and removing the hidden strip causing unnecessary white space between…

How my web design client onboarding stays organized from day one using Basecamp & what…

I just went there hoping to learn something new, but the 2-day event turned out…