~ $ 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.
~/blog $ ls -lt | head -6
[view all↗]- The night I stopped being afraid2025-11-24Insights/[Psychology, Childhood]
- Nanosensors, Raytracing, and Fourth-year Capstone2025-11-12Academic/[Physics, Simulations]
- Why and How I Built My Own Programming Language; Qalam2025-01-16Tech/[Low Level]
- Approximating Drink Cooling with PDEs2024-12-11Academic/[Math]
- Islamic Prayer Times and their Calculation2023-05-09Religion/[Islam]
- An Ontological Proof of God2023-03-13Religion/[Islam]
~/experience $ cat history.log
- [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]
- [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]
- [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]
- [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]
- [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]
- [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]
- [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]
- [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]
- [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]
- [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]
- [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
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]
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]
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]