Code quality and design

53 posts
Making an existing Laravel application multi-tenant with Tenancy for Laravel

Making an existing Laravel application multi-tenant with Tenancy for Laravel

Transforming a legacy application into a multi-tenant powerhouse is no small feat. Learn how we tackled the challenges of adding multi-tenancy to a Laravel app, from infrastructure planning to custom bootstrappers, and discover practical tips to future-proof your applications.

Accessibility in mobile apps: considerations for startups

Accessibility in mobile apps: considerations for startups

Accessibility isn’t just ethical—it’s essential for reaching a wider audience and creating loyalty. Designing apps with inclusivity in mind boosts engagement, ensures compliance, and sets your product apart in a competitive market.

Introducing URL: The Zero-Dependency, Framework-Agnostic State Manager

Introducing URL: The Zero-Dependency, Framework-Agnostic State Manager

Say hello to URL 🚀 We’re excited to introduce URL, a zero-dependency, framework-agnostic solution that simplifies state management for modern web development. No installs. No complex tools. Just pure simplicity.

How to manage technical debt as part of your agile process

How to manage technical debt as part of your agile process

How to manage technical debt effectively to keep startups agile with strategies for documenting and prioritising technical debt, integrating it into your roadmap, and creating a culture of continuous improvement. Keep your codebase healthy and your team productive with these actionable tips.

Caching routes, components and functions with "use cache" in Next.js 15 (canary)

Caching routes, components and functions with "use cache" in Next.js 15 (canary)

"use cache" is an experimental Next.js 15 Canary feature and may change. In this tutorial, we explore "use cache" for caching, covering fetching and inserting comments with Drizzle to reduce database calls and improve performance while maintaining control.

Crossing boundaries: Handling data mutations in client components

Crossing boundaries: Handling data mutations in client components

Discover how to efficiently mutate data in client components using server actions in Next.js. Learn to handle form submissions with React’s evolving hooks like useActionState, eliminate the need for API endpoints, and streamline client-server interactions for faster, more responsive applications.

Crossing boundaries: Passing server data to client components in React

Crossing boundaries: Passing server data to client components in React

Learn how to optimize performance by fetching data server-side without blocking the page render. This guide explores passing promises to React client components and resolving them asynchronously using Suspense, ensuring a smoother, faster user experience.

Framework junkies

Framework junkies

Developers are increasingly focusing on frameworks like Laravel or React, but deep knowledge of the underlying programming language is crucial. Mastering the basics enables better problem-solving, performance optimization, and flexibility across different frameworks or languages.

Developer Experience and why a business should prioritize it

Developer Experience and why a business should prioritize it

In today's fast-paced market, optimizing Developer Experience (DX) is key to delivering quality software efficiently. Unlike User Experience (UX), which focuses on end users, DX enhances the tools, processes, and culture developers work in, boosting productivity and satisfaction for better outcomes.

You’ve successfully subscribed to madewithlove
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.