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
- Breadth courses: Dynamic & Linear Programming, Greedy & Approximation Algorithms, Advanced Data Structures.
B.S., Physics and Mathematics2023Stony Brook University, NY USA
- Upper-division Physics courses: Classical Mechanics, Statistical Mechanics, Electromagnetics, Intro to General Relativity, Intro to Particle Physics, Intro to Lasers, Senior Electronics Laboratory, and Senior Physics Laboratory experiments.
- Upper-division Math courses: Calculus, Linear Algebra, Formal Proofs, Real & Complex Analysis, Intro to Topology.
- Electrical and Computer Engineering: Circuits CAD (PSPICE), Laboratory, Microcontrollers, Digital Signal Processing.
High school2015Rowad Intl. School, Riyadh SA
- O-level IGCSE examination in: Physics, Mathematics, Chemistry, Biology, Computers, Business, and Arabic.
- A-level AS and A2 examination in: Physics, Mathematics and Chemistry.
Self-taught
- Physics and Mathematics: Intro to Quantum Electro Dynamics, Control theory, and Clifford Algebra .
- Computer Science: Algorithms, Coding patterns, Computer vision, Computer Graphics, Web development.
- Document writing: Scientific Latex reports, Code documentation, Digital Math and Physics proofs, Flowchart diagrams.
- Asset creation: Scientific visualizations, Coverart and Icon creation, 3D printing and some CAD.
Work Experiences
Software Engineer2024ACES-CO, Riyadh SA
- Work hours: 48 hours/week in-office
- Profession: Software Engineer for Telecommunications R&D
- Tasks: Understand the 5G O-RAN architecture, Automate the creation of virtualized 4G and 5G SA Core Networks and RAN, Write technical proposal for two large grants, Automate SIM card programming, Assist in a 16M SAR (~ 4.26M USD) 5G testbed RFP (request for proposal), Copy edit two IEEE Conference papers for finalized submission, Create a webapp for LAN speedtest via Websockets, Benchmark 5G network KPIs (key point indicators) at various parameters (frequency, bandwidth, MIMO, Tx/Rx gain, IQ compression).
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:
- Dynamic grid layout computation (LayoutEngi). Demo: omar-azmi.github.io/layout_engi_ts/examples/6/
- Dynamic clipping of an image-atlas, and applying bitmask onto it (JackedAtlas).
- Assisting tool for clearing a manuscript's background content.
- Assisting tool for template matching word-cutouts with their location on a manuscript page (github.com/omar-azmi/multi_template_matching_py).
- Manual creation (byte-by-byte) of size-optimized 1-bit PNG images for masks (IDAT Codec).
- Client-side resource caching with browser's IndexedDB.
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:
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.opusmedia files' metadata, and a.tararchive 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
kindof 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)