All Articles

Automatically Deploy Your Nuxt Static Site to DigitalOcean with GitHub Actions

Automatically Deploy Your Nuxt Static Site to DigitalOcean with GitHub Actions

Auto-deploy is one of the great features of Netlify and Vercel. Whenever you push to main... done! Your site builds automatically. I love that, but I prefer to manage my own server.

Read More
Five Practical Tips to Improve Search in Laravel Apps With Typesense

Five Practical Tips to Improve Search in Laravel Apps With Typesense

At Tighten, I've had the chance to work with Typesense on client projects, and it quickly became my go-to for building fast, powerful search features.

Read More
Filament Crash-Course: Create a Customizable Admin Panel in Minutes

Filament Crash-Course: Create a Customizable Admin Panel in Minutes

I think Filament is a fantastic tool for creating admin panels quickly. It's the go-to admin panel that many devs at Tighten recommend to clients, including me! I had the opportunity to write about it on the company's blog.

Read More
A Step-by-Step Guide to Setting Up Permissions on Your Linux Web Server

A Step-by-Step Guide to Setting Up Permissions on Your Linux Web Server

Web server permissions: setting them right can be challenging, but setting them wrong can be disastrous. Of course, we don't want to grant a third party access to private files and folders or allow the execution of malicious code.

Read More
From MySQL to Typesense: Blazing-Fast Full-Text Search in Laravel

From MySQL to Typesense: Blazing-Fast Full-Text Search in Laravel

There are many ways to build a search feature for your Laravel application, from classic LIKE queries in SQL to MySQL Full-Text Indexes. While those approaches work, they come with limitations.

Read More
How To Automatically Generate Dynamic Open Graph Images In PHP

How To Automatically Generate Dynamic Open Graph Images In PHP

Today, we’ll explore how to automatically generate dynamic OG images for your pages and articles: a cool background, the page title on top, and... profit! The example uses Jigsaw, but applies to any PHP project.

Read More
Use HTMX to Create Laravel Single-Page Apps Without Writing JavaScript

Use HTMX to Create Laravel Single-Page Apps Without Writing JavaScript

A developer from Montana looked at the front-end wild west (full of frameworks, libraries, bundlers, runtimes, and more) and had an idea: "What if we go back to basics? What if we just use HTML... with extra powers?"

Read More
Form Validation With Type Inference Made Easy With Zod, The Best Sidekick For Typescript

Form Validation With Type Inference Made Easy With Zod, The Best Sidekick For Typescript

Zod is amazing! You can use it to define the schema of any object and validate it. Form data? No problem. Nested arrays and objects? We've got you covered. Custom data types? Yeah!

Read More
Husky: How To Automatically Format, Lint And Test Before You Commit Or Push

Husky: How To Automatically Format, Lint And Test Before You Commit Or Push

I love it when bots make our lives easier. In this case, it’s not a robot but a friendly doggo. Husky listens for Git hooks, such as pre-commit or pre-push, and performs the tasks you define (like linting, formatting, or running tests) before proceeding.

Read More
State Management In Vue 3: Why You Should Try Out Pinia

State Management In Vue 3: Why You Should Try Out Pinia

How do you share state between multiple components in a Vue app? While Vue 3 reactivity is powerful and composables can get you far, your app might benefit from Pinia, the official state management solution for Vue applications.

Read More
Nuxt: Superpowers For Your Vue 3 Application

Nuxt: Superpowers For Your Vue 3 Application

I love Nuxt! I choose it whenever I need to create a Vue application, from small SPAs to large websites with SSR and SEO optimizations. The Nuxt ecosystem offers so many time-saving, plug-and-play modules that it's hard to pass up.

Read More