<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[Engineering — Mohammad Shaker]]></title>
        <description><![CDATA[Engineering articles by Mohammad Shaker]]></description>
        <link>https://mohammadshaker.com/en/blog/category/Engineering</link>
        <image>
            <url>https://mohammadshaker.com/opengraph-image</url>
            <title>Engineering — Mohammad Shaker</title>
            <link>https://mohammadshaker.com/en/blog/category/Engineering</link>
        </image>
        <generator>RSS for Node</generator>
        <lastBuildDate>Sun, 19 Apr 2026 13:05:39 GMT</lastBuildDate>
        <atom:link href="https://mohammadshaker.com/en/blog/category/Engineering/feed.xml" rel="self" type="application/rss+xml"/>
        <language><![CDATA[en-US]]></language>
        <item>
            <title><![CDATA[Building a Palantir-Style Ontology Without Palantir]]></title>
            <description><![CDATA[Palantir Foundry sells a six-figure ontology to Fortune 500 companies. We built the same idea -- a queryable graph of every business noun, relationship, and verb -- for an Arabic kids' ed-tech app, using JSONL files, Python extractors, and a Claude agent. Total cost: ~$16k/year. Here is the full architecture, the reasoning, and the kill gates.]]></description>
            <link>https://mohammadshaker.com/en/blog/building-a-palantir-style-ontology-without-palantir</link>
            <guid isPermaLink="true">https://mohammadshaker.com/en/blog/building-a-palantir-style-ontology-without-palantir</guid>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[ontology]]></category>
            <category><![CDATA[graph]]></category>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[AI]]></category>
            <category><![CDATA[agents]]></category>
            <dc:creator><![CDATA[Mohammad Shaker]]></dc:creator>
            <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Neo4j vs Postgres+AGE vs JSONL: A Graph Data Showdown]]></title>
            <description><![CDATA[A deep, falsifiable comparison of three approaches to graph-shaped data: Neo4j (native graph), PostgreSQL with the Apache AGE extension (relational+graph hybrid), and plain JSONL files (no database at all). We debate where each wins, where each breaks, and show concrete examples with ASCII visualizations.]]></description>
            <link>https://mohammadshaker.com/en/blog/neo4j-vs-postgres-age-vs-jsonl-graph-data-showdown</link>
            <guid isPermaLink="true">https://mohammadshaker.com/en/blog/neo4j-vs-postgres-age-vs-jsonl-graph-data-showdown</guid>
            <category><![CDATA[databases]]></category>
            <category><![CDATA[graph]]></category>
            <category><![CDATA[neo4j]]></category>
            <category><![CDATA[postgresql]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[engineering]]></category>
            <dc:creator><![CDATA[Mohammad Shaker]]></dc:creator>
            <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Applying Thiel's Monopoly Playbook to Arabic Ed-Tech]]></title>
            <description><![CDATA[Peter Thiel says the best startups monopolize a small market before expanding. Charlie Munger says the only real moat is something that compounds. Karl Popper says any strategy that cannot be disproven is not a strategy. We apply all three frameworks to a concrete case: building an Arabic children's learning app in the Gulf. Every claim is falsifiable.]]></description>
            <link>https://mohammadshaker.com/en/blog/thiel-moat-strategy-for-arabic-edtech</link>
            <guid isPermaLink="true">https://mohammadshaker.com/en/blog/thiel-moat-strategy-for-arabic-edtech</guid>
            <category><![CDATA[strategy]]></category>
            <category><![CDATA[moat]]></category>
            <category><![CDATA[startups]]></category>
            <category><![CDATA[edtech]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[AI]]></category>
            <dc:creator><![CDATA[Mohammad Shaker]]></dc:creator>
            <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[How I Overhauled SEO, GEO, and AEO for My Personal Website]]></title>
            <description><![CDATA[Overhauling SEO, GEO, and AEO on a bilingual Next.js site with 300+ posts required structured data on every page type, dynamic OG images per locale, speakable schema for voice search, and an llms.txt file for AI crawler discoverability. This post documents every implementation decision, the trade-offs, and what made the biggest measurable difference.]]></description>
            <link>https://mohammadshaker.com/en/blog/seo-geo-aeo-improvements-for-mohammadshaker-com</link>
            <guid isPermaLink="true">https://mohammadshaker.com/en/blog/seo-geo-aeo-improvements-for-mohammadshaker-com</guid>
            <category><![CDATA[AI]]></category>
            <category><![CDATA[nlp]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[design]]></category>
            <dc:creator><![CDATA[Mohammad Shaker]]></dc:creator>
            <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Agents Are Eating the Business Layer.]]></title>
            <description><![CDATA[LLM-powered agents are replacing the traditional business logic layer in software. Instead of hardcoded rules and workflows, agents decide at runtime which tools to call, which APIs to hit, and when to delegate. The familiar three-tier architecture is collapsing into a thin CRUD layer plus an agent reasoning layer.]]></description>
            <link>https://mohammadshaker.com/en/blog/agents-are-eating-the-business-layer</link>
            <guid isPermaLink="true">https://mohammadshaker.com/en/blog/agents-are-eating-the-business-layer</guid>
            <category><![CDATA[AI]]></category>
            <category><![CDATA[agents]]></category>
            <category><![CDATA[architecture]]></category>
            <category><![CDATA[LLM]]></category>
            <dc:creator><![CDATA[Mohammad Shaker]]></dc:creator>
            <pubDate>Wed, 25 Jun 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA["Requirement" is an empty word.]]></title>
            <description><![CDATA["Requirement" is one of the most overloaded words in software engineering — it sounds precise but isn't. It forces a solution frame too early and closes off better alternatives before the problem is fully understood. Replacing it with constraints, goals, and user stories keeps the conversation open longer and leads to better outcomes.]]></description>
            <link>https://mohammadshaker.com/en/blog/requirement-is-an-empty-word</link>
            <guid isPermaLink="true">https://mohammadshaker.com/en/blog/requirement-is-an-empty-word</guid>
            <category><![CDATA[software engineering]]></category>
            <category><![CDATA[product management]]></category>
            <category><![CDATA[user stories]]></category>
            <dc:creator><![CDATA[Mohammad Shaker]]></dc:creator>
            <pubDate>Thu, 17 Apr 2025 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>