I write about UX, agentic AI, and how complex systems reach users.
🔗 mulualem.dev
Build on stable foundations → future you will thank you.
Build on stable foundations → future you will thank you.
Write code humans can maintain, then optimize what truly matters. ✅
♻️ 📌 🔔
Write code humans can maintain, then optimize what truly matters. ✅
♻️ 📌 🔔
Recursion in your system design? A nightmare.
✅ Keep layers clear
✅ Avoid circular dependencies
✅ Document flows
Peak engineering = clarity, not clever hacks.
♻️ 📌 🔔
📷: ᴍᴇᴍᴇ ᴄʀᴇᴅɪᴛ ᴛᴏ ᴏʀɪɢɪɴᴀʟ ᴄʀᴇᴀᴛᴏʀ
Recursion in your system design? A nightmare.
✅ Keep layers clear
✅ Avoid circular dependencies
✅ Document flows
Peak engineering = clarity, not clever hacks.
♻️ 📌 🔔
📷: ᴍᴇᴍᴇ ᴄʀᴇᴅɪᴛ ᴛᴏ ᴏʀɪɢɪɴᴀʟ ᴄʀᴇᴀᴛᴏʀ
✅ Exposes API keys & secrets
✅ Risks systems & data
✅ Fix costs > Prevent costs
👉 Add .env to .gitignore
👉 Use env vars / secret managers
✅ Exposes API keys & secrets
✅ Risks systems & data
✅ Fix costs > Prevent costs
👉 Add .env to .gitignore
👉 Use env vars / secret managers
Turning what you find into clean, reusable solutions is. 🚀
♻️ 📌 🔔
Turning what you find into clean, reusable solutions is. 🚀
♻️ 📌 🔔
Messy styles = chaos 😵💫
✅ Keep classes consistent
✅ Reuse tokens for colors/shadows
✅ Delete dead code
Good CSS isn’t just pretty. It’s scalable & keeps your sanity intact.
♻️ 📌 🔔
📷: ᴍᴇᴍᴇ ᴄʀᴇᴅɪᴛ ᴛᴏ ᴏʀɪɢɪɴᴀʟ ᴄʀᴇᴀᴛᴏʀ
Messy styles = chaos 😵💫
✅ Keep classes consistent
✅ Reuse tokens for colors/shadows
✅ Delete dead code
Good CSS isn’t just pretty. It’s scalable & keeps your sanity intact.
♻️ 📌 🔔
📷: ᴍᴇᴍᴇ ᴄʀᴇᴅɪᴛ ᴛᴏ ᴏʀɪɢɪɴᴀʟ ᴄʀᴇᴀᴛᴏʀ
✅ Small functions
✅ Clear comments
✅ Refactor often
Fast is fun, but clean is future-proof.
♻️ 📌 🔔
📷: ᴍᴇᴍᴇ ᴄʀᴇᴅɪᴛ ᴛᴏ ᴏʀɪɢɪɴᴀʟ ᴄʀᴇᴀᴛᴏʀ
✅ Small functions
✅ Clear comments
✅ Refactor often
Fast is fun, but clean is future-proof.
♻️ 📌 🔔
📷: ᴍᴇᴍᴇ ᴄʀᴇᴅɪᴛ ᴛᴏ ᴏʀɪɢɪɴᴀʟ ᴄʀᴇᴀᴛᴏʀ
Quick hacks might work today, but they create shaky towers for tomorrow.
✅ Write code that’s easy to read, not just easy to run
✅ Add tests so fixes don’t break five other things
Quick hacks might work today, but they create shaky towers for tomorrow.
✅ Write code that’s easy to read, not just easy to run
✅ Add tests so fixes don’t break five other things
It’s when you tell AI what you want, accept the code it generates because it vibes, and move on.
That’s fun for fast prototypes, but dangerous if you stop there.
✅ Review and test AI-generated code
✅ Make sure you understand why it works
It’s when you tell AI what you want, accept the code it generates because it vibes, and move on.
That’s fun for fast prototypes, but dangerous if you stop there.
✅ Review and test AI-generated code
✅ Make sure you understand why it works
In codebases, unnecessary complexity is like unused apps:
✅ Delete dead code that nobody calls
✅ Remove outdated dependencies
✅ Simplify over “just in case” abstractions
In codebases, unnecessary complexity is like unused apps:
✅ Delete dead code that nobody calls
✅ Remove outdated dependencies
✅ Simplify over “just in case” abstractions