Artificial Intelligence and Software Systems

Project PB-48: Real-time Market Data Collection System

Project Client: Tartigrade Limited

Project Description: Our client, Tartigrade Ltd, is a privately held company that develops software tools to scan financial markets for investments opportunities that will yield the highest returns. Currently, big businesses such as major banks tend to develop their sophisticated financial data collection tools in house. This leaves smaller entities such as small hedge funds, educational institutions, and individual traders the challenge of not being to access these tools nor do they have the resources to develop their own.

The purpose of this project is to design and develop a secure, reliable, and scalable market data-gathering system which will increase the accessibility of market data for users of all skill levels and enhance their financial decision making.

We have designed a web and desktop application that communicates with the Interactive Broker’s Trader Workstation API to get the latest and most accurate historical market data. Users can make customizable requests that allow them to see the performance of stocks, options, and futures. Requests are served using an algorithm that minimizes the number of requests made to the API while maximizing the data returned to the user. To access these tools, users simply create an account and pick a subscription plan based on their needs.

Project PB-49: Automated Invoice Processing App

Project Client: Tartigrade Limited

Project Description: Invoice processing is currently a very manual and inefficient process at many companies, including our client, Tartigrade Limited. As a solution, our team has developed a web application that automates this process, using a user-friendly interface, secure storage, and comprehensive back-end routing of invoices to ensure an efficient workflow. 

Alina Shabanova:; Bhairaw Aryan:; Chunhao Zhu:; Claris Paz:; Zixuan Pei:

Project PB-50: Talent Acquisition Automation

Project Client: Tartigrade Limited

Project Description: In the fast-paced world of business, finding the right talent can be like searching for a needle in a haystack. Our client, Tartigrade Ltd. (TTG) faces the daunting task of sifting through overwhelming candidate pools, gauging interest, and manually shortlisting the ideal candidate based on their experiences. Our team has developed a centralized Talent Acquisition Automation System that brings clarity and efficiency to the forefront of talent acquisition. Our web app also allows applicants to undergo self-paced assessments and showcase their relevant skills and experiences through personalized profiles.

By addressing the inefficiencies inherent in traditional recruitment methods and enabling TTG to manage a large number of applicants efficiently, the project contributes to TTG’s overall operational effectiveness. Moreover, the project allows TTG to gain independence and control over its hiring process and build a dense and informative site, drawing a parallel with the web apps used in the trading industry.

In summary, this project presents an opportunity to innovate in the field of digital recruitment and create a solution that addresses a real-world problem TTG faces. Hence, we reduce the time and resources spent on managing job applications, enabling TTG to focus more on its core operations.

Project PB-66: Slice-based Debugging for Java Development Environments

Project Client: UBC ECE, ReSeSS Research Lab, Dr. Julia Rubin

Project Description: Debugging programs is a complex and time consuming process.  Automated techniques and tools have been developed to aid in the debugging process.  One such technique is slicing: a process whereby only lines of code relevant to a bug are filtered from the other, extraneous code.

The ReSESS lab at UBC has been researching the efficacy of slicing in improving programmer productivity.  Our group has developed a plugin for the IntelliJ coding environment which integrates slicing into the programmer’s workflow.  This will facilitate ReSESS’ research by making slicing more accessible for use in studies.

A key innovation we have made is support for different slicers.  Our group has formulated a protocol by which a slicer provided by anyone may be used as a backend for our plugin.  One such capability that our plugin supports is as follows: some slicing techniques require an arbitrary set of additional parameters over that of the default, and our plugin can request these from the user, and supply them to the slicer backend.  GUI input methods bespoke to different input data types have been developed.

The plugin’s GUI also features interactive representations of a slice.  Ported over from last year are code editor augments based on slice results.  A new functionality for this year is a visual representation of a slice as a graph.  The graph is traversable, allowing users to follow the path a potential bug may flow through during program execution.

Our plugin’s extensible backend framework will hopefully accelerate future development and experimentation with new slicing techniques, the results of which can now be visualised through powerful new representations in the GUI.

Project PL-10: Exploring Uncharted Chemical Space of Environmental Exposures Using Graphical Neural Networks

Project Client: University of British Columbia

Project Description: Our team has collaborated with Professor Tao Huan and Professor Xiaoxiao Li from the UBC Chemistry and ECE department to harness Graph Neural Networks (GNNs) for predicting chemical properties. This initiative focuses on predicting Tandem Mass Spectrometry (MS/MS) data for molecules, providing insights for researchers and professionals in chemistry and biochemistry.

By transforming raw MS/MS spectra from datasets into a graph format suitable for GNN modelling, our initiative enables the prediction of MS/MS spectra without reference data, streamlining molecular analysis and supporting advancements in fields like drug discovery. Overcoming the technical challenge of processing complex graph-structured data, our major contribution lies in developing an innovative data processing pipeline and integrating various GNN models—including GraphSAGE, GIN, GCN, GAT and Graph U-Net—for MS/MS prediction. 

April Ju:; Chris Chang:; Devon Friend:; Kulladit Udol:;  Luka Rogic:

Project PL-40: Leveraging LLMs For a Course Question-Answer Repository

Project Client: UBC Cloud Innovation Centre

Project Description: A problem educational institutions face is that many of their courses are taught across multiple platforms such as Piazza, Canvas, specific course websites, etc. As a result, course information is fragmented across these platforms, requiring instructors to ensure that information is consistent across all of them. Moreover, when a student has a query regarding the course material, current solutions like Piazza require the student to wait for someone to respond to their post – the average question on Piazza is answered in 14 minutes. This process has a long latency and does not always result in correct answers, as sometimes when a student responds to another student’s question they may answer incorrectly. 

The main goal of our project is to help students find answers to their course-specific questions in a timely manner and save instructors’ time from answering student queries that can be addressed by course material. We solved the technical challenge of deploying the entire project on AWS in a cost-effective way and creating the cloud formation for our project so that other institutions can easily deploy our project.

Daniel Johnson:; Hasan Embabi:; Ilamparithi Imayavaramban:; Ripdaman Malhans:; Shibo Jin:

Project PN-05: Immersio Immy Chat

Project Client: Immersio

Project Description: Immersio is a startup venture formed in 2020, dedicated to enabling language instructors or schools to easily expand their customized courses online and help students practice conversational, interactive language skills. Part of the learning process for the end users involves practicing conversations with the AI tool called “Immy” chatbot. The existing chatbot currently only provides students a platform to practice conversational skills with the chatbot without any adaption to user-speaking levels. learners can pull up a menu to consult the conversations of the lessons they are enrolled in as a guide for engaging with Immy. However, Immy is not currently being prompted to help learners speak those specific conversations. The modified version of the Immy resolved this issue by integrating, OpenAI Whisper, ChatGPT, Amazon Polly, and an adaptive learning microservice to generate adaptive responses that would reflect the user’s fluency, sentence detail level, vocabulary level shown in the user prompts. Users now can also choose a course and practice speaking the dialogs taught in that lesson. The Immy chatbot would act as one of the characters in the specific lesson to engage in role-playing conversations.

David Zhang:; Dingwen Wang:; Lihao Xue:; Linxin Li:; Mary Wong:

Project PN-08: Wet GPU Software Stack

Project Client: Samnian Software Inc.

Project Description: This project provides relief for High Performance Compute (HPC) centers by offloading compute jobs to a distributed compute network. HPC centers are equipped with powerful computers used to process complex computations. However, due to high demand, compute jobs can be queued to execute on HPC centres for multiple hours or days causing significant delays. By providing a distributed compute network where queued jobs can be offloaded, users of HPC centers do not have to wait for significant amounts of time to get the results of their computations.

There are three major aspects to the project which we helped build on a virtualized environment that simulates a network of grid computing.

  1. The software to be used as an interface/plugin to existing High Performance Computing tools installed in research/educational/lab institutions. We prototyped a service that is capable of interacting with a Slurm computing cluster and can detect pending jobs in this system. The pending jobs are packaged along with their dependencies and necessary files and shared with the cloud infrastructure built for our client. 
  2. The heart of the software system is what is commonly referred to as a controller machine which oversees any incoming requests for jobs that are offloaded from HPC centers to be run in our distributed system. At this level, information about the jobs that are run are tracked. This part of the system is also responsible for controlling a rapid mechanism for the synchronization of possibly very large files between the network of our client and the HPC centers. For efficient job scheduling, the controller runs a workload management tool that monitors the workload of the workers nodes – we discuss these next. 
  3. All the job traffic that goes through the component mentioned in part 2 is sent for execution into the grid system of worker machines that communicate with the controller through our proposed scheduler. Job execution is performed in a containerized mode for better isolation from the machine resources. This was chosen as the best solution to overcome any security concerns for these worker machines.

Harjot Grewal:; Denis Lalaj:; Phi Lam:; Jacob Yang:; Jerry Shao:

Project PN-42: Product Image Generator to Create Variation of Product Images at Scale (Using AI and Content Generation Engines)

Project Client: Esparkify

Project Description: There are millions of active sellers on online E-commerce websites such as Amazon. In such a saturated market, it is difficult for many retailers to stand out and sell their products. One of the main reasons for this is a lack of diverse and captivating product images. With limited visuals, retailers can’t catch their customers’ eye, and miss the chance to showcase the unique story of their product. However, creating advertisements often means high costs, long photoshoots, and complex editing tasks. Many retailers don’t have the time, money, or skill or create the visuals they need.

Our project is an A.I. powered Product Image Generator that seeks to provide a simple alternative to traditional advertising methods. The Product Image Generator is a website where users can upload images of their product and transform it into diverse output images that can be used as advertisement photos on E-commerce sites such as Amazon. All they need is a photo of their product and a text prompt describing what they want the image to look like. Our product image generator can then automatically create several new output photos according to that prompt, each containing the product from the original image.

By using this tool, retailers can save the time and money they would have spent creating manual ads, and instead easily generate the images they need to attract customers to their product.

Project PN-54: Efficient HW Implementation of DNN Based Frame Rate Up Conversion (FRUC) For Real Time Video Transcoding

Project Client: NetInt

Project Description: Frame Rate Up Conversion (FRUC) increases the frame rate of videos by inserting interpolated frames into them. State-of-the-art FRUC techniques use AI, but they are computationally expensive. We achieved a 30x speedup to make them feasible for data center usage. Our hardware-efficient FRUC deep neural network models run in real time on small custom processors without sacrificing much video quality. Real-time video interpolation is no longer too expensive, too slow, or too far-fetched: our custom FRUC models can save bandwidth costs for your company and produce smoother videos for your customers.

Janishjit Singh Bedi:; Jared Chan:; Henry Huang:; Patrick Creighton:; Sam Schweigel:

Project SF-21: Video Streaming Using Cloud Technology

Project Client: UBC Cloud Innovation Centre

Project Description: DropZone is a user-friendly platform designed to streamline the process of video assessments. Collaborating with the UBC Cloud and Innovation Center, we have developed a hassle-free video recording and submission process, eliminating the need for a user to manually upload files. This platform is ideal for doctors seeking to conduct video check-ups with patients, educators requiring students to submit video assignments, or anyone looking to collect videos from many users.

Users, such as students or patients, receive unique assessment links via email, where they can easily view the instructions and record a video entirely through the browser in just a few clicks. Assessment creators have a folder-like work space where they can create new assessments, manage and view submissions, and create groups of uploaders.

Our platform utilizes AWS, leveraging Amazon Cognito for account management, S3 for video storage, and the Aurora MySQL database. For scalability and ease of maintenance, we rely on a React frontend.

One major technical challenge that we solved was implementing a face blurring option for users, in order to provide extra privacy. All the face blurring is done locally, so all footage will be blurred before it leaves the user’s device.

Eran Deutsch:; Aryan Gandhi:; Harrison Mitgang:; Jayden Wong:; Stanley Zhao: