Welcome to P-ai’s Fall 2023 Projects!
Read through summary information to get an introduction to each project. Click on the Full Proposal buttons to view more detailed outlines of each project.
Applications are hosted through the button above and will close on Wednesday, 9/13 at 11:59pm PST.
SWE DIVISION
p-lnl3d (Industry Project)
Partnered with San Diego Startup LNL3D
Software development FOR 3D Printer SYNCHRONIZATION
In this project, we will be developing source code for the company LNL3D in order to allow one 3D printer head to take over the other when the filament has run out. We will be utilizing Klipper firmware as parts of Python and we will also be testing it on a physical 3D printer unit.
Klipper documentation
Python language
Member requirements: Python, willing to learn Klipper language
p-reset
personalized self care web app
This project will create a fully functional self care web application with AI-based recommendations for personal wellness, incorporating features such as break reminders, habit and mood tracking, journaling, and calendar integration. Combining both software engineering and traditional data science elements, we will also implement smart scheduling of wellness activities, use NLP techniques to analyze journal entries, and develop personalized visualizations from user data. The aim is to have an assistant that learns from a user’s past activity to make smart recommendations and optimize time management to include self care tasks.
JavaScript, Python
SQLAlchemy, PostgreSQL, React.js, Flask, Docker, Git
supervised & unsupervised learning, RNNs, sentiment analysis, LDA, clustering
p-wikiracer
Developing an Wikiracing algorithm and website using word vectors
Wikiracers (https://wikiracer.io/) is a game where players are given a start and end page on Wikipedia and challenged to go from the start page to end page in as few clicks as possible. Our goal is to build an algorithm that can reliably find a short path between any two wikipedia pages and is competitive with human players. We will also develop a website for the algorithm.
Tech stack: - SentenceTransformers
Wikipedia API - Pytest
concurrent futures module (for testing hundreds of games at the same time)
Flask
Figma
HTML
CSS Project member requirements
CS51 or equivalent Python experience is required - For web team, web development experience is a plus
p-classwise
The all encompassing 5C course scheduling app
We will simplify and enhance the process of course scheduling at the 5Cs with an app that centralizes all of the scattered information and functionalities needed during registration by accounting for major requirements, course reviews, and past courses of interest, while employing auto-scheduling and course recommendation algorithms. The culmination of the project will be a deployed easy to use web-app that will act as a one-size-fits-all solution for 5C students’ course registration needs. As our optimistic goal, we would like to build some advanced scheduling and course selection algorithms to permanently change the student’s registration experience.
We will have positions to work in all stages of full stack app development working with Flask as our web framework. You will gain experience working through the development process from back-end databases and user authentication to data collection through web scraping, working with ML models, and more.
This project will use an assortment of libraries such as BeautifulSoup4, scikit-learn, and pandas, and explore technologies such as Flask, pytorch, and Firebase.
This project is designed so students will be able to further prior knowledge working with specific libraries/techniques or introduce them to new steps of the development process.
Due to the scope of the project, Introductory CS/Python experience is highly recommended. Experience with python and writing code for extracurricular projects or internships is a plus.
p-geolocation
Solar Snapshot: Sun-Based Geolocation
The goal of this project is to develop and deploy a web app which provides an estimation of the user's location once given two timestamped images of the sun. The main focus of this project will be to focus on SWE fundamentals while also incorporating astronomy concepts to cultivate a sense of wonder and fascination for the subject.
Python fast-api
Opencv
React
AWS EC2
Docker
Member Requirements: Intro to CS!
Astronomy experience/interest is a plus, but everything will be learned!
AI/ML DIVISION
p-ollution
Connecting Air Pollution and Public Health
Climate change meets P-ai meets public health. Air pollution is a serious problem in many parts of the world whose damage is worsened by climate change. P-ollution harnesses the power of public data to quantify the health damages caused by air pollutants in Seoul, South Korea and create visualizations to communicate their impact.
Tech Stack: Python (pandas, matplotlib, seaborn, scikit-learn + TBD), streamlit, Git,
Requirements: Technical member: Intro Python or equivalent (ability to solve leetcode easy problems given unlimited time).
Non-Technical member: Experience or interest in environmental justice, climate change activism, atmospheric chemistry, public policy, or any related field is a plus.
Experience in graphic design or project pitching is also a plus. However, p-ollution seeks any background as long as the applicant can explain how it relates to the project in their application. *
P-ollution seeks applicants not coming from conventional technical backgrounds. P-ollution also encourages people of color, gender minorities, people with disabilities (whether physical or mental), CS beginners, and anyone who feels a technical project is out of their reach to apply. Please don't talk yourselves out.
p-stars
Unsupervised Clustering of Variable Stars
The cosmos is alive with change: supernovas, gamma ray bursts, pulsars. We aim to unlock the secrets of the universe by taking advantage of the large amounts of data astronomers have collected on variable stars, which have a noticeably varying brightness over time, through developing novel data processing and machine learning methods. We have previously built a supervised algorithm with 85% accuracy. This new model will be unsupervised, in that the algorithm must learn to discern the unique types of stars without explicit output classes it’s trying to match; successful deployment on a well-studied dataset will provide us with the opportunity to study contact binary systems, which are an active area of astronomy research.
Construct unsupervised clustering algorithm to classify types and sub-types of variable stars.
Will begin with a labeled dataset that we trained our supervised model on since this gives us a positive control; if successful, we will study novel datasets of great use to astronomers, including contact binary systems. Thus there is a real, possibly publishable, research opportunity here.
Two primary approaches: statistical and other astronomical indices to process timeseries brightness data for stars (lightcurves) -- need to develop a new metric for this space; tree model inspired by large language models using slices of lightcurves as tokens.
A lot of the code to process the lightcurves will be custom written (the datastructures), but we will take advantage of the code we have already written for processing as well as the package 'sklearn' and others to deploy a variety of existing clustering algorithms (k-Metoids, DBSCAN, OPTICS) once we can represent our data in a meaningful way.
Coding to be done in Python. - No prior coding or astrophysics experience required; main requirement is a love for learning and a willingness to try.
p-stonks
Predicting Stock Price with Recurrent Neural Networks
In this project, our objective is to harness the temporal dynamics and sequential patterns inherent in stock price data through Recurrent Neural Networks (RNNs) to create a predictive model. We aim to provide a clear understanding of the capabilities of RNNs in stock price prediction while benchmarking our model's performance against the state-of-the-art prediction methods.
PyTorch
sklearn
matplot
Recurrent Neural Network
LSTM
p-boxing
Real-Time Hit Classification using Neural Networks and other Machine Learning Models
This project aims to create a Machine Learning Model that can correctly classify/detect punches in real-time from a real boxer while practicing. The main deliverable of this project will be a model that in real-time can detect and classify punches into one of the following categories: left hook, straight left, right hook, straight right, etc. By the end of the project, we hope to deploy the model for a real-time live demo. The project will involve the implementation of Support Vector Machines, K nearest neighbors, Cat Boost, Recurrent Neural Networks, Neural Networks, and Convolutional Neural Networks on Accelerometer and Video Data of fighters. This project will involve utilizing Tensorflow, Pytorch, Pandas, Matplotlib, Seaborn, and other ML related Python Libraries alongside collecting accelerometer data.
Learn about the theory and implementation of Neural Networks, Recurrent Neural Networks, Convolutional Neural Networks, Support Vector Machines, and a whole other host of Machine Learning Models.
Utilize Pytorch, TensorFlow, ScikitLearn, and matplotlib, to visualize data, and train Machine Learning Models.
Deploy a Machine Learning Model that does hit detection live (live demo!) -Work with video and accelerometer data!
p-recipe
Identifying Ingredients for Recipes with Deep Learning
We will be creating an application that is able to give recipe recommendations just based on a picture of items in a fridge. We will use machine learning to identify and classify the items, and then utilize a database of recipes to match up the users’ ingredients to possible recipes. In addition, we will be creating an intuitive and fast user interface to present the product.
Python, Javascript
Tensorflow, Github, Gradio, React.js, Flask
Neural networks, CNNs, computer vision, UI design
Member requirements: enthusiasm and basic Python knowledge are all that is required! Individuals of all skill levels are encouraged to apply