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: alinashabanova581@gmail.com; Bhairaw Aryan: baryan.edu@gmail.com; Chunhao Zhu: chunhaoz@yahoo.com; Claris Paz: crystalle.study@gmail.com; Zixuan Pei: peizx28@outlook.com
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: april20190710@gmail.com; Chris Chang: christopherchang150@gmail.com; Devon Friend: devon.fri.2000@gmail.com; Kulladit Udol: om5eth90d@gmail.com; Luka Rogic: rogluka@gmail.com
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: danielrjc99@gmail.com; Hasan Embabi: hembabi02@hotmail.com; Ilamparithi Imayavaramban: ilamparithi.i10@gmail.com; Ripdaman Malhans: rdmalhans02@gmail.com; Shibo Jin: shibojin.robin@gmail.com
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: davidzhangzuhao@gmail.com; Dingwen Wang: dingwen1909@163.com; Lihao Xue: xuelihaogpa4@gmail.com; Linxin Li: linxinl@student.ubc.ca; Mary Wong: marydingwong@gmail.com
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.
- 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.
- 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.
- 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.