ammar@web:~$
~ $ whoami

~ $ cat introduce.txt

> Hi! I'm Ammar!

> I like to build software and write about my thoughts and experiences.

> Graduated from the University of Waterloo with a BASc in Engineering.

~/experience $ cat history.log

  1. [May 2025 - Aug 2025] · Tech

    Hapbee

    Software Engineering Intern

    For my 6th co-op term, I worked as a software engineering intern on Hapbee’s IoT-integrated mobile application and led a full rewrite of their backend to improve scalability and maintainability.

    [Flutter, Dart, NestJS, ASP.NET, C#, PostgreSQL, Auth0]

  2. [Jan 2025 - May 2025] · Tech

    Mantle

    Software Engineering Intern

    For my 5th co-op term, I joined Mantle as a full-stack developer, building frontend and backend features for a fintech platform that uses generative AI to generate and manage cap tables from legal documents.

    [React, Golang, TypeScript, PostgreSQL]

  3. [Jan 2024 - Aug 2024] · Tech

    Nokia

    Software Engineering Intern

    For my 4th co-op term, I worked at Nokia on the Network Services Platform, focusing on building and refining reusable UI components.

    [React, JIRA, Java]

  4. [Sep 2022 - May 2023] · Tech

    ArenaX Labs

    Frontend Developer

    During my 3rd co-op term, I worked as a frontend developer on a Web3 fighting game, implementing UI/UX features and contributing to game functionality built with THREE.js.

    [React, TypeScript, THREE.js, Web3]

  5. [Feb 2022 - Jan 2024] · Tech

    FragranceBuy

    Data Analyst

    In January 2022, I worked part-time as a data analyst, performing large-scale pricing and traffic analysis, optimizing shipping cost calculations, and identifying web-scraping activity across 10,000+ products.

    [Python, Pandas, Excel]

  6. [Jan 2022 - May 2022] · Tech

    HIRE Technologies

    Software Engineering Intern

    For my 2nd co-op term, I worked as a QA engineer, contributing across QA, frontend, and backend systems and implementing features including AWS Lambda–based workflows.

    [React, Node.js, GraphQL, AWS, Lambda, DynamoDB, Serverless]

  7. [May 2021 - Aug 2021] · Tech

    University of Waterloo

    Frontend Developer

    For my 1st co-op term, I worked as a web developer, translating designed content into production webpages and building JavaScript automations used across 100+ course pages.

    [HTML/CSS, JavaScript, Bootstrap]

  8. [May 2020 - Aug 2021] · Teaching

    Academy for Mathematics and English

    Math/Science Tutor

    After starting university, I worked part-time as a math and science tutor, teaching students from grades 2–12 and tracking academic progress through assessments.

    [Interpersonal, Conflict Resolution]

  9. [May 2020 - Aug 2020] · Teaching

    Durham District School Board

    Summer School Tutor

    In the summer of 2020, I worked as a math tutor, assisting Grade 9 and 10 instruction and providing one-on-one support to struggling students.

    [Interpersonal, Conflict Resolution]

  10. [Aug 2019 - Aug 2020] · Customer Service

    Tim Hortons

    Team Member

    After moving to Whitby, I worked part-time at Tim Hortons, gaining experience in a fast-paced environment while handling customer service and bakery shifts.

    [Food Handling, Interpersonal, Efficency]

  11. [Jan 2017 - Aug 2019] · Sales

    Mosaic North America

    Brand Ambassador

    My first job in grade 9 was with Mosaic North America, where I ran in-store brand campaigns, set up product displays, and drove sales for major consumer brands.

    [Food Handling, Marketing, Interpersonal]

~/projects $ ls

$ grep
  • Qalam Programming Language

    Wrote my own interpreted programming language from scratch. Including scanner, parser, resolver and interpreter. While I followed a tutorial by Robert Nystrom called Crafting Interpreters, I derived my own syntax using Urdu inspired terminology. I also used Rust instead of Java in order to fuel the learning process.

    [Rust]

  • A CLI written in Rust that allows me to query ChatGPT directly from the terminal with pretty markdown rendering (yes, markdown in the terminal). It also supports saving and using previous messages with the queries!

    [Rust]

  • Flowtimer

    Pomodoro reimagined. Instead of restricting yourself to set work intervals, allow yourself to enter the flow state by timing yourself working for as long as you want. Breaks are calculated as a ratio of time worked, being rewarded for working longer! Web app created with React, TypeScript and ChakraUI

    [TypeScript]

    [React, Vercel, Tailwind]

  • As a learning exercise, I created a completely independent (zero dependencies) chess engine using TypeScript. The engine handles executing and calculating valid moves, checks, checkmate, etc. The engine was packaged up and published as a public npm package.

    [TypeScript]

    [Node.js, Rollup]

  • Custom GitHub Action which compiles Typst documents to PDFs. Uses the official Typst Docker image to run the latest version of Typst using NodeJS.

    [TypeScript, Typst]

    [Docker]

  • Data Driven Resume

    Using Typst, I created a data-driven resume. All data is housed in a yaml file which is read and parsed by Typst. From this, custom functions are defined to render the data into my resume! CI/CD is setup to automagically create a new release whenever there is a tagged update! Tags are semantically versioned with a custom git hook!

    [Typst]

  • Custom GitHub Action created to send me SMS notifications. Used to send myself SMS notifications when a GitHub Action has completed.

    [JavaScript]

    [Github API, Twilio]

  • Pathfinding algorithm visualizer created using TypeScript and React.js. Algorithms such as A*, Djikstra’s and Greedy Best First Search can be visualized. Procedural mazes can be generated using the recursive backtracking algorithm.

    [TypeScript]

    [React, ChakraUI]