Enhancing software, elevating teams.

Securely Mounting COMPOSER_AUTH Secret in Docker Builds

Securely Mounting COMPOSER_AUTH Secret in Docker Builds

Using ARG or ENV for secrets in Dockerfiles can expose sensitive credentials in your final image. Instead, use Docker BuildKit’s --secret to pass secrets securely at build time. Learn how to protect your Docker builds across CLI, Docker Compose, GitHub Actions, and GCP.

🌶️ Death by a 1000 tweaks: the absurdity of maintaining your own UI library

🌶️ Death by a 1000 tweaks: the absurdity of maintaining your own UI library

The best products aren’t built by obsessing over pixels but by delivering real value. Without a clear UI framework, teams drown in design tweaks instead of shipping features.

Taming a Python: don't let the snake bite

Taming a Python: don't let the snake bite

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.

There is a time and place for everything: managed services vs DIY

There is a time and place for everything: managed services vs DIY

Should you avoid managed services to prevent lock-in? Maybe. However, spending months reinventing infrastructure instead of shipping features is a bigger risk. Balance is key. Know the trade-offs, understand the costs, and make decisions based on your reality.

Learning from OSS: legacyBehaviour property on Next.js 's Link component

Learning from OSS: legacyBehaviour property on Next.js 's Link component

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.

How to start growing talent in-house

How to start growing talent in-house

Startups thrive on rapid growth, but when it comes to scaling talent, they often hit a wall. Enterprise-style feedback systems sound great—until they become a productivity sink. So how can you build structured talent development without overcomplicating things?

When to hire senior developers vs. juniors - the perfect team composition

When to hire senior developers vs. juniors - the perfect team composition

Senior developers bring expertise, long-term vision, and stability to complex SaaS projects, while juniors—when guided effectively—offer cost-efficiency and faster execution for well-defined tasks.

When Symfony event listeners go wild!

When Symfony event listeners go wild!

A simple bug fix can turn into a full-blown debugging adventure - especially when Symfony’s event listeners start misbehaving. 🧐 If your listeners are firing twice (or more), your service configuration might be the culprit. Here’s how we solved a sneaky autoconfiguration.

Bridging the gap: how front-end engineers can help shape product development in smaller teams

Bridging the gap: how front-end engineers can help shape product development in smaller teams

In small teams, front-end engineers can bridge gaps in product clarity by refining goals, collaborating effectively, and using flexible tools to deliver features efficiently.

You might also like
Ignoring revisions when using git blame

Ignoring revisions when using git blame

Backups. How much is enough?

Backups. How much is enough?

Creating cross platform and hybrid apps is more than coding

Creating cross platform and hybrid apps is more than coding

Why a microservice-based architecture isn't a holy grail

Why a microservice-based architecture isn't a holy grail

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.