About

As a passionate software developer, my journey into the world of programming began in high school computer science courses, where I first dipped my toes into the intricate world of code. It didn't take long for me to realize that I loved programming and the endless possibilities it offered.

My academic journey saw me embark on a quest for knowledge, starting at the University of Waterloo. After a year of exploration, I transferred to the University of Alberta, where I diligently pursued my passion. In June 2023, I proudly earned my Bachelor's degree in Computer Science.

I am currently the CTO and part owner of DentHire, a startup based in Edmonton, Alberta. I joined the team in November 2023 as a Junior Software Developer and quickly moved into leadership after demonstrating my skills, ownership mindset, and ability to deliver results. Over the past two years, I've led the full-stack development of DentHire's core web application, which connects dental professionals with dental offices. This has included everything from designing and implementing new features, integrating third-party services, and optimizing performance, to collaborating closely with the founders on product strategy and user experience.

DentHire is now transitioning from a development-heavy phase into platform maintenance and a go-to-market strategy. While I remain connected to the company in a leadership capacity, I am seeking new opportunities where I can continue to grow my technical skills, work on diverse projects, and contribute to building innovative products from the ground up.

My expertise spans a wide range of technologies and programming languages, including Python, JavaScript, C, Java, as well as a deep understanding of database technologies such as MongoDB, MySQL, PostgreSQL, and SQLite. I thrive on the challenges of creating servers and APIs, seamlessly integrating third-party services, and developing web applications using HTML, CSS, PHP, TypeScript, jQuery, Bootstrap, TailwindCSS, React, Node.js, Next.js, Deno, and Django.

In the mobile realm, I'm well-versed in crafting applications using Java and Android Studio, React Native, and Flutter. Quality assurance is paramount in my work, and I have a comprehensive understanding of various testing methodologies to ensure robust, error-free applications. I also appreciate the significance of a user-friendly interface, with a strong background in UI design principles and practices.

My development process adheres to Agile methodologies, with a proficiency in Scrum and sprint planning. I excel in documenting the application development journey through diagrams and reports, ensuring clear communication and organized progress.

One of my key strengths lies in my ability to quickly adapt to new languages and frameworks independently, reflecting my unquenchable thirst for knowledge and growth.

I'm thrilled to share my journey, experiences, and projects with you as I continue to evolve as a software developer. Feel free to explore my portfolio to witness my passion and dedication in action.

Projects

Travel App

Inspired by my love for travel and exploration, I embarked on a personal project to create the ultimate travel companion app. The purpose of this app is to help users discover lesser-known local experiences, hidden gems, and last-minute activities - recommended by fellow travelers or locals.

This project is still in the planning stage, but I plan to use React Native to build and deploy the app on both iOS and Android platforms.

Here are some UI mockups I created to visualize the app's design and user experience:

Coffee Shop

Due to my passion for continuous learning and growth, I decided to learn next.js and continue to enhance my React skills by creating a coffee ordering application.

This project is in the early stages of development, but if you wish to view the current progress, you can visit the GitHub repository here.

Simple Chat App

To further my understanding of websockets and real-time communication, I embarked on a personal project to create a simple chat application.

This project allowed me to enhance my backend skills by developing a Node.js server that utilized the Socket.io library to facilitate real-time communication between clients. I used the Passport authentication middleware to implement user authentication, ensuring that only registered users could access the chat application. I also integrated express-session to manage user sessions.

To continue practicing my JavaScript and CSS skills, I decided on a frontend that uses simple HTML, CSS, and JavaScript to create a user-friendly interface. I also use the ejs templating engine to dynamically render user data on the client side.

View the source code for this project on my GitHub repository here. Run the project locally to see the chat in action!

List It.

Introducing List It, the ultimate list-making companion that adapts to your every need! Whether you're organizing your thoughts, planning a trip, or collaborating on a project, List It is your go-to app for seamless list creation and sharing.

Key Features:

  • Versatile List Creation: Craft lists for any purpose – from everyday tasks to grand adventures. Customize your lists with emojis, colors, and themes to make them uniquely yours.
  • Effortless Sharing: Share your lists with friends, family, or colleagues with just a few taps. Collaborate in real-time, ensuring everyone stays on the same page. No more confusion or missed items!
  • Editable and Viewable Grant editing access to collaborators so they can contribute their ideas or simply allow them to view the list. It's teamwork made easy!
  • Intuitive Interface: List It's user-friendly design makes list-making a breeze. Enjoy a smooth and visually pleasing experience as you bring your ideas to life.

Here are some sneak peeks of the app's development so far:

Tech Stack

  • React Native
  • Expo
  • Node.js
  • Firebase Authentication
  • Firestore Database

My Running Board

As a freelance fullstack developer, I collaborated closely with a client to elevate the functionality of their existing website. Their specific requirement centered around enhancing the interactivity of the map page. To achieve this, I harnessed the power of the Google Maps API, enabling users to drag and customize their routes, and providing the seamless option to open routes in Google Maps navigation.

In this project, I expanded my skill set by mastering PHP, skillfully combining it with my prior expertise in JavaScript and HTML to create a highly interactive map experience. One of the project's most demanding aspects was the implementation of an undo feature, a feature not natively supported by Google Maps. To address this challenge, I devised a sophisticated solution by utilizing a stack to track and store changes made to waypoints before committing them to the database. This not only ensured the seamless functionality of the map page but also provided users with a crucial ability to amend and revert their route adjustments.

Daycare Management

During my last semester of university, I had the opportunity to collaborate with a diverse team of student developers on a multifaceted mobile and web application project.

In this endeavor, I assumed the pivotal role of Scrum Master, guiding our team through each sprint with precision and dedication. Our primary mission was to collaborate with an external client, transforming their visionary concept into a tangible working prototype. This journey took us through the entire software development process, encompassing the inception of user stories, the creation of comprehensive diagrams, the meticulous design of code architecture, and the ultimate deployment of the application, facilitated by a robust continuous integration pipeline. You can view a demo of our application here.

In addition to my Scrum Master responsibilities, I actively contributed to the application's development by spearheading various features and functions. My focus was primarily on the frontend, where I undertook the development of the activity feed and the integrated camera. Furthermore, I skillfully programmed the integration of numerous endpoints into the frontend, ensuring seamless data flow from the presentation layer through the business layer, all the way to the database. This collaborative effort contributed significantly to the application's overall functionality and user experience.

I engaged with a wide spectrum of cutting-edge technologies throughout the project, each carefully chosen to address specific aspects of our development needs. Our mobile frontend was expertly crafted using Flutter, a robust and versatile framework. On the server side, we harnessed the power of Django, complemented by an administration webpage and a PostgreSQL database to manage and organize our application's core functionality. Deployment was made efficient and scalable thanks to Docker and the Cybera platform.

To ensure seamless collaboration and efficient project management, we relied on the dynamic capabilities of GitHub. This encompassed comprehensive code base management, issue tracking and assignment, the organization of our storyboard, and the facilitation of rigorous code reviews. Our use of these technologies not only streamlined our development process but also paved the way for a highly functional and cohesive final product. You can view our full design and project management documents here.