<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Ahmed Emad — Writing</title><description>Write-ups on projects and past roles.</description><link>https://ahmedemad.is-a.dev/</link><item><title>What I&apos;m building at Uptal: the backend behind Etch</title><link>https://ahmedemad.is-a.dev/experience/uptal/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/experience/uptal/</guid><description>Seven months in: owning the backend architecture, an AI import pipeline and the Kubernetes infrastructure for Etch, a location-based social platform.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate><category>Experience</category></item><item><title>MenuKit: a multi-tenant menu management API in Laravel</title><link>https://ahmedemad.is-a.dev/projects/menukit/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/menukit/</guid><description>A REST API for restaurant menus with hierarchical categories, multi-dimensional variants and modifiers, where tenant isolation is enforced in five layers and money never touches a float.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate><category>Project</category></item><item><title>PriceHub: aggregating product prices from three providers with NestJS and Prisma</title><link>https://ahmedemad.is-a.dev/projects/pricehub/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/pricehub/</guid><description>A NestJS service that polls providers with different payload shapes, normalises them into PostgreSQL, records price history only on change, and streams updates over Server-Sent Events.</description><pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Four years at Trufla: rebuilding an insurance SaaS backend in NestJS</title><link>https://ahmedemad.is-a.dev/experience/trufla/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/experience/trufla/</guid><description>Building and then rebuilding the backend of a B2B insurance SaaS platform serving 60+ enterprise clients: NestJS, microservices on AWS, and a CI/CD overhaul.</description><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate><category>Experience</category></item><item><title>AgentRunner: a ReAct agent execution service on LangChain and Ollama</title><link>https://ahmedemad.is-a.dev/projects/agentrunner/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/agentrunner/</guid><description>A Python service that runs an LLM agent through a reason-act loop against a local model, with pluggable tools, a CLI entry point and a structure built to be extended.</description><pubDate>Mon, 05 Jan 2026 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Taskflow: a task management API with roles and dependency graphs</title><link>https://ahmedemad.is-a.dev/projects/taskflow/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/taskflow/</guid><description>A Laravel REST API where managers assign tasks, users work them, and task dependencies are enforced with circular-dependency prevention. Docker one-command setup, CI on every pull request.</description><pubDate>Mon, 14 Jul 2025 00:00:00 GMT</pubDate><category>Project</category></item><item><title>CampSpot: a camping community with maps, reviews and photo uploads</title><link>https://ahmedemad.is-a.dev/projects/campspot/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/campspot/</guid><description>A Node.js and Express web app where campers share campgrounds on a map, upload photos and leave reviews, with Passport authentication and a hardened input layer.</description><pubDate>Thu, 04 Jul 2024 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Serving a Yii app&apos;s assets through a CDN with a custom asset manager</title><link>https://ahmedemad.is-a.dev/projects/yii-cdn-integration/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/yii-cdn-integration/</guid><description>Extending Yii&apos;s AssetManager so static assets are served from a CDN domain with stable folder names, with a local Nginx setup that simulates the CDN in Docker.</description><pubDate>Thu, 06 Jun 2024 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Unlimited-Talk: a multi-application chat API in Ruby on Rails</title><link>https://ahmedemad.is-a.dev/projects/unlimited-talk/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/unlimited-talk/</guid><description>A chat backend where each registered application owns many chats and each chat many messages, with Elasticsearch search over messages, queued writes for concurrency, and full Docker Compose setup.</description><pubDate>Mon, 22 Apr 2024 00:00:00 GMT</pubDate><category>Project</category></item><item><title>A year on Bayt.com&apos;s job platform: PHP, Yii and an AI CV enhancer</title><link>https://ahmedemad.is-a.dev/experience/bayt/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/experience/bayt/</guid><description>My first engineering role, working remotely on a large-scale job platform in PHP and Yii, with a Python-backed AI feature for improving CVs.</description><pubDate>Wed, 05 Jan 2022 00:00:00 GMT</pubDate><category>Experience</category></item><item><title>Hobbies: a social network for sharing what you love, in Laravel and Vue</title><link>https://ahmedemad.is-a.dev/projects/hobbies/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/hobbies/</guid><description>A full-stack social app where people post hobbies with photos, tag them, and discover new hobbies through tags. Laravel 8 on the back, Vue 2 on the front.</description><pubDate>Wed, 29 Dec 2021 00:00:00 GMT</pubDate><category>Project</category></item><item><title>WebPattern: a moderated tech blog in plain PHP, my ITI graduation project</title><link>https://ahmedemad.is-a.dev/projects/webpattern/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/webpattern/</guid><description>A blog and CMS for posts about web technologies, with an admin panel that approves posts and comments before they go live. Built in plain PHP and MySQL as my ITI graduation project, which scored 100%.</description><pubDate>Thu, 16 Dec 2021 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Shelfmate: a reading-shelf app in React</title><link>https://ahmedemad.is-a.dev/projects/shelfmate/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/shelfmate/</guid><description>Organise books into Currently Reading, Want to Read and Read shelves, and search a catalogue to add more. Built on the Udacity MyReads project during the FWD React track.</description><pubDate>Mon, 23 Aug 2021 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Quicklist: a live-filtering search list in Angular</title><link>https://ahmedemad.is-a.dev/projects/quicklist/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/quicklist/</guid><description>A small Angular 12 app that filters a list of artists as you type using a custom pipe, with a details route per item.</description><pubDate>Sat, 19 Jun 2021 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Platter: discover restaurants near you and leave a review</title><link>https://ahmedemad.is-a.dev/projects/platter/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/platter/</guid><description>A Node.js and Express web app for finding restaurants near you or in any place, viewing details, adding new ones with photos, and leaving reviews.</description><pubDate>Sat, 01 May 2021 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Tasko: a task manager REST API with JWT auth and a full test suite</title><link>https://ahmedemad.is-a.dev/projects/tasko/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/tasko/</guid><description>The backend for a personal task manager: accounts with JWT authentication, per-user tasks with filtering and pagination, avatar uploads, and email notifications, with Jest and Supertest tests on every route.</description><pubDate>Fri, 30 Apr 2021 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Chatly: real-time chat rooms with Socket.io</title><link>https://ahmedemad.is-a.dev/projects/chatly/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/chatly/</guid><description>A real-time chat app where you pick a name and a room and talk live with everyone in it, with a live user list, location sharing and a profanity filter.</description><pubDate>Wed, 06 Jan 2021 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Skycast: weather by place name or by where you are</title><link>https://ahmedemad.is-a.dev/projects/skycast/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/projects/skycast/</guid><description>A weather site that geocodes any place you type through Mapbox and shows the current weather, or uses the browser&apos;s location with one click. Node.js, Express and Handlebars.</description><pubDate>Wed, 06 Jan 2021 00:00:00 GMT</pubDate><category>Project</category></item><item><title>Three months at ITI: from CRUD apps to a graduation project</title><link>https://ahmedemad.is-a.dev/experience/iti-internship/</link><guid isPermaLink="true">https://ahmedemad.is-a.dev/experience/iti-internship/</guid><description>An intensive summer web track in JavaScript, PHP, Laravel and MySQL that ended with a graduation project scored at 100%.</description><pubDate>Thu, 01 Oct 2020 00:00:00 GMT</pubDate><category>Experience</category></item></channel></rss>