Priya Jain


SWE @Microsoft, UWaterloo CS '23


Portfolio


About


A recent graduate from the University of Waterloo with a Bachelor of Computer Science and the Business Option, I thrive on solving complex problems and crafting genuine, user-focused solutions. I apply both theoretical insight and hands-on expertise to develop creative and impactful software.

I'm currently contributing to Edge Workspaces at Microsoft.

I've previously developed for Meta, Intelex Technologies, and Veeva Systems. I was also the Software Lead for WatLock, a design team at the University of Waterloo building an airlock for a Mars colony.

Predicting Forest Fires


I applied the machine learning regression Random Forest, which predicts the amount of land damaged by analyzing environmental data from the Fire Weather Index. I used Python with Pandas, Numpy, and Scikit libraries to prepare, train, and test this data with 95.08% accuracy.

I chose to employ Random Forest because each variable is independent from the other, and there are enough of these variables to create many individual decision trees. My dataset included hundreds of data points, but still needed become effective if tested with a relatively small amount of data. Thus, Random Forest became the most effective option.

Source

AI With Minimax


This project initially began as part of my formal education in my computer science class, but I elected to create an AI to play this game in addition to the multiplayer functionality.

I implemented the Minimax algorithm to create an AI to win or draw Tic Tac Toe every time the game is played. I used Java, with Swing and AWT to create an appealing UI.

Source

Angry Antarctic


I created 2D Unity game inspired by Angry Birds, using Unity’s physics engine to perfect object behaviour in space. This includes ball movement after the user launches it, chaos after the ball interacts with several other independent objects, and determining whether enough force was generated to defeat snowman objects.

I designed 10 levels of engaging gameplay with a peer developer. We determined programming tasks to be completed and divided them such that our individually-completed software could be integrated smoothly and efficiently.

Source

Mentorship


As an executive member of The Lions Byte club at my secondary school, I collaborated to plan several events that promoted software and computer science to young students. This included Hour of Code day, during which I mentored first-time coders and encouraged them to pursue several types of development samples.

I also planned two hackathons with my team. The first was for middle school students, during which I planned and ran a workshop to introduce Python and basic computer science concepts. I also mentored participants and judged final submissions. I performed a similar role at The Empire Strikes Hacks, a local hackathon for high school students. I performed a workshop to introduce web development, during which students created a web page from scratch.

Python Tutorial Source Web Workshop Source

Web Apps and Games


I built a dynamic, versatile metronome using JavaScript, jQuery, HTML, and CSS. The user is able to choose the tempo and beats per minute, as well as any lead-in bars to allow for extra comfort.

Source





Traverse is a 2D browser game using JavaScript and Phaser.JS that continuously generates random gameplay. The user attempts to remain oriented while navigating an unorthodox path, as the speed of the path traversal increases. All artwork is original.

Creating Traverse was a challenge in that Phaser.JS, the game engine, relies heavily on its community for documentation and troubleshooting. However, I learned to experiment and quickly learn new technologies through this process.

Source

WatLock Design Team


Watlock was a Sedra student design team at the University of Waterloo. We competed in UBC's Project Airlock competition to build a functional airlock for a Mars colony.

Before becoming the Team Lead and coordinating several teams across all disciplines, I served as co-lead for the Software Team, overseeing two projects. One project was constructing server communication methods using Arduino and C, integrating the main server with other components as the server and other projects reach completion. I also oversaw the UI project, which is building a UI for astronaut interface. Users of the airlock would be able to see the state of the airlock via data given from various sensors, and report emergencies. I was instrumental in recruiting new members, and contributed to the high morale of the team during the beginning of term when we were undergoing changes to our administration and timelines. I mentored and led 50 general members and project leads.

Accountancy Website Creation


This website is a responsive, professional business portfolio for a Markham accounting firm. It uses Bootstrap, HTML, and CSS, and serves to increase her market reach by being available online. I designed the site to her specifications, while applying creativity to achieve a modern and appealing UI, ensuring that her business's vision and attitude is reflected well in her online presence.

Source

Hackathons


I've learned many new technologies at several hackathons. Listed below are some of my earliest. My peers and I created a remote fast food ordering app prototype using Javascript, HTML, and CSS at Bonfire in August 2017. The user would be able to view fast food restaurants near them on Bon Appetit, and place their order online so that they would not have to spend unnecessary time in line at these vendors.

My team developed a motivational chatbot prototype using Python at Fraserhacks in February 2017. The goal of the app would be to assist the user in stressful situations, or stressful everyday tasks, such as homework. The app would regularly remind the user to complete healthy activities such as stretching or drinking water, and would interact with them during downtime to reflect on the user's mood. The chatbot would recognize the overall atmosphere of the conversation by detecting key positive or negative keywords, and react accordingly.

Local Hack Day was my first hackathon, taking place in Mississauga in 2016. My team created a protoype of a homework gamification website, where teachers could post homework questions and students could earn points based on speed of completing assignments and correctness. Starstreak is built using HTML and CSS.

Veeva Systems


I served as a software engineering intern at Veeva Systems, from May - August 2019. I mainly developed the front end for several products of Veeva Network.

I spearheaded the development of a product demo in React for Veeva Network's search and data management widgets, completing the project 30% faster than projected. I worked with the design team to create a pixel-perfect replica of their mockup of the demo. I integrated live updates fetched from the widget's API to be reflected on the UI of the demo site, as well. The site will be used by salespeople throughout the company to visualize the widgets in action.

I also implemented customizability for the UI of Network Explorer, a hierarchical graph visualization tool for healthcare entities and relationships used more than 9100 times monthly. My work allows users to define the complexity and look of their own data objects, to any scale. Users are able to define the number of relationships between any number of entities, the icons and colours to be associated with the entities, and the data attached to each object. This level of customizability is reflected in the entire Network Explorer UI as well as other features of Veeva Network.

I worked closely with a senior engineer to develop to interface of an interactive force-directed graph widget used to visualize complex relationships in healthcare, using Polymer and D3. Users can change the data associated with each node, which changes the look of the graph in real time. I added interactivity for filtering of which nodes to view on the graph at any given moment, and created a filter menu module compatible with all features of the widget. I also lowered loading times and data loads by creating loading screens using SVG.

Pocket Observatory


I created Android VR app simulating immersive night sky experience using Unity, C# at Hack The 6ix 2019, in a team of 3. The orbits use Unity's physics engine to give the satellite and the simulated Earth real mass. The app is meant for use with Google Cardboard.

GrowCeries


My team and I built a customer traffic data collector prototype using React, and the Google Maps API at Hack the North 2019. Grocery stores may attach sensors to their shopping carts and observe areas of high traffic around their shops. They could then use this data to charge vendors placed near areas of high or low traffic the correct amounts, perhaps updating variable costs in real time.

Source

Junior Achievement


I was a member of two youth startups, through the Junior Achievement Company Program. My first company, Iuvenis, sold jewelry and Tyvek wallets to donate a portion of profits to a local dog shelter. As a web developer, I was instrumental in designing a modern, attractive business website. Finanza was formed in 2017. Our company designed, wrote, and published a book to introduce financial literacy concepts to children. I was instrumental in the writing and editing of the book. I also increased customer engagement by designing and maintaining a business website with my supervisor.

I also worked closely with marketing, production, and finance to build a strong business strategy to create an appealing company brand, product quality products, and catalyze growth. This lead to an ROI of 242% within 7 months of operation.

Intelex Technologies


I was an intern at Intelex Technologies, in a mobile software development role. My internships were during January - April and September - December 2020.

I modified the local react-native-image-picker module to convert all HEIC, HEIF, TIFF, and BMP files into JPEGs. This was to accomodate users of browsers that cannot support these types. I implemented resizing for these file types as well, in order to follow current precedents for maximum file sizes and dimensions. Each image file name was preserved throughout the conversion for Android users. This feature was implemented in React Native, Java, and Objective C, and tested with Ruby and Cucumber.

I updated the user interface of the Intelex app's QR code login feature. This was implemented inside the RNCamera component, leveraging the StatusBar component and the SafeAreaView component for iOS.

I reduced the BDD automated testing time of the mobile app by 10% by implementing various optimizations to the testing suite. I genericized the image picker feature that is used in testing, replacing a redundantly specific and time-consuming testing module, and allowing future tests to be implemented more quickly. I also implemented scrolling within the tests involving the native iOS photo gallery using WebDriverAgent, allowing tests to be performed on a greater set of data.

I worked with several developers to migrate our testing suite to Appium from Cucumber. I also reduced redundancies and dependencies within the testing suite for greater modularity. I conducted preliminary research on deferred deep linking and provided my team with recommendations for beginning an implementation.

MealRelief


My team and I built an anonymous food donation app at Hack The 6ix 2020. Businesses in the food industry, such as restaurants and grocery stores, can donate their extra meals to users of the app.

A map marking a sample of applicable restaurants near the user is loaded using the Azure Maps API. The front end is built in React, and the back end uses a REST API which is built in Django with Python 3 and SQLite.

Source

Microsoft


I was a SWE intern from May - July 2022. I contributed to the Edge Enterprise browser on the Information Protection and Isolation team.

I designed and implemented a utility that integrates the Personal Data Encryption (PDE) API in Edge. PDE leverages Windows Hello biometrics to perform encryption, offering greater security than protection methods that simply use the user's password to back encryption. This contributed to Microsoft's vision of going passwordless across all products. I integrated PDE in Edge using C++, WinRT, WRL, and concurrency utilities exposed by Windows. I also leveraged Base64 encoding in Chromium to ensure that no data loss occurs when using the PDE API.

The current protection method uses the Data Protection API (DPAPI). Users ineligible to use PDE continue to use DPAPI to encrypt data until they become eligible and restart Edge. Users who have data protected with PDE but do not log in with Windows Hello will have their encrypted data inaccessible until they log in securely again. The PDE encryption key is persisted but cannot be decrypted in this case, to ensure data confidentiality, and that the data is available during subsequent login sessions.



Currently, I am a software engineer for Edge Workspaces, a distributed, collaborative browser mode for Edge.

I'm working to enable support for private data within shared Workspaces by creating a personal tab type using C++, TypeScript, and Fluid Framework.

I also collaborated with my team during the Microsoft Hackathon to leverage Bing AI to reliably generate valid URLs relevant to a user’s query and automate Workspace generation. I also designed and implemented a loading page to increase user engagement and clarity, as the AI can take up to a minute to generate a response.

In addition, I increased feature adoption by partnering with the marketing team to augment an API to be able to launch Workspaces within Microsoft advertising media, increasing the visibility of the feature. I also led an initiative to increase Workspaces' security and reliability by designing automated fuzz tests, leveraging C++ and LLVM libFuzzer.

Meta


I was a SWE intern from September - December 2021. I added search capabilities to Saved Items on the Facebook mobile app.

I used React Native, GraphQL, Hack, Java, Kotlin, and Objective C, as well as Mercurial for version control. I used Relay to implement pagination to sustain reliable performance for each load, regardless of how much data is available to be loaded. Much of the Facebook codebase used deprecated versions of the load functions used, so I experimented and implemented pagination using novel methods.

I integrated the search bar in the Saved navbar natively on iOS and Android. I leveraged internal and external resources and broadened the scope of the codebase to which I contributed.



I was also a SWE intern from September - December 2022. I improved the Quick Promotion (QP) ranking algorithm by leveraging trends in historical impressions per hour for high quality posts. I experimented with several implementations of this optimization lever, including methods created in collaboration with Product Growth Analysts. This resulted in increased engagement by 0.40%, with higher quality content shown to users on average.

I also added scalability to the QP optimization levers by designing and launching a modular lever structure. In addition, I redesigned the internal QP coordination tool to increase control granularity and persist data across the internal dashboard.

I focused on Better Engineering practices and improvements throughout my internship. I made several dozen BE improvements to my team's codebase, including leading a team-wide Quality Week initiative to increase code coverage and documentation. This led to an addition to 21 wiki links within our codebase, using a new Hack tool dynamically linking docs with classes and interfaces.

Flock


Flock is a mobile app that allows groups to decide which movie to watch using a Tinder-style swiping decision method. A right swipe indicates interest, and if every group member is interested in the same movie, it is selected.

The app was built using React Native, Express.js, SQL, and CockroachDB. Expo was used to preview and debug the work. React Native Paper was leveraged to implement material design. The app was hosted on Google App Engine. The database stored 6860 movies with about 25000 rows to hold all data.

It won Best Use of CockroachDB at Hack the North 2020++.

Source