Generated on:
2025/10/03

please view in desktop or landscape mode.
the page is not optimized for mobile.

Unique monthly
visitors: retrieving...
β˜€οΈ πŸŒ“ πŸŒ™
Light Auto Dark

Omar Azmi

🏠 Lake Grove, NY 11755

πŸ“ž US: +1 (631) 565-4823

πŸ“… Last updated: 2025/10/03

[email protected] πŸ“§

github.com/omar-azmi 🐱

github.com/oazmi 🐱


Hi there! I am a part-time Computer Science graduate student seeking opportunities that are centered around Research, Development, and impactful Problem-Solving. My prior academic background was in Physics and Mathematics, but I am now gradually developing a formal background in Computer Science after programming for over a decade, focusing mostly on image segmentation analysis and web-development. I am eager to apply my skillset in tackling real-world analytical, engineering, and computational problems, while honing my knowledge further.

Tip

To view a more detailed and up-to-date version of this resumΓ©, visit: resume.oazmi.com

Personal Information

Nationality: United States Born: Sep 1997, Colarado USA
Languages spoken: English, Urdu, and Arabic Location preference: On-site, Hybrid, or Remote
College grade: 3.24 / 4.00 GPA High-school grade: 3.68 / 4.00 GPA

Education

M.S., Computer SciencePresentCU Boulder, CO USA

B.S., Physics and Mathematics2023Stony Brook University, NY USA

High school2015Rowad Intl. School, Riyadh SA

Self-taught

Work Experiences

Software Engineer2024ACES-CO, Riyadh SA

Infrastructure Engineer2025Marive, Brooklyn NY

  • Work hours: ~20 hours/week hybrid
  • Profession: Server Infrastructure Engineer for a Remote Video Editing business.
  • Tasks: Substituting server-grade computers with consumer-grade hardware, Reducing the number of computers by running multiple virtual machines on each, Attaching multiple eGPUs to each computer for virtualized passthrough, Achieving a consistent LAN speed of 10Gbps across each node, Enabling a central SSH tunnel and portal for remote employees, Integrating a multi-port KVM solution to each node for complete boot-time remote access.

Long-term Ongoing Projects

Visual textual comparison: Leading the frontend and backend development of a website that aims to provide a visual comparison of historic manuscript-text writings over time.

Subproblems involved:

Reactive Physics experiment visualization: A Jupyter Notebook extension project for bringing reactivity to computations done in python, in order to have the visualizations update dynamically.

Subproblems involved:
  • Topologically ordered reactive signals (TSignal).
  • Developing IPythonWidget in typescript (javascript).
  • Implementing a physical units system.
  • Reactive HTML and SVG renderer library (Hzone).

Subject annotation frontend tool: A web project for creating a client-side tool for annotating regions of interest.

Subproblems involved:
  • Condition based flood filling (ROI Flood).
  • Serialization of drawings.
  • Command pattern for undo and redo operations.
  • Ability to consecutively handle 3 forms of input (mouse, touch, and stylus pen).

Open Sourced Projects Authored

While working on my long-term projects, I have authored several open source libraries that aid with their development.

More info:

The projects listed below are free of external library dependencies, unless stated otherwise in their description. The TypeScript projects are all based on the Deno runtime, rather than NodeJS. As such, the codebase is much cleaner than a typical Node project. Furthermore, all TypeScript projects utilize esbuild for transpilation and bundling into JavaScript.

TSignal
typescript reactivity library
Aug 2023 – Present github.com/omar-azmi/tsignal_ts
omar-azmi.github.io/tsignal_ts

A state based reactivity system, akin SolidJS, but with with topologically ordered updating mechanism, unlike SolidJS, which does not respect topological ordering, resulting in multiple redundant firings of nodes in a single update cycle.

Features:
  • Reactivity scales linearly to the number of edges in your dependency graph, unlike SolidJS, which has the potential to grow square of the number of edges.
  • Architected with a "Plug-in" mindset, which enables you to easily implement your own reactive state classes, and also eliminate the dead code of unused state classes when minifying.
  • Ability to create multiple isolated reactivity contexts, instead of being bound to a global context.
  • Tech stack: Deno and esbuild for minification of distribution versions, TypeDoc documentation site generator.
Magnitudes faster than SolidJS's update cycles.
  • On an Intel i5-6200U laptop (running Deno), a benchmark of arithmetic computation graph with 9 vertex (3 of which are roots, and 1 leaf) and 11 edges, can recompute 100000 sequential signal updates in (average time):
    • 103ms when topological-order caching is enabled, and the script is cold-booted
    • 76ms when topological-order caching is enabled, and the script is warm-booted
    • 330ms when topological-order caching is disabled, and the script is cold-booted
    • 257ms when topological-order caching is disabled, and the script is warm-booted

FastDev
python webserver library
Mar 2023 – May 2023 github.com/omar-azmi/fastdev_py
pypi.org/project/fastdev-py

A development webserver, built on the FastAPI http-library, that transpiles source files on-the-fly when requested.

Features:
  • Allows you to reference your source files in your HTML directly using relative path.
  • This enables web developers to test their code in the browser without either:
    • having to transpile manually first
    • having to rely on a NodeJS webserver with hot-reloading (e.g. NextJS), which would break your FastAPI routing
  • Currently has two preprocessors for transpiling source files "in-memory" without cluttering your directory with temporary files:
    • Deno + esbuild based typescript (".ts", ".tsx", ".jsx") transpiler
    • SASS ".scss" transpiler
  • In addition, it caches the transpiled result, and only invalidates it if the source file is modified.

Hzone
framework agnostic jsx/tsx
Mar 2024 – Apr 2024
github.com/omar-azmi/hzone_ts
omar-azmi.github.io/hzone_ts

A framework agnostic HyperScript for rendering JSX/TSX components with their reactivity intact. In fact, you can embed the JSX of one framework inside the JSX of another framework by pushing a new renderer into the context.

Features:
  • Ability to dynamically change framework environments (aka zones) through a stack based system, which allows this library to be extended to practically any framework, and it also nullifies JSX parsing ambiguities.
  • Option to use two types of JSX property syntaxes: 1) symbol based, 2) prefixed inline attributes.
  • Has full HTML and SVG JSX highlighting on IDEs. Made possible by scraping MDN and W3C via a custom script.
  • Ported frameworks include: Vanilla HTML, SolidJS, and TSignal.

FBIcodec
typescript serialization library
Dec 2023 – Mar 2024
github.com/omar-azmi/fbicodec_ts
omar-azmi.github.io/fbicodec_ts

A general purpose library for building invertible binary serializers, or any kind of invertible data transformation.

Details:
  • Uses a simple invertible interface upon which the entire library is built on.
  • Uses composition of smaller invertible codec to generate larger invertible codecs.
  • Gives all transformational freedom to the coder, while also forcing them to model their data parsing in terms of smaller unit chunks that are serialized by smaller codecs. This allows for modular codec designs, suited for maintainability and linear scaling.
  • Examples in the codebase include encoder and decoders for: .png, .jpeg, .ogg, and .opus media files' metadata, and a .tar archive creator and editor, in addition to custom serializer of json-like structured data.
  • Successor to my older schema-based serializer library: github.com/omar-azmi/byte_codec_ts (2022).

ROI Flood
python flood filling library
Nov 2022 – Dec 2022 github.com/omar-azmi/roiflood_py

An ND-flood filling library that allows the use of arithmetic conditioning for pixels/voxels (think of fragment shader).

Details:
  • Flooding occurs in chucks, so that matrices larger than the memory can be processed chunk by chunk. And chunks unreachable by the flood never get processed.
  • Allows you to start your flood with multiple seed pixels points, or even along a line segments.
  • Underneath, it utilizes skimage.segmentation.flood, which is slow for large images and cannot do conditional logic (only operates on bitmasks). Which is why we process everything in chunks to significantly speed up the flooding.

JackedAtlas
typescript sprite atlas library
Jan 2023 – Feb 2023 github.com/omar-azmi/jacked_atlas_ts

Asynchronously generates sprite images out of an atlas when provided with a json of the sprites' locations and bitmasks.

Features:
  • Provides an interface for creating atlas-jsons.
  • Can generate size-optimized bitmasks by utilizing 1-bitdepth PNG images, which are generated by my other library: IDAT Codec, since such PNG images cannot be encoded by the browser natively.
  • Valuable for computer vision, where regions of interests need to be extracted and displayed.

IDAT Codec
typescript 1-bit png library
Oct 2022 – Dec 2022 github.com/omar-azmi/idat_codec_ts

A png encoder and decoder for sub 8-bitdepth images (1, 2, and 4).

Details:
  • Useful for generating extremely tiny masking images which can be embedded into json.
  • Browsers cannot natively encode PNG at sub 8-bitdepth, which is where this library comes in handy.
  • Used in JackedAtlas for saving the masks of regions of interests.

LayoutEngi
typescript layout computation
Jul 2023 – Apr 2024 github.com/omar-azmi/layout_engi_ts

A reactive layout computation engine with two modes: FrameSplit and Grid.

Details:
  • The FrameSplit layout allows one to describe their frame's rectangles as a series of cuts (frame-splits) from one of the 4 sides of the parent.
  • The Grid layout allows one to create frame cells that are synced in positioned with respect to all other cells in the same row and same column.
  • FrameSplit can generate layouts where each child frame's direct dependence is only on it's parent frame's axis from which it was split away from. This can be thought of as 1D dependence.
  • Grid layout, on the other hand, generates cell-layouts with 2D dependence, since both axis are involved.

Github Aid
web browser extension
Dec 2023 – Feb 2024 github.com/omar-azmi/github_aid_ts
chrome webstore link

A simple web browser extension that displays repository file and folder sizes on github.com.

Details:
  • Unique internal tooling scripts, which can transform a pure typescript project into compiled browser extension.
  • The tooling takes care of nuances of extension development, especially those that come with Manifest V3.

Async Promise
ruby asynchronicity library
Sep 2024 – Oct 2024 omar-azmi/async-promise-ruby
rubygems.org/gems/async-promise

A Ruby library that provides Javascript-like asynchronous promises to the single threaded synchronous Ruby runtime.

Details:
  • The promise based architecture greatly simplifies a ruby developer's software logic when time-consuming blocking operations are involved (network, io, hashing, etc...).
  • Has over 40 unit tests to test individual methods, various well-thoughtout combinations, and edge cases.
  • Supports Javascript-like propagation and handling of errors/exceptions (errors are raised only when waited for).
  • This library was materialized when I was developing a simple S3-like storage with multiple backend storages (FS, AWS S3, Sqlite3) in Ruby-on-Rails. In addition to performance gains, It became far easier to reason about the asynchronous logic of my service application when every backend's wrapper class was made to respond with a promise.

Socks
typescript websocket library
Aug 2024 – Sep 2024 github.com/oazmi/socks

A Typescript library that provides a very versatile abstraction for two-way websocket network communication.

Details:
  • Communication handlers are described by providing a specific kind of message to intercept, and multiple handlers can be grouped as a part of a plugin under some namespace.
  • Binary data exchange is also possible by setting the anticipated binary data handler on the receiver side.
  • The library makes it easy to write the client and server logic of a certain plugin in one single file, allowing you to easily reason how the messages ping pong. Using a javascript bundler with treeshaking capabilities will allow one to strip away the server logic from the client distribution code.
  • Contains example plugins for client and server time-synchronization (using a method that resembles IETF RFC 5905 NTP), and also contains a plugin for a very accurate network throughput speedtest, consistent with results from industry standard iperf3 for speeds under 5.0 Gbps.

Tooling projects 2023 – 2025

I often create custom build tooling solutions that are project structure agnostic, in order to save time as my projects grow.

This resumΓ©, for instance, is written in markdown, and then rendered to webpage through a script.

Some of the build-tools, plugins, web scrappers, and general utility libraries I've written can be found in the links below:

kitchensink β€” build-tools β€” andenoid β€” w3c-scrapper β€” esbuild-deno β€” esbuild-loader β€” esbuild-css β€” esbuild-html

Coding and Software Proficiency

Programming languages:

  • Highly proficient in: TypeScript (JavaScript), Python, C#, Matlab, Haxe, Lua, GLSL, HTML, CSS
  • Moderately proficient in: Mathematica, SQL, Scala, Ruby, C++, D-lang, Rust, Go-lang, C

Experiences:

  • Image and Vision: Segmentation, Template matching, Alignment, Region of Interest bound-boxing/discovery
  • Layout computation: Horizontal, Vertical, and Grid layout algorithms, Flex (overflowable) and Multi-Cell spanning Grids
  • Serialization: Parsing and Repacking binary data in OOP fashion, seamlessly and invertibly, along with schema
  • Graph theory: Topological ordeing of DAG, Schedule cycles, Update propagation route, and Reactivity
  • Publication: Copy editing two IEEE Conference papers to prepare finalized versions
  • Grants: Prepare a successful 1.33M USD grant proposal for ACES, Jointly work on an unsuccessful 25M USD grant
  • Telecommunications: Setting up private end-to-end 5G and 4G Radio Access Network (RAN), Programming SIM cards, In-depth knowledge about Open RAN (O-RAN) and Open Radio Unit (O-RU) subsystems
  • Network: Sever-Client HTTP request handling and routing, REST API modeling, Pydantic models (for GraphQL and REST), Websocket communication abstraction, Homebrewed LAN speedtest webapp (similar to iperf3)
  • Tensors: ND-Array computation and computation-optimization/reduction, Einstein summation convention, Bitmasking and Subarray dividing to prevent memory overload
  • Graphics: WebCanvas, WebGL, WebGL2, FragShaders, Sprite extraction from Atlas image, Realtime image bitmasking
  • Software: Website development, Browser Extension development
  • Tooling: Create tools to enhance developer-experience, including: writing bundling scripts, writing on-client-demand compilation by backend-server, caching compilation in-memory
  • Grammar and Compilers: writing a toy language that is parsed and then unparsed (transpiled) to other target languages. Compiler is designed entirely with a plugin-style modular mindset

Frameworks:

  • Computational frameworks: NumPy, Scikit, OpenCV, MatPlotlib
  • Graphics frameworks: PixiJS, Raylib
  • Backend Web frameworks: Deno, Node, FastAPI, Flask, Ruby-on-Rails
  • Frontend Web frameworks: SolidJS, Astro, Svelte, TSignal/Hzone (personal framework)
  • Testing frameworks: Jest, Deno, RSpec (ruby), Github Actions for CI/CD automation
  • Documentation frameworks: TypeScript TypeDoc, Python Sphinx, Ruby YARD

Software Skills:

  • UI Prototyping: Figma, TeleportHQ
  • CAD and Circuits: Fusion 360, KiCad, PSPICE
  • Documents and Office: LaTex, Markdown, Typst, Word, Excel, PowerPoint, and Access
  • Image editing: Photoshop, Illustrator, and Inkscape
  • Flowcharts generation: Draw.io, Mermaid markdown graphs, Graphviz
  • Language Parser Generator: Antlr4
  • Hacking: Assembly scanning & injection with Cheat Engine, Wireshark network sniffing, MITM attack with MitmProxy
  • Game Development: some experience with Blender 3D, and Unity 3D
  • Coding environment and IDEs: VS-Code, Matlab, Git
  • Operating Systems: Windows, Ubuntu (linux), Proxmox (virtual machine host)