How we rewrote our tech stack in under a day
Last week, we deleted 16,000 lines of code, rewrote 11,500, migrated frameworks, ripped out React, and swapped our entire CSS setup with AI. It took less than 6 hours.
Last week, we deleted 16,000 lines of code, rewrote 11,500, migrated frameworks, ripped out React, and swapped our entire CSS setup with AI. It took less than 6 hours.
For small teams without a designer, v0 is a game-changer. The cost justifies itself by letting you explore and validate ideas in minutes rather than days.
Learn how SEEK’s Braid Design System uses a linkComponent provider to flexibly support routing across React apps. A great pattern for design systems, and one madewithlove engineers keep coming back to when building scalable front-end libraries.
Stuck in Redux boilerplate for a simple React task? You're not alone. Learn how tools like Tanstack Query, nuqs, and react-hook-form help you replace Redux with simpler, more maintainable solutions—backed by madewithlove's engineering expertise.
Why do engineering teams keep rewriting frontends? Let’s explore the leadership bias and tech churn that makes refactors feel harder—yet ultimately more sustainable.
Lynx could revolutionize cross-platform mobile development with its unique approach and performance benefits. Is it time to switch from React Native or Flutter?
Discover how branded types can improve your TypeScript code quality, make your intent clearer, and catch bugs before they even compile.
Adapting to a new tech stack is all about mindset. Switching from PHP to Python was an eye-opener. Package management confusion, unexpected paradigms, and a lack of encapsulation made for an interesting challenge. Embracing constraints is the secret to growth.
Ever introduced a breaking change and instantly regretted it? Components evolve, but forcing users into painful refactors isn’t ideal. Next.js tackled this with a legacyBehaviour flag—letting devs opt out of the new behavior while they migrate at their own pace.
"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.
Implement optimistic updates in React with the useOptimistic hook for instant UI feedback. This technique enhances user experience by updating the interface immediately while the server processes actions in the background, creating a faster and more responsive app.
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.
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.
This is a detailed step-by-step guide for setting up Laravel Sanctum with cookie-based authentication. It explains the logic behind each step and how to set up Postman. We also tackle the most common CORs issues.
How to run fake e2e tests using react-testing-librabry? Here's a quick tutorial on how to speed up your feedback loop when working in front end applications.