Hi, I'm Ahmed 👋
Results-driven Full-Stack Developer building web, mobile, and AI-powered applications for clients across Canada and the United States.
AZ

About

Results-driven Full-Stack Developer with 2+ years of experience building web, mobile, and AI-powered applications for clients across Canada and the United States. Skilled in React.js, Next.js, React Native, Node.js, JavaScript, TypeScript, and RESTful API development, with experience delivering customer-facing products, headless CMS solutions, secure backend systems, and AI chatbot platforms.

Skills

React.js
Next.js
TypeScript
JavaScript
HTML5
CSS3
Tailwind CSS
React Native
Expo
Node.js
Express.js
Nest.js
MongoDB
Git
GitHub
Docker
OpenAI
Strapi
Push Notifications
My Projects

Check out my latest work

I've worked on a variety of projects, from AI-powered platforms to mobile health apps. Here are a few of my favorites.

AI-Powered ATS Resume Optimizer

Developed an AI-powered resume optimization platform using Next.js, TypeScript, and OpenAI APIs to analyze resumes, extract PDF content, detect keywords, and generate ATS-friendly recommendations with an intuitive user interface that provided actionable resume feedback and personalized optimization suggestions.

Next.js
OpenAI
TypeScript
Shadcn UI
PDF Parsing

Touch Grass — Health Reminder App

Built a cross-platform mobile application that encouraged healthier habits through personalized activity reminders using push notifications, background scheduling, and local storage based on user behavior and inactivity patterns. Published the application on Google Play Store and maintained ongoing updates and bug fixes.

Expo
React Native
TypeScript
Push Notifications

E-Commerce RESTful API

Developed a RESTful API using Node.js, Express.js, and MongoDB with MVC architecture, implementing JWT authentication, bcrypt password hashing, and role-based access control (RBAC) to secure endpoints and sensitive data.

Node.js
Express.js
MongoDB
JWT
RBAC
Contact

Get in Touch

Want to chat? Just shoot me an email and I'll respond whenever I can.