Skip to content

Mohammed NafiaSoftware & AI Engineer

I build web systems and digital products from idea to deployment, with attention to the details that make a system clear, reliable, and ready to grow.

Invoice Mini App — composing an invoice, the generated invoice, and the mini-app’s opening screen.
IMMAR — the student app: the course catalogue, lesson progress and a course detail screen.
Sendy — the merchant console: order counts by state, the delivery status history and the live order table, in Arabic.
Virtual Banking API — wallet screens driven by the API: an account balance in Iraqi dinars, quick actions and a transfer flow.
Al-Tafawuq School System — the admin dashboard: the attendance trend, outstanding instalments and the day’s absences.

Background

I'm Mohammed Nafia.

I'm a Software & AI Engineer. I started my professional experience working with Qi Card, then went on to work across different products and software projects. Today, I work independently with companies and teams to build software systems and digital products.

The projects I enjoy most usually involve more than a screen connected to an API.

There are different users and permissions, data moving between multiple parts of the system, and flows that still need to behave correctly when a request fails, a state changes, or someone tries to access something they should not.

That is why I usually start with how the system works before deciding how the interface should look.

I define who uses it, what they need to see, what they are allowed to change, and how the system should behave when things do not go as expected.

Then I build.

How I Work

  1. 01Understand the System Before Writing Code

    I define users, permissions, data flow, core states, and failure cases early, before those decisions turn into scattered fixes during development.

  2. 02Build the Product as One System

    The database, API, and interface are parts of the same product. A decision in one layer should have a clear and understood effect on the others.

  3. 03Arabic Is Not a Secondary Version

    If a product supports Arabic and English, I design for both from the beginning: RTL and LTR layouts, text, tables, forms, and navigation.

  4. 04Deploy, Test, Then Deliver

    Finishing the code is not the end of the project.

    I review the main flows, error cases, permissions, APIs, and deployed environment before delivery, and make sure the product behaves the way it was designed to behave outside the development environment.

Results & Milestones

I prefer to have a real project or result behind anything I claim.

  • Sendy

    Founded and engineered a multi-tenant SaaS platform for commerce and logistics.

  • 1st Place
    QI CARD Hackathon 2025

    Banking System — addressed duplicate money transfers caused by repeated requests, with a focus on transaction safety and preventing the same financial operation from being processed more than once.

  • 1st Place
    ITS Hackathon 2025

    NANO — an AI-powered optical character recognition platform for Arabic documents.

  • 2nd Place
    HUB200 Hackathon 2025

    Dynamic Form Builder — a no-code tool for creating and configuring dynamic forms.

Technologies I Use

I do not list every technology I have tried. These are the tools I regularly return to when building projects.

  • Backend

    • ASP.NET Core
    • C#
    • FastAPI
    • Python
    • Entity Framework Core
    • PostgreSQL
    • ASP.NET Core
    • C#
    • FastAPI
    • Python
    • Entity Framework Core
    • PostgreSQL
  • Frontend

    • React
    • Next.js
    • TypeScript
    • Tailwind CSS
    • React
    • Next.js
    • TypeScript
    • Tailwind CSS
    • React
    • Next.js
    • TypeScript
    • Tailwind CSS
  • Infrastructure

    • Docker
    • Railway
    • DigitalOcean
    • Docker
    • Railway
    • DigitalOcean
    • Docker
    • Railway
    • DigitalOcean
    • Docker
    • Railway
    • DigitalOcean
  • AI & Automation

    • n8n
    • Hugging Face
    • AI APIs
    • Automation Workflows
    • OpenAI API
    • Ollama
    • LangChain
    • n8n
    • Hugging Face
    • AI APIs
    • Automation Workflows
    • OpenAI API
    • Ollama
    • LangChain

Case Studies

The final interface matters, but it is not the whole story.

Each case study focuses on the problem, the constraints, the decisions I made, and the parts that required more thought than simply writing the code.

Sendy — the merchant console: order counts by state, the delivery status history and the live order table, in Arabic.

Sendy

From Separate Operations to One Operating Platform

A merchant needs to follow an order from the moment it is created until it is delivered.

At the same time, the system needs to know who owns that order, who can modify it, and which parts of the process each user is allowed to see.

In this case study, I break down the system architecture, role separation, and the workflows that move through multiple states before they are complete.

Read Sendy Case Study
IMMAR — the student app: the course catalogue, lesson progress and a course detail screen.

IMMAR

The Student App and Admin Dashboard Should Not Be the Same Product

Students and staff work within the same platform, but their needs and permissions are completely different.

The challenge was defining that boundary clearly: what belongs in the student application, what stays inside the operational dashboard, and who the system allows to access each part.

Read IMMAR Case Study
Virtual Banking API — wallet screens driven by the API: an account balance in Iraqi dinars, quick actions and a transfer flow.

Virtual Banking API

What Happens When the Same Transfer Is Sent Twice?

In financial systems, receiving a successful request is not enough.

The important part is making sure the operation itself is not repeated because of multiple clicks, retries, or network issues.

This project focuses on transaction safety, operation state, and preventing the same financial transaction from being executed more than once.

Read Virtual Banking API Case Study

Work With Me

If you are building a new product, internal system, dashboard, backend, or an idea that needs to become a working product, tell me about it.

You do not need a polished brief.

Tell me what exists today, what should happen next, and what is currently getting in the way.

If I believe I can contribute to the project, I will explain how I would approach it from the beginning. If it is outside the kind of work I do, I will tell you directly.