⚡ Smart Energy Dashboard for Tesla

A Tesla-connected energy dashboard that tracks charge sessions, drives, and idle drain in real time — with an upcoming Machine Learning Neural Network prediction model to understand charge and usage trends to predict on when and for how long to charge for.

Key Features

  • Tesla API Integration: Live vehicle data via TeslaPy with secure token-based authentication
  • Real-Time Snapshot: Auto-cached JSON updates when vehicle is online and JSON hasn't been updated for 5 minutes or more
  • Event Logging: Charge, drive, and idle sessions logged to PostgreSQL with timestamps and classification with deduplication
  • RESTful API: Flask routes for current status and recent event history
  • Apple-Inspired UI: Beautiful frontend displaying live battery status and event history
  • Coming Soon: Machine Learning and AI model to predict next charge window and required duration

Skills Gained & Enhanced

  • ✅ Learned how to work with the Tesla API using OAuth and refresh tokens
  • ✅ Improved my ability to throttle data collection to avoid API rate limits
  • ✅ Designed event-driven logging (detecting when charge/drive/idle happens)
  • ✅ Built custom Flask API endpoints and integrated them into a frontend
  • ✅ Strengthened my use of PostgreSQL and JSON caching for scalable data flow
  • ✅ Reinforced Python file handling, timestamp conversion, and backend/frontend integration

What This Project Taught Me

  • ✅ The importance of minimizing unnecessary API calls for real-world services
  • ✅ How to structure backend services to be both event-based and efficient
  • ✅ How to expose backend logic to a web interface using APIs cleanly
  • ✅ How to prepare a project foundation for future machine learning integration

This project is a current project and some features may be unavailable depending on what I am currently working on within the project

Genotype Classification Algorithm

💡 A Python-based algorithm that classifies genetic test samples as "NORM" (normal) or "MUT" based on multiplexing test results.

🔍 Features
  • ✅ Classifies sample IDs as "NORM" or "MUT"
  • ✅ Detects contradictions and returns "INCONSISTENT"
  • ✅ Identifies cases where classification is impossible ("NONUNIQUE")
🛠 How It Works
1️⃣ Enter Test Data

Each test consists of a genotype (NORM or MUT) followed by sample IDs.

3
NORM,100,110
MUT,110,12
NORM,200,300
                
2️⃣ How the Algorithm Determines "MUT" Samples
  • If a test case is "NORM", all listed samples are immediately marked "NORM".
  • If a test case is "MUT" and some sample IDs are already "NORM", the remaining unknown sample must be "MUT".
  • If multiple "MUT" test cases contain only unknown samples, the algorithm returns "NONUNIQUE".
3️⃣ Handling Edge Cases
  • ⚠️ "INCONSISTENT" is returned if a sample is marked "NORM" in one test but must be "MUT" in another.
  • ⚠️ "NONUNIQUE" is returned when there isn’t enough information to uniquely determine a "MUT" sample.
Example Outputs
✅ Case Where "MUT" Can Be Determined
Input:
3
NORM,100,110
MUT,110,12
NORM,200,300

Output:
Sample ID    Genotype
12          MUT
100         NORM
110         NORM
200         NORM
300         NORM
                
⚠️ Case That Results in "INCONSISTENT"
Input:
4
NORM,0,1
MUT,1,2
NORM,1,3
NORM,2,3

Output:
INCONSISTENT
                
⚠️ Case That Results in "NONUNIQUE"
Input:
2
MUT,1,2
MUT,2,3

Output:
NONUNIQUE
                
Task Management App

A full-stack web app for managing personal to-do lists with secure user authentication and a PostgreSQL backend.

Key Features

  • User Authentication: Secure login and registration with JWTs and hashed passwords
  • Task Management: Add, edit, delete, and persist tasks per user
  • Multi-User Support: Isolated task lists for each account
  • RESTful API: Built with Node.js, Express, and PostgreSQL
  • Modern UI: Mobile-friendly, Apple-like design using HTML, CSS, and JavaScript
  • Cloud Hosted: Deployed using AWS RDS and integrated with Flask frontend

While I no longer have this project for testing as it is expensive to host the database full time on AWS. I have the code on github and I'd love for you to take a look!

Spring 2025