Projects
Accessible Indoor Navigation System
UT Dallas course project · January 2026 – May 2026
- Led a 4-person team through three development iterations, assigned tasks, and presented the final demo. Won the course’s Best Implementation award.
- Built the pipeline that turned a DFW Terminal D floor plan into a routable graph of 1,351 nodes, 5,944 edges, and 129 mapped amenities. Placed nodes over the plan image, georeferenced them from three known-coordinate control points, connected them with 8-directional edges, and exported the graph as generated SQL.
- Built a tool that overlaid the graph on Google Maps so we could see and fix misplaced nodes.
- Added routing to wheelchair-accessible and gender-specific restrooms, using PostgreSQL on AWS RDS behind the team’s 20+ endpoint Flask REST API.
- Kept routes from crossing the TSA boundary by tagging each node as before or after security, so routing only uses nodes on the traveler’s side.
- Developed an Android app in Kotlin using the Google Maps SDK with turn-by-turn guidance, off-path recalculation, and rerouting when amenities close or reach capacity.
- Helped trace 36 functional requirements across 21 use cases and three IEEE-format test plans.
- Served as class representative to faculty and helped the teams agree on shared requirements. Co-wrote the SRS, project plan, and design diagrams with my team.
GitHub: View Accessible Indoor Navigation System on GitHub
This Website and My Home Lab
Personal project · March 2024 – Present
- This site runs on a server at my home, not a hosting service.
- It started as a Flask app on a Raspberry Pi with Gunicorn, Apache, SSL, and fail2ban.
- I moved it to WordPress on an Ubuntu Server VM, first in VirtualBox and since October 2026 on Proxmox.
- I split my home network into six VLANs on a managed switch so the web server sits on its own.
Dallas County Property Valuation ML Predictor
UT Dallas course project · August 2025 – December 2025
- Built a regression pipeline on 3.1M+ Dallas Central Appraisal District records (2021 to 2025), reaching R-squared of 0.87 on a 30% held-out test set.
- Built a six-stage Python ETL pipeline that automated web scraping, ZIP extraction, multi-table joins, categorical encoding, and data validation.
- Integrated three government data sources (DCAD, Dallas Open Data, Texas Education Agency) using composite keys and pandas merge operations with configurable join strategies.
- Performed feature selection using Pearson correlation for numeric variables and eta-squared for categorical variables, identifying ZIP code (η² ≈ 0.31) and school district (η² ≈ 0.22) as top predictors.
- Trained and benchmarked five regression models (Linear Regression, Decision Tree, Random Forest, XGBoost, LightGBM), using GPU acceleration to cut gradient boosting training from 10+ minutes to under 15 seconds.
Open-Source Secure AI Platform
UT Dallas course project · January 2025 – May 2025
- Led a 6-person team, turned sponsor interviews into Jira stories, and presented progress at weekly sponsor meetings.
- Provisioned and secured an AWS EC2 GPU instance to host 7B to 14B parameter models, with role-based access so users could switch between them.
- Set up and tested Ollama and Open WebUI to run the models.
- Wrote a setup script that automated GPU detection, dependency installation, security patches, LUKS-encrypted Docker storage, and service configuration.
DIY Home Thermostat with Home Assistant
Personal project · May 2024 – September 2024
- I built my own thermostat for my home’s HVAC.
- I soldered the relays that drive the heating and cooling, wired the temperature sensors with their resistors so they read correctly, and ran it all on an ESP32 with Tasmota.
- Home Assistant runs the automation rules, including fail-safes that never run heat and cooling at the same time and that prevent compressor short-cycling.
- A second sensor in another room lets it run on the whole-house average.
Interactive Smart Home Dashboard
UT Dallas course project · January 2026 – May 2026
- Connected the team’s React front end to the Flask backend so the screen showed only device state the backend had saved, across seven device types.
- Fixed corrupted device state when several changes landed at once by queuing writes to the state file behind a lock.
- Built the event log, which saved each device change with its reason and showed the last 50 events in the dashboard.
- Built the notification system tested in a 5-person usability study, one version per iteration: an activity log, Discord webhook alerts, then browser push notifications.
- Ran all three prototype versions at the same time so each participant could test every version.
- Co-designed the Likert survey on trust, transparency, and usability, and ran 2 of the 5 participant sessions.
GitHub: View Interactive Smart Home Dashboard on GitHub
KWIC Web Search Engine
UT Dallas course project · August 2024 – December 2024
- Developed a Python search engine using Key Word in Context (KWIC) indexing with the Flask framework.
- Stored and indexed over 100,000 entries in MySQL on AWS RDS.
- Used multi-threading to handle multiple user requests at once.
- Scraped and indexed content from over 150 websites.
- Added autocomplete, clickable links, and results ranked by how often users opened them.
- Worked with the team on requirements and architecture, and used GitHub for version control.
- Wrote the documentation and system diagrams, and presented to stakeholders.
GitHub: View KWIC Web Search Engine on GitHub
MotionEyeOS Security System
Personal project · March 2024
- I built a home security camera on a Raspberry Pi running MotionEyeOS.
- It detects motion and saves video to a separate Ubuntu Linux server I set up, over SSH.
Smaller course projects
UT Dallas course projects · 2024
- Indoor Navigation App Requirements: stakeholder analysis and requirements like real-time audio feedback, hazard detection, and route optimization.
- Database and Webpage Project: website built with HTML, Bootstrap, Flask, and SQLAlchemy. View on GitHub
- Mock Google Budget Integration: schedule, budget, and risk plan in Microsoft Project.
- Doctor’s Office Multithreading Simulation: threads for patients, receptionist, nurses, and doctors.
- CPU and Memory Simulation: two processes talking through pipes and forks, built on Linux.
