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

    • informatic
    • electronics
    • programming tools
    • science
    • systemc
    • embedded system

    Introduction to SystemC

    SystemC is a powerful modeling and simulation framework widely used in electronic design automation (EDA).

    • informatic
    • science

    YUV Color Format

    The YUV color format is a critical representation in digital imaging and video systems, enabling efficient compression and transmission of visual data. This article explores the technical details of...

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.