Work

Projects

Case studies focused on outcomes, tradeoffs, and technical execution.

completed

miniRT Ray Tracer

C Developer (42 Project) · 2022-12 – 2023-02

Implemented a simple ray tracer in C with support for multiple objects, lights, and material behavior.

Problem

Build a full rendering pipeline from scratch and generate realistic scenes using only minimal libraries.

Approach

Implemented ray/object intersections, shading, camera controls, transformation handling, and bonus features such as multithreading, normal mapping, and image export.

Outcomes

  • Delivered a functional ray tracer that renders configurable scenes from input files.
  • Added support for multiple lights, materials, and object-space transforms.
  • Implemented bonus rendering capabilities including BMP output and camera switching.

Technologies

CpthreadMakefile
completed

DataGrid BVue

Open-Source Contributor (Vue / TypeScript) · 2022-06 – 2023-10

Vue.js datagrid plugin with editable cells, rule-engine filtering, pagination, and model decorators for Parse Server backends.

Problem

Building data-heavy admin interfaces on top of Parse Server required repetitive boilerplate for tables, filters, and inline editing with no reusable solution.

Approach

Developed configurable grid components with auto-detected field types, built a rule-engine filter system with schema-driven query building, and implemented TypeScript decorators for model-to-grid mapping.

Outcomes

  • Shipped a plug-and-play datagrid with pagination, sorting, and async data providers.
  • Built a composable rule-engine filter supporting AND/OR logic and custom field types.
  • Added i18n support (English / French) and extensible custom field viewers and editors.

Technologies

Vue.jsTypeScriptBootstrap-VueParse Server

Screenshots

DataGrid BVue screenshot
completed

MiniShell Terminal Runtime

Systems Programmer (C) · 2022-03 – 2022-06

Built a Unix-like shell in C with parsing, process orchestration, pipelines, redirections, and signal handling.

Problem

Create a reliable command interpreter with predictable behavior across edge cases while working close to POSIX primitives and process semantics.

Approach

Implemented lexical analysis and parsing for shell syntax, process execution trees, heredoc and redirection handling, and robust signal behavior across interactive and child-process contexts.

Outcomes

  • Delivered a functional shell runtime with pipes, redirections, and built-ins.
  • Strengthened systems-level understanding of process lifecycle and memory discipline.
  • Built a strong foundation for debugging low-level runtime behavior.

Technologies

CPOSIXUnixMakefile
completed

FdF Wireframe Renderer

Systems Programmer (C) · 2021-10 – 2021-11

Built a C program that renders 3D wireframe maps from height data files with interactive controls.

Problem

Translate 2D map data into clear 3D projections while working with low-level graphics constraints and strict project rules.

Approach

Implemented map parsing for heights and hex colors, Bresenham-based line drawing, projection transforms, and keyboard/mouse controls for zoom, rotation, and translation.

Outcomes

  • Rendered maps with variable line lengths and custom color data.
  • Added multiple color palettes with point-to-point gradient interpolation.
  • Implemented alternate projection views (top, right, and front).

Technologies

C

Screenshots

FdF Wireframe Renderer screenshot
FdF Wireframe Renderer screenshot
completed

GoPlan Finance Utils

Open-Source Contributor (TypeScript) · 2021-10 – 2024-11

TypeScript utility library for Parse Server backends with type-safe base classes, cacheable queries, encrypted object handling, and general-purpose helpers for fintech applications.

Problem

Parse Server's JavaScript SDK lacks strong typing and structured abstractions, forcing teams to re-implement common patterns like secure storage, query caching, and currency handling across projects.

Approach

Built typed Parse Object base classes with ACL helpers, a cacheable query layer with mutex-based concurrency control, encrypted field storage via CryptoJS, and utility modules for money, currency, arrays, strings, and object traversal.

Outcomes

  • Provided a typed BaseObject and SecureObject layer for safer Parse Server data access.
  • Implemented CacheableQuery with async-mutex to avoid redundant network calls.
  • Shipped reusable currency, money, and crypto utilities used across the GoPlan Finance platform.

Technologies

TypeScriptParse ServerNode.jsCryptoJSJest