Code quality and design

71 posts
A guide to vibe coding vs AI-assisted development

A guide to vibe coding vs AI-assisted development

Vibe coding or AI-assisted development? The choice isn't binary, but getting it wrong at the wrong stage will cost you. This piece breaks down when to embrace speed over architecture, when to take back control, and why the best teams don't pick sides.

Getting started with performance testing

Getting started with performance testing

Performance bugs erode trust quietly until users explode. Three pragmatic steps help you catch slowdowns early: explore real bottlenecks with Sentry, test with production-sized data, and add lightweight API load tests.

How to pragmatically leverage AI as a startup

How to pragmatically leverage AI as a startup

If you believe what you see on LinkedIn, startups don't need employees anymore, real founders just have agents building their companies. You write a prompt, fire off the agent, and wait for customers. In reality, you get a vague workflow that produces a mediocre demo at best.

Cloudy with a chance of function calls

Cloudy with a chance of function calls

In the first of a series exploring infrastructure fundamentals, Brenden addresses the most frequently asked questions about what's really happening under the hood with complex pipelines and AI/data systems, bringing the cloud to life.

Analyse your tables for better performance

Analyse your tables for better performance

I recently encountered a issue with MySQL query performance. A particular query would perform very badly in production, but perform very well in the testing environments.

No designer? No problem with v0

No designer? No problem with v0

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.

Legacy vs technical debt: how investors can spot hidden risks in software products

Legacy vs technical debt: how investors can spot hidden risks in software products

What can investors do about legacy code to prevent your startup from failure? What is the difference between legacy and technical debt?

Ignoring revisions when using git blame

Ignoring revisions when using git blame

Tired of git blame pointing to useless formatting commits? Learn how to ignore revisions with --ignore-rev or .git-blame-ignore-revs to keep Git history accurate and helpful.

A Rubber Duck’s Guide to Better Engineering: Part 2

A Rubber Duck’s Guide to Better Engineering: Part 2

Professor Quacks is back with five more principles for better engineering: build tools that help, move with healthy urgency, plan wisely, work well with others, and lead by example. These aren’t just coding tips, they’re culture-shaping lessons.

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.