Skip to main content

Mostafa Othman

Software developer for web applications, backend services and embedded systems.

About me

I build software from the microcontroller up to the browser. On the web I work with React and TypeScript on the front end, Python (FastAPI) or C# (ASP.NET Core) on the back end, and PostgreSQL for data. I also have experience close to the hardware: C and C++ for microcontrollers, and system-level modelling with SystemC and TLM-2.0.

For a while I taught web development at a training institute. Explaining code to beginners changed the way I write it: small pieces, clear names, and tests that show what the code is meant to do.

This website runs on a Raspberry Pi at my home, alongside my own GitLab server. Every change goes through a CI/CD pipeline with automated tests before it goes live. That is also how I prefer to work on projects.

Skills

Grouped by area, with the tools I use most at the start of each group.

  • Frontend

    • TypeScript
    • React
    • Redux
    • Material UI
    • Bootstrap
    • JavaScript
    • HTML & CSS
    • UI design
  • Backend

    • Python
    • FastAPI
    • Django
    • C# / ASP.NET Core
    • Node.js
    • Java / Spring Boot
    • REST APIs
  • Databases

    • PostgreSQL
    • MySQL
    • MongoDB
    • SQLite
  • DevOps & tools

    • CI/CD (GitLab)
    • Docker
    • Git
    • Linux
    • nginx
    • Maven
    • CMake
    • npm
  • AI & speech

    • Automatic speech recognition (ASR)
  • Embedded & systems

    • C / C++
    • SystemC & TLM-2.0
    • Microcontrollers
    • Assembly
    • FPGA / RTL
    • GDB

Earlier work also includes desktop applications with JavaFX, Swing and Tkinter.

How I work

  • From idea to production

    I take features through design, code, tests and deployment, and I am at home on both sides of the API.

  • Tested and automated

    Tests are part of the work, not an extra. A pipeline runs them on every change, so releases stay boring.

  • Clear communication

    Teaching web development taught me to explain technical decisions in plain words, to developers and non-developers alike.

Projects

  • Embedded systems

    SystemC and TLM-2.0 models, setup notes, and debugging C/C++ with GDB.

  • IoT

    Talking to devices in real time over WebSockets.

  • Web

    Web projects, including this site: Umbraco and React, self-hosted with Docker on a Raspberry Pi.

From the blog

Let's work together

I'm open to new projects and full-time positions. Send me a message and I'll get back to you.