Oussama Gammoudi, Developer in Tunis, Tunisia
Oussama is available for hire
Hire Oussama

Oussama Gammoudi

Verified Expert  in Engineering

Full-stack Developer

Location
Tunis, Tunisia
Toptal Member Since
January 19, 2022

Oussama is a full-stack developer with over ten years of experience developing a wide range of applications and front ends and back ends for web, mobile, and desktop. He focuses on designing, implementing, and maintaining microservices solutions built with Angular and NestJS and using TypeScript and Rust in certain services. Oussama enjoys solving problems and facing challenges while using his knowledge of Kubernetes, Elasticsearch, MySQL, and MongoDB.

Portfolio

InstaPunchout
Rust, Web Development, HTML, CSS, cXML, Procurement, Full-stack Development...
Vurbis Interactive
TypeScript, JavaScript, Node.js, Angular, MySQL, MongoDB, Elasticsearch, Rust...
GetQuanty
Angular, JavaScript, TypeScript, Full-stack Development, Back-end, APIs...

Experience

Availability

Full-time

Preferred Environment

Visual Studio Code (VS Code)

The most amazing...

...thing I've built are a B2B eCommerce software and the PunchOut solutions.

Work Experience

Founder and Full-stack Developer

2022 - PRESENT
InstaPunchout
  • Connected procurement systems with eCommerce systems using Ariba PunchOut by parsing cXML files using Rust and connecting to several shops using plugins.
  • Built the app's front end using Seed, a front-end Rust framework for creating fast and reliable web apps with an Elm-like architecture.
  • Wrote WooCommerce and Joomla plugins that connect with InstaPunchout to support PunchOut.
Technologies: Rust, Web Development, HTML, CSS, cXML, Procurement, Full-stack Development, API Integration, Full-stack, Shopify, Shopify API, Back-end, APIs, SQL, Back-end Development, Next.js, HTML5, Pagination, Serverless, Webhooks, OAuth, CTO, REST APIs, JSON Web Tokens (JWT), GitHub, Enterprise Resource Planning (ERP), Front-end Development, Front-end, WASM, WebAssembly

Senior Full-stack Developer

2016 - 2022
Vurbis Interactive
  • Created a B2B eCommerce platform with Angular, NestJS, and Elasticsearch that supports millions of products, including variants and configurations.
  • Configured the CI/CD on GitLab CI, wrote the Dockerfiles and Kubernetes YAML files, and managed the infrastructure on Google Cloud.
  • Developed an import process using Rust that improved import speed by 20 times and managed GB files.
Technologies: TypeScript, JavaScript, Node.js, Angular, MySQL, MongoDB, Elasticsearch, Rust, Docker, Kubernetes, Google Cloud, GitLab CI/CD, NestJS, Full-stack Development, API Integration, Full-stack, Shopify, Shopify API, Back-end, APIs, CI/CD Pipelines, SQL, Back-end Development, HTML5, Pagination, Serverless, jQuery, Webhooks, OAuth, REST APIs, JSON Web Tokens (JWT), GitHub, TypeORM, Express.js, Enterprise Resource Planning (ERP), Angular Material, Front-end Development, Front-end, WebSockets, Microservices

Senior Software Developer

2016 - 2017
GetQuanty
  • Worked as a consultant to help convert an AngularJS 1 application written in JavaScript to Angular 2 written in TypeScript.
  • Created the foundation for the Angular 2 application in TypeScript and the bridge between it and AngularJS 1 so that both worked together to migrate the app one piece at a time.
  • Created a data aggregation service that uses data from MongoDB to generate daily and weekly emails.
Technologies: Angular, JavaScript, TypeScript, Full-stack Development, Back-end, APIs, CI/CD Pipelines, Back-end Development, HTML5, Pagination, jQuery, REST APIs, JSON Web Tokens (JWT), GitHub, Express.js, Front-end Development, Front-end

Freelancer

2010 - 2016
Freelance
  • Helped over 100 clients with different tasks ranging from CSS fixes to full web applications and mobile and web games development.
  • Solved all the issues without any outside help and rated with five stars.
  • Used different stacks and environments, including Flash, Node.js, Angular, Unity3D, and C#, while working on various projects such as building websites or single-page applications as a self-taught programmer.
Technologies: Angular, Flash, Unity3D, HaXe, HTML, JavaScript, C#, Back-end, APIs, Back-end Development, Game Back-end, HTML5, jQuery, OAuth, REST APIs, GitHub, Front-end Development, Front-end, Google Maps, FFmpeg

B2B eCommerce Store

https://wristers.nl
A multitenant Angular store with a Node.js back end. I built it with NestJS and TypeScript and backed it by MongoDB and Elasticsearch. The app supports instant search on millions of products and the PunchOut process.

Medical Practice Management App

https://app.eyada.tn
An offline-first Preact medical practice management app containing patients, calendar, waiting room, and drugs management system, including ePrescription and eCertificates. The app is oriented towards the Tunisian market and has an easy-to-use interface.

Async I/O Library for Rust

https://github.com/oussama/asyncio-rs
A proof of concept of an async I/O library for Rust, using IOCP on Windows and epoll on Linux. Its goal was to be used instead of thread-based networking in the standard library for better performance. Other libraries in the Rust ecosystem were created, such as Metal IO, which is why work on the library was stopped.

Web-GL Cross-platform Library

https://github.com/oussama/webgl-rs
The cross-platform is written in Rust with browser WebGL 2.0 as the back end, compiling to WebAssembly and OpenGL ES 3 as the back end for the rest of the platform.

My role was to keep a one-to-one API mapping with minor adjustments to make the platform safer and user-friendly without compromising performance.

TWAIN Client

https://github.com/oussama/twain
A TWAIN client library for Rust emphasizes safety with an API that uses sessions to prevent APIs from being called in the wrong order. It uses a bundled TWAINDSM.dll and leverages the C header to automatically generate the correct structures.

WordPress WooCommerce Plugin

https://wordpress.org/plugins/instapunchout/
Created a plugin to integrate PunchOut to WordPress WooCommerce and submitted it to the WordPress store. The plugin customizes the authentication flow and uses hooks to customize the experience.

Netsuite Integration

https://instapunchout.com
I created a process to deliver orders from procurement systems to NetSuite and pick up invoices and item fulfillments from NetSuite to send them back to the procurement system.
I then used Rest web service with both OAuth2 and OAuth1 for pure server-to-server communication and custom roles, used SuiteSQL for granular queries, and used SuiteScript to customize the Netsuite store.

Languages

TypeScript, JavaScript, Rust, Elm, SQL, HTML5, WASM, PHP, HaXe, HTML, C#, CSS, cXML, Python

Frameworks

Angular, JSON Web Tokens (JWT), Redux, Express.js, Angular Material, Next.js, Unity3D, NestJS, OAuth 2

Libraries/APIs

Node.js, Preact, React, jQuery, REST APIs, Shopify API, WebGL, OpenGL, OpenGL ES, TWAIN, WebRTC, NetSuite API, Google Maps, FFmpeg

Tools

GitHub, GitLab CI/CD, Flash

Other

Software, Programming, Full-stack, Web Development, Full-stack Development, API Integration, Back-end, APIs, CI/CD Pipelines, Back-end Development, Pagination, Webhooks, OAuth, TypeORM, Enterprise Resource Planning (ERP), Front-end Development, Front-end, WebAssembly, WebSockets, Progressive Web Applications (PWA), Game Back-end, Serverless, CTO, Input/Output Completion Ports (IOCP), epoll, Procurement, Solana, Smart Contracts, NetSuite

Paradigms

Microservices, REST

Platforms

Shopify, Docker, Kubernetes, Ubuntu, Linux, Visual Studio Code (VS Code)

Storage

MySQL, MongoDB, Elasticsearch, Google Cloud

2019 - 2021

Bachelor's Degree in Computer Science

University of the People - Pasadena, CA, USA

2015 - 2017

Associate Degree in Computer Science

University of the People - Pasadena, CA, USA

DECEMBER 2021 - PRESENT

Skill Certification: JavaScript Back-end Development

CodeSignal

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring