// software engineer · portfolio

I build software
that stays running.

I'm Dhia Bejaoui, a fullstack engineer who ships production systems end to end: data pipelines, scheduled jobs, resilient APIs, and the interfaces on top of them.

~/dhia · statusonline
rolefullstack / systems engineer
basedTunis · UTC+1
langsFR · EN · AR
focuslive data infrastructure
building

Sarrafli

live FX rates aggregated from 13 Tunisian banks + the BCT, refreshed on a schedule.

shipped: 3 systemsall live ✓

// about

An engineer who thinks in systems, not just screens.

I work across the whole stack, but I'm happiest where the hard parts live: scraping and normalizing messy data, scheduling jobs that retry and alert when something breaks, and shaping APIs that stay predictable under load.

On top of that I build fast, accessible interfaces with React, Next.js and Vue. I like shipping things that run in production and keep running, and I pick up whatever a project needs to get there.

education

  • ESPRIT

    Engineering & Technologies · Tunis

  • ISSATM

    Applied Sciences & Technology · Mateur

certifications

  • Claude Code 101

    Anthropic · completed 2026-Apr-24

  • Claude Code in Action

    Anthropic · completed 2026-Apr-24

  • Introduction to Agent Skills

    Anthropic · completed 2026-May-05

  • Introduction to Subagents

    Anthropic · completed 2026-May-05

stack.spec34 entries

languages

TypeScriptJavaScriptPythonPHP

frontend

ReactNext.jsVue.jsReact NativeTailwind CSSReduxPiniaTanStack Query

backend

Node.jsExpress.jsNestJSFastAPISymfony

data & storage

MongoDBPostgreSQLMySQLFirebasePrismaMongoose

testing

JestVitestPlaywrightDetox

infra & tooling

Claude CodeDockerGitHub ActionsGitAPSchedulernext-intlZod

// selected work

Systems currently in production.

3 of 3 · all deployed

  • Sarrafli preview
    01 · data platformlive

    Sarrafli

    A full-stack app aggregating live currency exchange rates from 13 Tunisian banks and the Central Bank of Tunisia. Trilingual (FR/EN/AR) RTL experience backed by an async scraping pipeline with scheduled jobs, automatic retries, and email alerts on failure.

    Next.jsFastAPIMongoDBAPSchedulernext-intlDocker
  • CodeSensei preview
    02 · ai toolinglive

    CodeSensei

    An AI-powered code review app that gives developers actionable feedback on code quality across multiple languages, using Google Gemini. Auth, email, and analysis pipeline built on a NestJS + MongoDB backend with a Vue 3 front end.

    Vue 3NestJSMongoDBGemini APIPiniaJWT
  • Weather App preview
    03 · web applive

    Weather App

    A responsive single-page weather app showing current conditions for any location worldwide, with dynamic backgrounds, search history, and unit conversion. Built on the OpenWeather API.

    Next.jsTypeScriptTailwind CSSOpenWeather API

// contact

Let's build something that lasts.

I'm open to new roles and freelance work. Send a note about what you're building and I'll reply, the inbox is always open.

available for work