Spring 2026 EL/R Project Offerings
Curbit - Zaid Arshad
Openings (4)
Description
Every year, millions of people around the world spend over 958 hours individually on social media. Existing screen-time apps are easy to bypass and ultimately rely on willpower and discipline, something that’s hard to maintain against apps like Instagram or Snapchat, designed to keep you scrolling.
Curbit is a mobile app designed to stop your social media usage in a unique way. Whenever you get the urge to scroll, a friend or family member can either block your usage on-demand or grant you temporary access.
Curbit is built with a modern stack consisting of TypeScript, React Native, Node.js, PostgreSQL, and tRPC. This project will look amazing on resumes for when it comes time for internship hunting or new grad applications. You will be working in a fast paced environment, similar to a startup. You'll learn how to build a real world mobile app, deploy services on a VPS, set up CI/CD pipelines, and much much more
Tech Stack:
React.js, TypeScript/JavaScript, Node.js, OpenAPI, Express.js, PostgreSQL. Potentially React Native + Expo + Tamagui.
Skills:
Experience working with websites in any capacity. Comfortable with HTML and CSS. Taken CSE 115 & CSE 116. SQL experience is a bonus.
Modular LED Video Wall - Nicholas Myers
Openings (4-6)
Description
The CSE department is developing a large, affordable, modular LED Video Wall that can be custom-built to perfectly fit any location. We plan to deploy it in the hallways of Davis Hall to modernize our facilities and impress visitors. We currently have a highly configurable canvas server (C++), microcontroller client (C++), web server (Flask/Python), web client (React/TypeScript), and a 2x2 ft LED wall.
Our goal for fall 2026 is to:
- Build and deploy a larger LED video wall in the hallway of Davis Hall (with more pixel-dense and power-efficient LED panels)
- Improve reliability at higher frame rates (60+ FPS)
- Improve the web user interface for content management
- Implement an intuitive "live editing" mode
Skills
C++, computer graphics (such as OpenCV basics), micro controllers (ESP32), basic electronics, woodworking is a bonus You don't need to have all of these skills, but you should be excited to learn some of them!
Data Widgets and Random Functionality - Oliver Kennedy
Openings (4)
Description
When most people think about data management systems, they think of SQL, and that's true... but many high end software packages, from simulation engines, to CAD, to games, feature data management layers that are designed and implemented through the same ideas. This project will develop, in Rust, a library of building blocks for a data management engine, abstracting tasks like: (i) Page and record layout, (ii) Memory management, (iii) Simple expression evaluation logic, (iv) In-memory and on-disk data structures, ... and more.
Students taking this project should have experience working with low level languages like C (CSE 220), and familiarity with functional programming (CSE 305). The initial phases of this project will mirror Advanced Data Structures (CSE 350). Data Modeling and Query Languages (CSE 460), and Database Systems (CSE 462) are both helpful, but not required.
Students taking this project will... - Learn Rust - Learn how to organize data for efficient access - Learn how to measure the performance of a system - Get down into the low-level fiddly bits of a software system - Build a tool that can be used by anything from an OS, to a game, to professional software
Unfold Studio - Christopher Proctor
Openings (4)
Description
Unfold Studio is a web application for reading and writing interactive stories, used in middle- and high-school CS and English/Langauge Arts classes in several US states and overseas. Unfold Studio allows users to write interactive stories in a programming language called Ink, and to interact with one another via common social media affordances.
Unfold Studio is set to be used for a national AI writing competition and the team will be focused on ensuring the infrastructure is ready for it. This includes performance and scalability testing, deployment, and content moderation. The project will also involve building relevant features, both on the front and back end, and studying user interactions and implementing analytics. Other tasks would include bug fixing, code refactors, maintaining compliance with child privacy laws, and technical documentation.
Unfold Studio (https://unfold.studio) is a web application for reading and writing interactive stories, used in middle- and high-school CS and English/Langauge Arts classes in several US states and overseas. Unfold Studio allows users to write interactive stories in a programming language called Ink, and to interact with one another via common social media affordances. Unfold Studio is set to be used for a national AI writing competition and the team will be focused on ensuring the infrastructure is ready for it. This includes performance and scalability testing, deployment, and content moderation. The project will also involve building relevant features, both on the front and back end, and studying user interactions and implementing analytics. Other tasks would include bug fixing, code refactors, maintaining compliance with child privacy laws, and technical documentation.
Skills:
Experience in Python. Knowledge of Django and Postgres is a bonus. Any experience with performance profiling, scaling, and DevOps is also appreciated
Encrypted Storage Resistant to Compromise - Marina Blanton
Openings (3)
Description
The core of the project will be developing a system for encrypted storage where the decryption key is split among multiple devices and compromise of a device with a partial key does not lead to disclosure of the encrypted content. The cryptographic component will be written in Rust and thus the project involves learning Rust programming.
The long-term goal includes developing user interfaces for major operating systems and major types of mobile devices to permit a user to store partial keys on different devices. Additional features will include provisions for re-keying in the event of a device compromise as well as key backup and recovery.
As this involves development of security software, the project will follow best security development practices with code review and security-related testing.
Skills:
Exposure to security concepts and/or cryptographic libraries is a plus.
AI Energy Optimization - Asif Imran
Openings (4)
Description
We aim to design and develop a tool that will analyze popular ML frameworks like pytorch, tensorflow, dusk, pandas, etc and will be able to calculate gather data at the method level to estimate energy consumption and carbon emission for big data workloads leveraging those frameworks. Next, we would like to us ML itself in the tool to suggest how making changes to the structure of the code can improve the energy usage for the same workload. Overall, we are planning to design an automated refactoring tool that will refactor from the perspective of energy optimization and not only code quality. The team needs to have knowledge on software engineering processes like requirement engineering, software quality assurance and testing, python language, abstract syntax trees (AST) and software documentation. We can divide the project in the following phases:
- Phase 1: Identify the attributes in ML frameworks which contribute to energy consumption. These can be specific methods, classes, etc which consumes significant energy during execution.
- Phase 2: Build a software that will automatically execute workloads on the ML frameworks and collect energy data at the GPU level. Gather this data ta the method level.
- Phase 3: Use ML to train the software to suggest refactoring of ML frameworks to optimize energy usage.
- Phase 4: Execute automatic refactoring of the codes based on the feedback of phase 3.
Expanding Capabilities of SMARTEn Metagenomic Workflows - Jaric Zola
Openings (4)
Description
Metagenomics is the study of DNA obtained directly from an environment — for example, air, water, soil, the human body, or even the International Space Station. Imagine a biological sample — perhaps taken from a patient with an unexplained illness, or from a lake whose ecosystem is collapsing for no apparent reason. We can extract all the DNA from such a sample and then sequence it. DNA sequencing converts each biological DNA molecule into a corresponding string of ACGTs, which we can store in a text file. The key questions then become: what do these DNA strings represent? From which organisms do they originate? What functions might they perform? If we can answer these questions, we may be able to identify a culprit that is making our patient ill or causing the collapse of our lake. This is the job of metagenomic workflows — software tools that enable us to extract, process, analyze, and visualize data from metagenomic samples.
The SCoRe Group has developed and maintains SMARTEn — a software platform featuring metagenomic classifiers like Coriolis and SKiM, written in modern C++ and Rust and tailored for mobile devices. A key element of these classifiers is their efficient management of the reference database and their ability to perform classification in step with a DNA sequencer. The reference database is a large collection of known DNA sequences (for example, we know the ACGTs that make up the DNA of humans, E. coli, and thousands of other organisms). By comparing unknown DNA to the sequences in the reference database, we can identify the organisms from which the unknown DNA most likely comes. The ability to run in step with a sequencer is critical for real-time metagenomic studies.
In this project, we seek to extend the SMARTEn platform with various new capabilities — for example, new DNA indexing techniques, new client/server tools for exposing metagenomic workflows to end-users via a convenient GUI, and new visualization tools to summarize classification results. To realize this project, your team will first learn the basics of metagenomic workflows, and then execute a complete project — from the design phase all the way to software deployment — that will extend one selected capability of SMARTEn. SMARTEn is open source with a substantial user base, and successful execution of your project will culminate in pushing your contribution into production in SMARTEn
Find a Mechanic - Josh Khreis
Openings (4)
Description
Find a mechanic of FAM for short is a service based webpage and app with the goal of becoming a doordash and/or instacart of trades and services. As of right now we’re focusing on the mechanics trade due to it being the largest and having year round work.
This software has 3 core portions. A marketplace webpage for a shop to administer and delegate time, work, and resources internal to customer issues and communicate and do the entire workflow process with customers. The other two portions are an app that has two uses. 1st use is for a worker of the shop to have work delegated to them from the shop webpage that allows them to update on progress of a vehicle and a user facing app that allows them to find a shop of their desired niche by reviews. The user can interact with the shop from start to finish from the app.
As of right now FAM is nearly finished as its most basic core tenets. It still needs more features and some things built into it listed below.
- Changes/builds depending on customer feedback
- UI improvements (consider using UI library)
- Build/expand database (better reporting and analytics)
- Add to the calendar
- bug/glitch fixing
- Securing and consolidation of the code
- potentially adding payment system
This is what we’re planning on for the foreseeable future as we attempt to start demoing with various shops and students to test out. As more issues trickle in we believe those will help build a better process.
Our tech stack as of right now is AWS, React Native, PHP, MySQL,CSS3, and Expo.
We have a small team willing to help and guide in all aspects. We’re willing to help on all aspects including making sure our team is taken care of. We are also willing to consider all ideas that can potentially fix or better the software.
Material Microstructure - Olga Wodo
Openings (6)
Description
Over the ages, new materials have driven innovation and shaped human civilization. Today, materials science is entering a new era powered by machine learning (ML) and artificial intelligence. To enable these technologies, material structures must be represented in ML-readable formats. GraSPI, a software developed at UB, addresses this challenge by converting graphical representations of materials into descriptors that can be used by ML pipelines. These descriptors are critical for designing next-generation technologies such as batteries, solar cells, bioelectronics, and biomaterials.
This project is not just about translating code. It’s about building a Python-native package for a real-world scientific application. Students will gain hands-on experience in modern software engineering practices while contributing to a tool that accelerates innovation in energy and healthcare.
What You’ll Learn
- Python Package Development: Learn how to structure and publish a PyPI-ready package.
- Documentation with Sphinx: Create professional, auto-generated documentation.
- Modern Development Tools: Work with GitHub, Linux, and best practices for collaborative coding.
- Graph-Based Algorithms: Implement and optimize algorithms using NetworkX or integrate Boost via boost.Python.
- Real-World Impact: Apply your skills to a project that supports ML-driven design of advanced materials.
Automated Mapping for Indoor Navigation - Roshan Ayyalasomayajula
Openings (6)
Description
Indoor wireless localization—particularly using Wi-Fi—has become increasingly widespread. Notably, IEEE Task Group 802.11bf is actively working to standardize Wi-Fi-based sensing and localization. Many learning-based solutions have demonstrated the potential to achieve sub-meter localization accuracy, which holds great promise for enabling robust indoor automation. However, challenges remain in terms of deployability, including concerns about generalizability across different environments and the potential for privacy violations.
While data-driven machine learning models are the most popular approach to achieving high-accuracy localization, there is still a pressing need to improve their adaptability and precision in real-world scenarios.
In this project, we will explore the use of computer vision techniques and graph-based methods to automate the transformation of static floor plans into interactive maps. These enhanced maps can be integrated into indoor navigation applications, supporting more intuitive and scalable deployment of localization systems.
Skills:
Online Data streaming, Cloud Data Storage, Online Processing, Machine Learning, Signal Processing
Choreographic Programming - Luke Ziarek and Andrew Hirsch
Openings (4)
Description
Choreographic programming aims to simplify distributed systems / concurrent systems programming by allowing a programmer to specify the system in its entirety - participants, their computations, and communication patterns. From this high level choreographic program, we can synthesize concrete implementations for each node in the distributed system or each thread in the concurrent system.
The team will be responsible for expanding the capabilities of our compiler for a choreographic language. Students will start by learning choreographic programming and write test cases and sample programs in the language. Students will then build in syntax highlighting for both emacs and visual studio. Students will also have the ability to work on the back end, creating compilation support targeting LLVM, C, and/or native code.