About

I am a Senior Software Engineer with over a decade of experience. I have a Master of Computer Science degree from the University of Ottawa. I am proficient in using JavaScript, TypeScript, Java, and PHP, and I am familiar with Golang and Python.


I also have expertise in deployment, scaling, maintaining, and monitoring of modern applications in cloud environments (AWS, Docker, Kubernetes, CI/CD, Orchestration, Observability, Capacity planning, etc).

Projects

Enigmatic AI

A privacy-conscious AI chat app for iOS and macOS running offline using embedded LLMs (Phi 2 and Llama 3), developed with llama.cpp and Apple MLX libraries.

Enigma, ChatGPT Sidebar

An AI sidebar assistant for browsers, powered by GPT-4.

sql-puzzle

A type-safe and composable query builder for Sequelize, written in TypeScript.

ts-app-starter

A utility CLI to scaffold TypeScript projects configured with ESLint and Jest out of the box.

Search based test generation using Genetic algorithms

Automated search based test generation using Genetic algorithms and EvoSuite.

Triage of Github issues

A classifier to triage issues inside Github issue tracker using Python and BERT.

Elementary cellular automaton

An implementation of Elementary cellular automatons with 4 and 8 states.

Symboleo DSL

Symboleo is an ontology-based DSL recently introduced by the researchers of the CSAM lab at the University of Ottawa for formal specification of legal contracts. The Symboleo ontology defines legal concepts in an abstract structure to reduce linguistic ambiguity, and leverages state machines to define the rules governing these concepts. Moreover, Symboleo contributes to creating accurate and consistent contract specifications while supporting design-time verification and runtime monitoring.


I was responsible for designing and implementing the grammar of Symboleo. I used the EBNF notation to define the grammar and implemented a parser and compiler using the Xtext framework. The development toolchain includes an IDE with compile-time validation of contracts, code completion, and highlighting.

Symboleo2SC

Symboleo2SC is an automated code generator that converts Symboleo specifications to smart contracts. It was built using SymboleoJS, which is an implementation of the Symboleo ontology and state-machine semantics in a reusable JavaScript library.


Currently, Symboleo2SC is capable of automatically generating Hyperledger Fabric smart contracts. The generated smart contracts are instantly deployable for monitoring and compliance checking of legal contracts.

A Blockchain based marketplace

A blockchain based marketplace developed with Hyperledger Fabric.

Publications