My Projects

Here are some of the projects I've worked on:

ThriveTrack

ThriveTrack is an innovative health and wellness application that integrates personalized fitness and nutrition planning with a vibrant community platform. While building ThriveTrack, I'm mastering several key technical skills, such as React Native for mobile app development, HTML, CSS, and JavaScript for web development. I'm also leveraging frameworks like Node.js for backend development and learning to utilize APIs for integrating third-party services. Additionally, I'm honing skills in UI/UX design, agile project management, and strategic decision-making as a tech entrepreneur.

Project image
Click to see an example →
ThriveTrack App Page ThriveTrack App Page
ThriveTrack App Page ThriveTrack App Page

Stock Market Simulator

In my EECS 281 course, I tackled a C++ project on priority queues, specifically binary and pairing heaps. I created a templated priority queue class and tested it with a custom driver program. This project deepened my understanding of data structures, algorithms, and their performance. A key highlight was implementing a "streaming algorithm" for a "movie watcher mode", similar to a stock market simulation. This algorithm, which only processes each input once without storing it, taught me about the complexities of real-time data processing and decision-making.

Example input:


COMMENT: DL mode generating some transactions.
MODE: DL
NUM_TRADERS: 3
NUM_STOCKS: 2
0 TRADER T0 S1 B100 #44
1 TRADER T0 S1 B56 #42
2 BEAR T0 S1 S73 #19
2 BEAR T0 S0 S34 #50
2 TRADER T0 S0 B86 #23
2 TRADER T0 S0 B20 #39
2 BEAR T2 S0 S49 #24
2 TRADER T2 S0 B83 #45
3 TRADER T2 S1 B64 #22
3 TRADER T1 S0 B6 #19
3 TRADER T0 S1 B42 #37
4 TRADER T2 S0 B10 #44

SQL Database

During my EECS 281 course at the University of Michigan, I implemented Project 3 - "SillyQL", where I developed a program simulating a basic relational database. This project involved implementing multiple data structures and handling various commands such as CREATE, QUIT, REMOVE, INSERT, PRINT, DELETE, JOIN, and GENERATE. It allowed me to refine my skills in selecting appropriate data structures, evaluating runtime and storage trade-offs, designing algorithms, and managing larger data structures through composition. This experience significantly enhanced my understanding of database management and query languages, equipping me with practical skills for real-world applications in computer science.

Example Input:

CREATE pets 3 string bool bool Name likes_cats? likes_dogs?

INSERT INTO pets 2 ROWS

Sith true true

Paoletti true false

JOIN pets AND 281class WHERE Name = person AND PRINT 3 Name 1 emotion 2 likes_dogs? 1

Example Output:

Name emotion likes_dogs?

Sith happy true

Sith victorious true

Paoletti stressed false

Printed 3 rows from joining pets to 281class

Pokemon TSP

During my EECS 281 course, I implemented Project 4 - "Pokemon", which involved solving graph-based problems. The project was divided into three parts: calculating a Minimum Spanning Tree (MST), approximating a solution to the Travelling Salesperson Problem (TSP), and determining the weight of an optimal TSP solution using a branch and bound algorithm. This project allowed me to refine my skills in implementing MST algorithms, determining the efficiency of Prim’s Algorithm versus Kruskal’s Algorithm, developing a bounding algorithm for the TSP, and exploring heuristic approaches for nearly-optimal solutions. This experience significantly enhanced my understanding of graph-based problems and their real-world applications.

Example Input:

5

6 1

2 3

-5 -4

-1 6

0 -1

Example Output:

31.64
0 4 2 3 1

Euchre

In the EECS 280 course, I completed Project 3 - "Euchre", which involved implementing a simplified version of the card game Euchre. This project allowed me to apply and deepen my understanding of object-oriented programming concepts, including classes, objects, and inheritance. I developed several classes representing different components of the game, such as the Card, Deck, Player, and Game classes. Through this project, I honed my skills in managing complex interactions between different objects and learned the importance of thorough testing in ensuring the correct functionality of my code. This experience significantly enhanced my understanding of object-oriented programming and its practical applications.