Mohamed Jbilou
Menu

Mohamed Jbilou

Software Engineer | Full-Stack Developer

Crafting innovative and efficient solutions with a passion for web and mobile technologies. Graduating in 2026 with a focus on creating impactful user experiences.

About Me

A Glimpse into My Journey and Aspirations.

Mohamed Jbilou

Software Engineer

Rabat, Morocco

My Journey

Hello! I'm Mohamed Jbilou, a passionate software engineering student at EMSI. I build web and mobile applications while continuously expanding my expertise in cloud technologies (AWS), containerization (Docker, Kubernetes), and CI/CD pipelines to deliver scalable, enterprise-ready solutions.

Education

EMSI - École Marocaine des Sciences de l'Ingénieur

Computer Science - Software Engineering (IT)

Expected Graduation: 2026

Career Aspirations

I would like to be involved in impactful projects with real-world applications. I am particularly interested in full-stack development, web and mobile app development, and cloud computing positions. I look forward to continuing to learn as an engineer, taking on new challenges, and eventually moving into leadership positions in a dynamic tech firm.

My Technical Arsenal

A visual showcase of the technologies, tools, and methodologies I leverage.

Programming Languages

JavaScript

TypeScript

Python

Java

C#

C++

C

Frontend Development

React

Next.js

HTML5

CSS3

Tailwind CSS

Mobile Development

React Native

Expo

Java

Android Studio

Backend Development

Node.js

Express.js

Database Technologies

MySQL

Oracle

Supabase

DevOps & Tools

Git & GitHub

Docker

Linux (CLI)

VS Code

Methodologies

Scrum

Cloud & Deployment

Vercel

Supabase

AWS

Additional Skills

RESTful APIs

Problem Solving

Turbopack

Featured Projects

View All Projects
FlousBank: Next-Gen Mobile Banking (PFA 2025)Featured
About this project FlousBank: A Modern Mobile Banking Application FlousBank is a comprehensive mobile banking application I developed that provides users with a secure and intuitive platform to manage their finances on the go. The application features a sleek cyberpunk-inspired interface that combines functionality with a unique visual style, making everyday banking tasks both efficient and enjoyable. Key Features Secure Authentication: Robust login system with session persistence, secure storage, and protection against multiple failed attempts Account Dashboard: Interactive overview displaying account balances and recent transaction history with multi-account support Transaction Management: Detailed transaction history with date filtering (All, 30 days, 7 days), transaction details view, and statement download capabilities Fund Transfers: Seamless transfers between accounts with recipient selection, amount specification, and real-time processing via secure Edge Functions Bill Payments: Dedicated interface for viewing and paying bills with payment confirmation Card Management: Complete control over banking cards including viewing card details securely, activation/deactivation, spending limit adjustments, and adding new cards Branch/ATM Locator: Interactive map showing nearby branches and ATMs using device location services with directions functionality Intelligent Chatbot: Conversational assistant with quick action buttons for balance inquiries, transaction information, and navigation to other app sections Spending Overview: Visual analysis of income and expenses with interactive circular graphs showing the flow between Send, Receive, and Bills categories Notifications: System for receiving important account and transaction alerts Profile Settings: User profile management and preference configuration Multi-Account Support: Ability to manage and switch between multiple banking accounts Technical Implementation I built FlousBank using a modern, scalable tech stack: React Native with Expo for cross-platform mobile development TypeScript for type-safe code and improved maintainability Supabase for backend services including authentication, database, and serverless functions PostgreSQL database for secure data storage with custom RPCs for complex operations Expo Secure Store for sensitive data protection React Native Maps for location-based features Expo File System and Sharing for statement downloads Custom UI components for a consistent, branded experience The application follows a component-based architecture with context-based state management, ensuring a responsive and fluid user experience while maintaining code organization and reusability. User Flow Users authenticate securely through the login screen The dashboard presents a clear overview of financial accounts and recent activity Users can perform transfers, view detailed transaction history, and manage their cards Bill payments can be scheduled and tracked through a dedicated interface The branch locator helps users find nearby banking services with interactive map navigation The chatbot provides instant assistance for common banking queries Spending overview provides financial insights with interactive visualizations Account settings and preferences can be managed through an intuitive interface FlousBank demonstrates how modern mobile technology can transform traditional banking experiences, making financial management more accessible, secure, and user-friendly. This project showcases my skills in mobile application development, secure authentication implementation, API integration, and creating polished user interfaces that balance aesthetics with functionality.

Tech Stack:

React Native with Expo - TypeScript - Supabase (PostgreSQLAuthEdge Functions)-Node.js
RestoBook 🍽️ : Intelligent Restaurants Reservation ChatbotFeatured
RestoBook: An Intelligent Restaurant Reservation Chatbot RestoBook is a sophisticated restaurant reservation system I built that leverages natural language processing to create a seamless booking experience. This interactive chatbot application allows users to reserve tables, view menus, and get location information for three premium restaurants - Rambla (Mediterranean cuisine), La Latium (Italian cuisine), and La Casa Carta (Moroccan cuisine). Key Features - Intelligent Conversation: The chatbot uses NLTK and custom trained neural networks to understand natural language queries and provide appropriate responses - Seamless Reservations: Users can book tables by specifying date, time, and party size through a conversational interface - Dynamic Information: View restaurant menus, locations (via Google Maps integration), and operating hours on demand - Reservation Management: Easy reservation tracking and cancellation using a unique ID system - Responsive Design: Clean, intuitive interface that works on both desktop and mobile devices Technical Implementation I built RestoBook using a modern tech stack: - Python/Flask backend for server-side logic and API endpoints - MySQL database for storing reservation details with separate tables for each restaurant - HTML/CSS/JavaScript frontend for an interactive user experience - NLTK and custom neural networks for natural language understanding The application processes user input through a trained model that classifies intents, allowing it to distinguish between reservation requests, menu inquiries, location questions, and cancellation requests. User Flow 1. Users interact with the chatbot using natural language 2. The system identifies their intent using NLP techniques 3. For reservations, users provide their name, phone number, date, time, and party size 4. The system confirms with a unique reservation ID for future reference 5. Users can view rich restaurant information, including complete menus and map locations 6. Cancellations are handled by providing the reservation ID RestoBook demonstrates how conversational AI can transform the restaurant reservation experience, making it more accessible and user-friendly than traditional booking methods. This project showcases my skills in full-stack development, natural language processing, and creating practical AI-powered applications that solve real-world problems.

Tech Stack:

Python/Flask - MySQL - NLTK - Google Maps API- HTML/CSS/JS
Project-HubFeatured
Project-Hub is a comprehensive, production-ready desktop application designed to facilitate secure team collaboration and efficient project management. Initiated as an academic project, the application underwent a complete, professional-grade refactoring to enhance its architecture, security, persistence, and user experience, resulting in a robust system built with Java and JavaFX. 🚀 Project Evolution and Technical Foundation This project highlights my commitment to evolving academic concepts into industry-standard solutions. The major development efforts focused on creating a robust, modular, and performant system: Reinforced Architecture: Transitioned from basic scripting to a professional, modular structure with clear Separation of Concerns, ensuring high maintainability and extensibility of all components. Persistent Database: Migrated to an integrated H2 Database for reliable, transaction-safe data persistence, eliminating the need for an external server setup. Modern UI/UX: Developed a sleek, modern, and responsive JavaFX interface with styled components and fluid navigation, significantly improving the user experience on desktop. Quality Assurance: Implemented a comprehensive suite of JUnit 5 unit tests to guarantee the reliability and correctness of the business logic. ✨ Key Enterprise-Grade Features Project Manager offers a complete set of tools essential for any professional team environment: 🔐 Secure Authentication & RBAC: Features secure login/registration with password hashing and Role-Based Access Control (RBAC) to enforce distinct permissions for Project Managers (full control) and Team Members (task execution/reporting). 📁 Project & Budget Tracking: Provides a centralized project dashboard, full lifecycle management (CRUD), and dedicated tools for setting, managing, and tracking project budgets. 📋 Task Management System: Enables detailed task creation, clear prioritization (High, Medium, Low), and streamlined status tracking ("Non commencé," "En cours," "Terminé"). Tasks are easily assigned to team members. 💬 Real-time Collaboration: Includes a dedicated private messaging system and a real-time notification hub to instantly alert users of new task assignments, status changes, and critical messages, ensuring team synchronization. 🛠️ Stack Technologique The application is engineered on a powerful, reliable Java-centric stack: Core Language: Java 17+ provides the robust, object-oriented foundation for all business logic. User Interface: JavaFX powers the modern, cross-platform graphical user interface (Desktop IHM). Persistence: H2 Database is used as the integrated relational database for secure data storage. Build & Management: Apache Maven handles all project dependencies, compilation, and build automation. 💡 Demonstrated Skills This project is a comprehensive demonstration of my capabilities in: Full-Stack Java Development: Building a complete application from the database layer (H2/SQL) to the UI (JavaFX). Software Architecture: Designing and implementing a robust, modular, and extensible Object-Oriented system. Security Implementation: Integrating secure user authentication and role-based authorization principles. UX/UI Development: Creating a clean, modern, and responsive desktop application that prioritizes user experience. Quality Assurance & Testing: Utilizing JUnit 5 for rigorous validation of core functionalities.

Tech Stack:

Java - JavaFX

My Achievements & Certifications

View All My Certificates
Software Engineering: Software Design and Project Management
Software Engineering: Software Design and Project Management

Issued by: The Hong Kong University of Science and Technology

Date: 5/1/2025

Software Development
React Native
React Native

Issued by: Meta

Date: 4/4/2025

Programming
Introduction to Containers w/ Docker, Kubernetes & OpenShift
Introduction to Containers w/ Docker, Kubernetes & OpenShift

Issued by: IBM

Date: 3/19/2025

Get In Touch

I'm always open to discussing new projects, creative ideas, or opportunities. Feel free to reach out!