Projects

💰 A simple ASP.NET Core app to track income, expenses, and manage personal finances.
C#
🔔 Laravel 7 app showcasing notification features with database and mail channels.
PHP
✅ Laravel project demonstrating how to create and use custom validation rules.
PHP
🌐 A simple Laravel RESTful API with CRUD operations and resource routes.
PHP
🔐 Full-stack boilerplate for JWT authentication using Laravel and React.
PHP
Automates Twilio SMS replies and logs them to Google Sheets.
JavaScript


Posts

  • CQRS with Laravel 11

    As business logic becomes more complex, services can become bloated, classes may do too much, and tests become hard to maintain. To address these issues, the author applied the CQRS (Command Query Responsibility Segregation) pattern in Laravel projects, leading to improved code clarity and maintainability.

  • Leading with Purpose: Principles That Shape Success

    I’ve been searching for the right topic for my next blog post, which would offer relevance and valuable insights. As my role has evolved in recent months, I’ve gained a deeper understanding of leadership and what it truly means to be a leader. While I’ve held various leadership positions in the past, it’s only now, with the opportunity to reflect, that I’ve crystallized my beliefs about what constitutes strong leadership traits. Working as a lead software engineer has exposed me to exceptional technical and people leaders whose collaboration has helped shape my leadership principles. This blog post aims to share these principles and provide my perspective on their significance.

  • Build a customizable Vue.js modal with Tailwind CSS

    As I was hanging out with the Tailwind CSS Slack community the other day, I had a request to write a tutorial on how to make a Vue.js modal styled with Tailwind. That sounds like an excellent component to build, so let’s get to it.

  • How to build a Vue.js component with Tailwind in a Laravel project

    Let’s take our experiments installing Tailwind CSS and building a nav with it to the next level. Today, we’re going to be building a simple todo app with Vue.js, Laravel, and Tailwind. For the sake of time, we’re not going to persist any data. But fear not, that will certainly make an excellent part two.

  • Building a nav with Tailwind CSS

    As I’ve watch the Tailwind community explode over the last few weeks, one of the most frequent questions I’ve seen is: “how do I build XYZ component with Tailwind?” It’s a legitimate question, but it kind of misses the point.

  • Setting up Tailwind in a Laravel project

    Tailwind is the new CSS utility framework on the block, and it’s quickly become my favorite way to build an interface. Oftentimes, the hardest part of trying out a new framework, package, or language is getting set up.

  • What's in the .git folder

    Each of the dozens of git repos on your machine contains a .git folder. But you may have never thought about the details of its contents. You know that somehow the folder holds the history of every version of every file ever committed to the repository. You just don’t know how.

  • Building a calendar with Vue.js

    Last week, Patrick walked us through some high-level considerations to take into account when building a calendar. So this week, let’s take a stab at implementing a calendar with Vue.js. Because there is so much that goes into building a calendar, we’ll focus our efforts this week on creating a simple Vue component that can display a month of dates organized by the days of the week, toggle between different months, and show us what the current date is. Basically something like this:

  • How to make API Calls with Vuex

    Today I’ll explain how to make API calls with Vuex. While Vuex does a great job of keeping your data synchronized across the frontend of your application, you’ll need to talk with a database at some point to make sure that any changes will be persisted permanently. Fortunately, Vue makes it very easy for us to work with an API, especially when we use Vue-resource. While Vue-resource is no longer part of the official Vue ecosystem, I think it is still an easy way to get up and going with APIs. But regardless of the API wrapper you choose to use, the concepts I describe here will still be applicable to your app.

  • Scripting the dotnet CLI for Rapid Test Setup

    From time to time, I need to create a small C# or F# solution to experiment with a code feature or a library function. Often, what I want to do is create a simple console application and a unit test project that references the console application. This isn’t hard to do in Visual Studio, but it feels like it takes too many steps.

  • Rethinking Developer Experience in a Changing Tech Landscape

    Over the past five years, I have had the pleasure of working within different developer communities within various organizations. These experiences are where I captured my passion for developer experience and Dev(Sec)Ops. Making life as easy as possible for developers and ensuring the right tools are in place is essential to improve developer retention and business outcomes. Nowadays, this is even more imperative because the role of a developer is no longer just software development; it’s starting to become key within every area of the SDLC.

  • Firebase WooCommerce Auth – WordPress Plugin

    I recently built a WordPress plugin that lets you log into a WooCommerce store using Firebase Authentication. It’s called Firebase WooCommerce Auth, and it supports Google, GitHub, Microsoft, phone sign-in, email/password, and even email magic links.

  • Orchestrating Multi-Lambda Workflows in Serverless Architectures

    The more I have been working on AWS, the more I understanding the importance of well-architected solutions. Today, I would like to focus on the value of AWS Step Functions. What are Step Functions? The offical description is:

  • DevOps Toolchain Models: Centralised vs. Decentralised

    To centralise or decentralise, that’s the question. When enterprises adopt DevOps, one of the most important considerations is how internal teams consume a toolchain supporting the DevOps mindset.

  • How I Stay Up-to-Date

    Software engineering as a discipline is a lot more amorphous than other engineering disciplines. Being an effective software engineer requires having a solid foundation in computer science and engineering principles, plus the ability to stay up-to-date on the state of the art. Here are some ways I stay relevant and up-to-date.

  • My First Post!

    I’ve been meaning to redo my personal website and personal-website for a long time. I previously had a fork of github/personal-website that was pretty basic. I wanted to be able to have more flexibility in showing GitHub projects as cards and also showing a blog post about that project. I’ve also been wanting to have a better way to show off my story so having tabs dedicated to them was another requirement. I’m going to try my hand at crafting some blog posts if I can come up with some interesting topics. We’ll see how it goes!

subscribe via RSS