# Engineering Notes

- [Why I built Nasaq, an Arabic RTL design system](/en/blog/why-i-built-nasaq-arabic-rtl-design-system) — *2026-10-19T12:49:01Z*
  I ship products for Arabic and English users. Fixing a Western UI kit for right-to-left every time got old, so I built Nasaq and open sourced it.
- [Why I Built Claude Notifications: Claude Code Notifications on Any Channel](/en/blog/why-i-built-claude-notifications) — *2026-10-19T12:49:01Z*
  I kept coming back to Claude Code runs that had been waiting on me. So I built an open-source plugin that sends hook events to Slack, Discord, email, WhatsApp, voice or web push.
- [Why I Built Claude GitHub PMS: Project Management Where the Code Lives](/en/blog/why-i-built-claude-github-pms) — *2026-10-19T12:49:02Z*
  I let Claude Code work on my repos all day, so I wanted project management to live where the code lives. Here is why Claude GitHub PMS exists and the choices behind it.
- [Reviewing AI-written code before you ship it: 4 gates](/en/blog/review-ai-written-code-before-shipping) — *2026-10-20T10:25:30Z*
  Reviewing AI-written code isn't "read every line" or "trust the model". These are the 4 gates I use with a team of Claude Code agents before anything ships.
- [Why I built Hosbah (on ToGO)](/en/blog/why-i-built-hosbah) — *2026-10-19T12:49:04Z*
  I wanted Heroku-style deploys on servers I already pay for. This is what I built, in what order, and what is still not finished.
- [Why I Built Claude Agents Team: Stop Hand-Writing Your .claude Directory](/en/blog/why-i-built-claude-agents-team) — *2026-10-19T12:49:03Z*
  I kept hand-building agent teams for Claude Code. Claude Agents Team is what I extracted from three of them, with a linter that checks every file.
- [Why I Built Mahaam: Open Source Project Management for Agencies](/en/blog/why-i-built-mahaam) — *2026-10-19T12:49:03Z*
  Projects, time sheets and invoices lived in three tools that never agreed. Why I built Mahaam, open source project management for agencies, on ToGO.
- [Why I Built Zekra: Shared AI Agent Memory, on ToGO](/en/blog/why-i-built-zekra) — *2026-10-19T12:49:04Z*
  I run agents in Claude Code, Codex and Cursor, and each session started from zero. This is why I built Zekra, and why on ToGO.
- [Why I Built Moharrik, a CRM and Shared Inbox on ToGO](/en/blog/why-i-built-moharrik) — *2026-10-19T12:49:04Z*
  Clients wrote to me on WhatsApp, email and my site chat, and I kept losing context. Here is why I built Moharrik on ToGO and what I chose.
- [Top Programming Languages in 2026: Rankings and How to Choose](/en/blog/top-programming-languages) — *2026-10-19T14:00:30Z*
  A 2026 look at the most popular programming languages using TIOBE (Oct 2026), the Stack Overflow 2025 survey and GitHub Octoverse 2025, and how to choose one.
- [Quantum Computers Explained: Qubits, Superposition and Where We Are in 2026](/en/blog/quantum-computers-explained) — *2026-10-19T14:35:59Z*
  A quantum computer uses qubits to solve some problems far faster than classical machines. Here is how it works and where the field stands in 2026.
- [AI Business Automation: A Practical Guide](/en/blog/ai-business-automation-practical-guide) — *2026-10-15T14:50:49Z*
  Five processes you can automate with AI this week: WhatsApp bookings, invoice extraction, CRM lead routing, support summaries and weekly reports.
- [Claude Plugin Search: Find and Install Claude Code Plugins](/en/blog/claude-plugin-search-claude-code) — *2026-10-15T14:50:48Z*
  Looking for `claude plugin search`? It doesn't exist. These are the real ways to search and install Claude Code plugins, in a session and from the shell.
- [OpenAI's Secret Device and Apple: What Happened](/en/blog/openai-secret-device-apple-arab-developers) — *2026-10-15T14:50:40Z*
  The Apple vs OpenAI fight over a secret AI device: verified facts with dates, and why AI moving from chat to devices matters to anyone building agents.
- [Who Is Fady Mondy? Applied AI Engineer, Fractional CTO and Founder of TomatoPHP](/en/blog/who-is-fady-mondy) — *2026-10-12T12:32:38Z*
  A short, factual profile: what I build, the open-source projects I maintain, the roles I've held and the kind of work I take on.
- [Laravel AI Integration: Is There a LangChain for PHP, and What Should You Use?](/en/blog/laravel-ai-integration-langchain-php) — *2026-10-12T12:32:39Z*
  LangChain is Python and JavaScript. Laravel teams have their own options: a provider client, a multi-provider layer, or a LangChain-style framework for RAG and agents. Which one fits which job.
- [How to Ship an Official MCP Server for Your SaaS in 2 Weeks](/en/blog/ship-official-mcp-server-for-saas-in-2-weeks) — *2026-10-11T11:43:43Z*
  A practical 2-week plan to build an official MCP server on your existing API: tool spec, OAuth and scopes, testing in Claude/ChatGPT/Cursor, docs and handover.
- [Technical Debt: When Is It a Business Problem — and When Is a Rewrite a Mistake?](/en/blog/technical-debt-business-problem-vs-rewrite) — *2026-09-17T05:50:14Z*
  “We need to rewrite the system” can mean anything from a real business constraint to an expensive engineering preference. Technical debt matters when it increases delivery cost, incidents, security risk, cloud spend or dependency on key people. Here’s how to decide what to fix, what to leave alone and when a rewrite is actually justified. #TechnicalDebt #SoftwareArchitecture #EngineeringLeadership #LegacySystems #CTO #SoftwareDevelopment #CodebaseAudit
- [AI Business Automation in the GCC: Where Should a Company Start?](/en/blog/ai-business-automation-gcc-where-to-start) — *2026-09-17T05:52:29Z*
  AI automation should not start with “Which model should we use?” Start with the workflow: where people repeatedly read messages, move data, classify requests, prepare answers, update systems or wait for approvals. A practical GCC-focused framework for choosing the first automation worth building. #AIAutomation #AIForBusiness #BusinessAutomation #GCC #SaudiArabia #UAE #DigitalTransformation
- [When Should Your Business NOT Use AI? 10 Cases Where Simpler Software Is Better](/en/blog/when-business-should-not-use-ai) — *2026-09-17T06:09:24Z*
  AI is not automatically the right answer to every business problem. If the workflow is deterministic, the data is weak, the action is too risky, or the economics do not work, simpler software may be faster, safer and cheaper. Here’s how to know when NOT to use AI. #AIForBusiness #AIAutomation #SoftwareArchitecture #BusinessAutomation #AIConsulting #DigitalTransformation
- [Buy vs Build AI: Should Your Business Use an Off-the-Shelf Tool or Build a Custom AI System?](/en/blog/buy-vs-build-ai-business) — *2026-09-17T06:11:18Z*
  Should you buy an off-the-shelf AI tool or build a custom AI system? Compare workflow differentiation, integration depth, proprietary data, control, security, speed, total cost and vendor lock-in before investing. The best answer is often hybrid. #BuyVsBuild #CustomAI #AIForBusiness #AIDevelopment #EnterpriseAI #AIArchitecture
- [AI Automation vs Traditional Automation: When Does a Model Actually Earn Its Place?](/en/blog/ai-automation-vs-traditional-automation) — *2026-09-17T06:35:37Z*
  Not every automation needs AI. Traditional automation wins when rules are explicit; AI earns its place when a workflow must interpret messy language, documents or ambiguous inputs. Here’s how to design the boundary without turning a reliable process into a probabilistic one. #AIAutomation #BusinessAutomation #AIForBusiness #SoftwareArchitecture #AIAgents
- [Agent Memory in Practice: What Building CaBrain Taught Me About Long-Term Recall](/en/blog/agent-memory-in-practice-cabrain) — *2026-09-17T06:53:49Z*
  AI agents become far more useful when they can remember across sessions — but storing every message in a vector database is not memory. Building CaBrain pushed me toward hybrid retrieval, salience, hot/cold memory, reconsolidation and an entity graph exposed over MCP. #AIAgents #AgentMemory #CaBrain #MCP #RAG #AIEngineering
- [Multi-Agent Architecture Without the Chaos: When One Agent Is Enough](/en/blog/multi-agent-architecture-without-chaos) — *2026-09-17T06:56:17Z*
  More agents do not automatically create a better AI system. Start with one agent and clear tools; split only when roles, permissions, context or evaluation genuinely need separate boundaries. A practical architecture for agents, MCP, orchestration and observability. #AIAgents #MultiAgent #MCP #AIArchitecture #AgenticAI #AIEngineering
- [RAG Chatbot vs Scripted Bot: What Do Your Customers Actually Get?](/en/blog/rag-chatbot-vs-scripted-chatbot) — *2026-09-17T06:58:25Z*
  A scripted bot follows paths. A RAG chatbot retrieves your knowledge and generates an answer from relevant context. The customer experience can be dramatically different — but only if retrieval, grounding, permissions, testing and human escalation are designed properly. #RAG #AIChatbot #CustomerServiceAI #AIEngineering #AIForBusiness
- [Building a Private RAG Stack on PostgreSQL: pgvector, BM25 and TEI in Practice](/en/blog/private-rag-postgres-pgvector-bm25-tei) — *2026-09-17T07:00:46Z*
  Private RAG does not require a pile of databases. In CaBrain I use PostgreSQL as the center of gravity, combine semantic retrieval with BM25-style lexical search, rerank candidates, and keep embedding/reranking behind TEI services. Here is the architecture and the trade-offs behind it. #RAG #PostgreSQL #pgvector #PrivateAI #AIEngineering #TEI
- [Adding AI to a Laravel or Go Product Without Runaway Costs](/en/blog/add-ai-laravel-go-without-runaway-costs) — *2026-09-17T07:13:25Z*
  Adding AI to an existing Laravel or Go product is not mainly an SDK problem. The production challenge is controlling provider coupling, context size, retries, concurrency, evaluation and cost per successful outcome. Here is an architecture that keeps the AI layer replaceable and measurable. #Laravel #Golang #AIIntegration #AIEngineering #OpenAI #LLM
- [Multi-Tenant SaaS Databases: Shared Database or One Database per Workspace?](/en/blog/multi-tenant-saas-database-per-workspace) — *2026-09-17T09:38:09Z*
  Multi-tenancy is not just adding a tenant_id column. Shared tables, schema-per-tenant and database-per-workspace each change isolation, migrations, backups, analytics, connection pressure and operating cost. Here is how I evaluate the trade-offs before the architecture becomes expensive to change. #SaaS #MultiTenancy #DatabaseArchitecture #PostgreSQL #SoftwareArchitecture #Laravel #Golang
- [Taking Over a Production Platform: What to Fix in the First 90 Days](/en/blog/taking-over-production-platform-first-90-days) — *2026-09-17T09:41:32Z*
  Taking over an existing production platform is not the moment for a rewrite. The first 90 days should reduce uncertainty: map the system, make failures visible, protect critical paths, understand delivery bottlenecks and only then change architecture. A practical stabilization playbook for engineering leaders. #EngineeringLeadership #ProductionEngineering #Scalability #Observability #TechnicalDebt #Laravel #SaaS
- [What Does AI Automation Really Cost to Run? Beyond Tokens and API Pricing](/en/blog/ai-automation-operating-cost) — *2026-09-17T06:46:45Z*
  The model bill is only one line in the cost of AI automation. Retrieval, infrastructure, retries, monitoring, human review, integrations, failures and maintenance can matter just as much. Measure cost per successful business task, not cost per API call. #AIAutomation #AICost #AIForBusiness #LLMOps #AIEngineering #BusinessAutomation
- [Full-Time CTO vs Fractional CTO vs Technical Consultant: Which Does Your Company Need?](/en/blog/full-time-cto-vs-fractional-cto-vs-technical-consultant) — *2026-10-14T10:39:48Z*
  Do you need a full-time CTO, a Fractional CTO, or a technical consultant? The titles overlap, but the engagement models solve different leadership problems.
- [How to Build Open Source People Actually Use — Not Just Another GitHub Repository](/en/blog/building-open-source-people-actually-use) — *2026-09-17T03:23:43Z*
  Publishing code to GitHub is easy. The harder part is helping developers discover a project, understand it, trust it, install it, and keep using it. These are the lessons I learned building and maintaining real open-source products.
- [From Separate Projects to One Ecosystem: What I Learned Building Developer Tools](/en/blog/from-projects-to-an-ecosystem) — *2026-10-12T13:31:58Z*
  I spent years building open-source tools as separate projects. Over time, TomatoPHP, Laravilt, ToGO, Orchestra MCP, and CaBrain started revealing something bigger: an ecosystem shaped by real developer problems, not a master plan.
- [SaaS vs Custom Software: What Should Your Business Choose Before You Invest?](/en/blog/saas-vs-custom-software-business) — *2026-09-17T05:38:17Z*
  Should your business buy SaaS or build custom software? Compare workflow fit, integrations, ownership, switching cost, security, speed and total cost before paying for development. Sometimes the best architecture is both. #SaaS #CustomSoftware #SoftwareDevelopment #BuyVsBuild #DigitalTransformation #BusinessSoftware #SystemIntegration
- [WhatsApp AI Automation for Business: From Replies to Real Workflows](/en/blog/whatsapp-ai-automation-business) — *2026-09-17T05:38:16Z*
  A WhatsApp AI bot becomes valuable when it does more than reply. This guide shows how businesses can connect WhatsApp to customer service, lead qualification, CRM, bookings and controlled AI-agent workflows — with human handoff when it matters. #WhatsAppAI #WhatsAppAutomation #AIChatbot #CustomerServiceAI #AIAutomation #BusinessAutomation #AIAgents
- [AI Agents vs Chatbots: Which Does Your Business Actually Need?](/en/blog/ai-agents-vs-chatbots-business) — *2026-09-17T05:38:16Z*
  AI agent or chatbot? The difference is not the chat window — it is what happens after the system understands the request. This practical guide explains chatbots, AI agents, RAG, memory, permissions and human approval so businesses can choose the simplest architecture that solves the real workflow. #AIAgents #AIChatbots #AIAutomation #AgenticAI #RAG #AIForBusiness
- [How Much Does It Cost to Build a Custom AI System for a Business?](/en/blog/custom-ai-system-cost-business) — *2026-09-17T05:38:16Z*
  How much does a custom AI system cost? The useful answer starts with scope: workflow, integrations, data, permissions, AI usage and operating cost. This guide shows what actually drives the budget and how to start without overbuilding. #AIDevelopment #CustomAI #AIForBusiness #AIConsulting #AIAutomation #AIAgents #GenerativeAI
- [How to Calculate AI ROI Before You Invest in an AI Project](/en/blog/calculate-ai-roi-before-investing) — *2026-09-17T05:38:16Z*
  Before investing in AI, calculate the business case. Measure the current workflow, loaded labor cost, volume, error cost, revenue impact, implementation and operating cost — then test the assumptions with a pilot. #AIROI #AIForBusiness #AIAutomation #AIInvestment #BusinessAutomation #AIConsulting #DigitalTransformation
- [Private AI: Can Your Business Use AI Without Sending Its Data to External Services?](/en/blog/private-ai-without-sending-company-data) — *2026-09-17T05:38:17Z*
  Can your business use AI without sending sensitive data to external model providers? Yes — but private AI is an architecture decision, not just a local LLM. Here’s how local models, private RAG, access control and hybrid AI fit together. #PrivateAI #LocalLLM #PrivateRAG #EnterpriseAI #DataPrivacy #AIInfrastructure #AIForBusiness
- [From Excel and WhatsApp to One System: When Does Your Business Need Custom Software?](/en/blog/when-business-needs-custom-software) — *2026-09-17T05:38:17Z*
  Excel and WhatsApp can run a business surprisingly far. The problem starts when information fragments, work is duplicated and growth depends on manual coordination. Here’s how to decide whether to integrate, buy SaaS, automate, or build custom software. #CustomSoftware #SoftwareDevelopment #BusinessAutomation #DigitalTransformation #SaaS #SystemIntegration #AIForBusiness
- [Does Your Engineering Team Need More Developers — or Better Technical Leadership?](/en/blog/engineering-team-needs-technical-leadership-not-more-developers) — *2026-09-17T05:38:17Z*
  When delivery slows down, hiring more developers feels like the obvious answer. But if the real bottleneck is unclear ownership, architecture, priorities, technical debt or engineering management, adding people can add coordination instead of capacity. Here’s how to diagnose the difference. #EngineeringLeadership #TechnicalLeadership #TechLeadership #SoftwareEngineering #EngineeringManagement #CTO #FractionalCTO
- [Why Is Your Software Project Late When the Engineering Team Is Busy?](/en/blog/why-software-projects-are-late-when-engineers-are-busy) — *2026-09-17T05:37:56Z*
  Your engineers can be busy all day while the product still moves slowly. The delay may be hiding in queues, changing requirements, approvals, reviews, QA, architecture, incidents or oversized batches — not coding speed. Here’s how a CEO or product leader can diagnose where delivery time is actually going. #SoftwareDevelopment #EngineeringLeadership #ProductDevelopment #EngineeringManagement #CTO #Delivery #SaaS
- [How to Choose an AI Company or Consultant for Your Business](/en/blog/how-to-choose-ai-company-consultant) — *2026-09-17T05:38:16Z*
  Choosing an AI company or consultant? Don’t start with model names. Evaluate how they understand your workflow, data, integrations, security, production risks and business outcome. Here are the questions I’d ask before signing. #AIConsulting #AICompany #AIDevelopment #AIForBusiness #CustomAI #AIAutomation #AIAgents
- [RAG vs Fine-Tuning vs AI Agents: Choose the Problem Before the Technology](/en/blog/rag-vs-fine-tuning-vs-ai-agents) — *2026-09-17T05:38:16Z*
  RAG, fine-tuning and AI agents solve different problems. RAG brings external knowledge at runtime, fine-tuning changes learned behavior, and agents connect reasoning to actions and tools. Here’s how to identify which problem you actually have before building. #RAG #FineTuning #AIAgents #LLM #AIArchitecture #AIForBusiness #GenerativeAI
- [Local LLM vs OpenAI or Claude: How Should a Business Choose?](/en/blog/local-llm-vs-hosted-ai-business) — *2026-09-17T05:38:16Z*
  Local LLM or hosted AI? Don’t choose from model rankings alone. Compare the real workload, privacy boundary, quality, latency, scale, integrations and total cost — and consider a hybrid architecture when one model cannot optimize everything. #LocalLLM #OpenAI #ClaudeAI #PrivateAI #EnterpriseAI #AIInfrastructure #AIForBusiness
- [Have a SaaS Idea? What to Validate Before You Pay for Development](/en/blog/validate-saas-idea-before-development) — *2026-09-17T05:38:17Z*
  Have a SaaS idea? Before paying for development, validate the problem, buyer, current workaround, willingness to change, acquisition path and smallest testable promise. An MVP should prove a risky assumption — not just shrink a feature list. #SaaS #MVP #SaaSDevelopment #ProductValidation #Startup #ProductDevelopment #BuildInPublic
- [Digital Transformation vs AI Transformation: What Actually Changes for a Business?](/en/blog/from-digital-to-smart-automation-transformation) — *2026-09-17T05:36:21Z*
  Digital transformation puts your business into systems. AI transformation changes what those systems can understand, decide and automate. The important question is not “Do we have AI?” but whether your data, workflows and integrations are ready for it. #DigitalTransformation #AITransformation #AIForBusiness #BusinessAutomation #AIAutomation #EnterpriseAI
- [Why You Should Pay for Open Source](/en/blog/why-you-should-pay-for-open-source) — *2026-09-17T03:23:44Z*
  Free to use doesn't mean free of cost. Why developers who earn from open source should sponsor it, what Laravel's story shows, and how to help.
- [Join the TomatoPHP Community: Public Profiles Are Live](/en/blog/join-tomatophp-community) — *2026-09-17T03:23:44Z*
  TomatoPHP Public Profiles are live: join the community, build demos of our packages, and see what's coming next, from blog posts to GitHub tracking.
- [TomatoPHP Filament Plugins: The Full List](/en/blog/tomatophp-filament-plugins) — *2026-09-17T04:43:06Z*
  Over 35 open-source TomatoPHP plugins for FilamentPHP, from users and translations to CMS, POS and tenancy, plus how to run each one as a module.
- [CircleXO: An Open-Source Social Network in TomatoPHP](/en/blog/circlexo-open-source-social-network-built-in-tomatophp) — *2026-09-17T05:36:22Z*
  CircleXO was an open-source social network for businesses, built on TomatoPHP. See its features and how to install and run it locally in minutes.
- [TomatoPHP SaaS Demo](/en/blog/tomatophp-saas-demo) — *2026-09-17T05:36:22Z*
  The TomatoPHP SaaS Demo is live: create your own SaaS app for free and explore every TomatoPHP feature and package before installing anything.
- [Build an E-Commerce System in Seconds With TomatoPHP](/en/blog/build-e-commerce-system-in-seconds-with-tomatophp) — *2026-09-17T03:23:45Z*
  Step by step, turn a fresh Laravel app into a full store with TomatoPHP: admin, roles, CRM, wallets, CMS, themes and a ready storefront.
- [Install Ubuntu Desktop on Any Ubuntu Server](/en/blog/install-ubuntu-desktop-on-any-ubuntu-server) — *2026-09-17T03:23:45Z*
  Turn a cloud server into a remote dev machine: install the Ubuntu desktop, boot into the GUI, and connect from any RDP client through XRDP.
- [Install Laravel Valet+ on Ubuntu](/en/blog/install-laravel-valet-ubuntu) — *2026-09-17T03:23:45Z*
  Set up the local Laravel environment we use: Nginx, PHP 8.2, MySQL, Composer and Valet+ on Ubuntu, plus phpMyAdmin on a secure .test domain.
- [Pro Terminal for Pro Developers with Oh My Zsh](/en/blog/pro-terminal-for-pro-developer-ohmyzsh) — *2026-09-17T03:23:45Z*
  Upgrade your terminal with Zsh, Oh My Zsh, syntax highlighting, auto-suggestions and the Powerlevel10k theme, step by step on Ubuntu.
- [Generate a Flutter App from Your Tomato App](/en/blog/generate-a-flutter-app-from-your-tomato-app) — *2026-09-17T05:36:22Z*
  Turn your TomatoPHP CRUDs into a working Flutter app: install tomato-flutter, run one Artisan command, and wire it to your Laravel API.
- [Deploy a Laravel App Using GitHub Actions](/en/blog/deploy-laravel-app-using-github-actions) — *2026-09-17T03:23:45Z*
  Take a Laravel app live: set up CloudPanel on a VPS, secure it with Cloudflare, and let GitHub Actions test and deploy every push.
- [Laravel TomatoPHP Admin & CRUD Generator](/en/blog/tomatophp-admin-crud-generator) — *2026-09-17T03:23:45Z*
  Meet TomatoPHP Admin: a Splade and Filament powered SPA dashboard for Laravel that generates a full CRUD from your migration in one command.
- [What Is an Algorithm? A Simple Explanation with Examples](/en/blog/what-is-an-algorithm) — *2026-10-19T13:05:37Z*
  An algorithm is a finite list of clear steps. Learn the idea through an airport example, see Python code, and meet al-Khwarizmi, whose name gave us the word.

---

Source: https://fadymondy.com/en/blog
