Skip to content
MKA Available for PFE / 2027
WorkAboutContactResume FR
Main menu
WorkAboutContactResume FR

Have an ambitious product in mind?

Let's build something
worth remembering.

© 2026 Mohamed Khalil Ajlani
GitHubLinkedInLegal
Tunis / Tunisia
All projects

EdTech · SaaS · Real time / 2026

Nexora

A competitive coding and learning platform where practice, live battles and intelligent feedback converge.

Role

Personal project — end-to-end product design, frontend, backend, data model, real-time features and containerized architecture.

Core stack

React / TypeScript / NestJS / MongoDB / FastAPI

Source repository
Nexora interface overview

The product

Engineering clarity
into complexity.

Nexora turns programming practice into a measurable, collaborative product. It combines secure code workflows, real-time competitions, gamification, organization dashboards and a privacy-conscious FastAPI analysis service.

  • Interactive Monaco-based coding environment
  • Live battles, matchmaking, leaderboards and contextual chat
  • Deterministic multi-language static analysis service
  • Multi-role learning, classroom and certification workflows

01 / The challenge

The problem behind
the interface.

Coding platforms often separate practice, live competition and classroom management. Nexora was designed as one coherent environment where learners can write code, compete, receive feedback and build a measurable progression history.

Project constraints

  • Untrusted source code and secure execution boundaries
  • Low-latency matchmaking and live state
  • Several programming languages
  • Student, instructor, organization and administrator roles
  • Privacy-conscious code feedback
3core services
Livecompetitive battles
Multi-rolelearning workflows

02 / Architecture

Clear boundaries.
Purposeful layers.

01

Experience

React, Monaco Editor and role-specific learning and organization dashboards.

02

Platform API

NestJS modules for identity, challenges, submissions, matchmaking and learning workflows.

03

Real time

Socket.IO battles, contextual chat, leaderboards and synchronized competition state.

04

Analysis

Independent FastAPI service for deterministic, language-aware static feedback.

03 / Engineering decisions

Trade-offs made
explicit.

Isolate analysis from the product API

A dedicated Python service keeps language tooling independent from transactional NestJS workflows and can scale separately.

Use deterministic feedback first

Static analyzers provide reproducible evidence without exposing source code to a generative service by default.

Model progression as product data

XP, mastery, assignments and achievements are connected to the same submission history instead of becoming isolated gamification widgets.

04 / System toolkit

A stack assembled
for the problem.

Every technology earns its place in the architecture. The interactive field represents the system's core building blocks.

ReactTypeScriptNestJSMongoDBFastAPIPythonSocket.IOMonacoDockerOpenRouterWebSockets

05 / Outcomes

What the project
actually delivered.

Delivered

  • End-to-end personal project spanning three services
  • Real-time battle and classroom activity flows
  • Multi-language analysis and structured feedback
  • Organization, assignment, certificate and learner analytics workflows

Next validation steps

  • Harden code execution with disposable sandbox workers
  • Publish load-test results for battle rooms and submissions
  • Validate learning recommendations with instructor-led cohorts

06 / Product in context

Designed as a system,
not a collection of screens.

Nexora enlarged interface view 1

1 / 5

Next case study

WasteWise