Programming Projects

Portfolio

I love creating software that helps others.

PanelDoc

PanelDoc checks each provider's network status, treatment approach, and expertise against client preferences and assists the user with outreach through a supported directory and a customized consultation request template inside a browser controlled by Selenium.

Built using: Python, ThreadPoolExecutor, JavaScript, Pandas, Selenium, ChromeDriver, Google Maps API, and Wit AI API

Hosted using: Local Client

zBid

The zBid server connects to an infinite number of buyer and seller clients that can bid on ongoing auctions, create listings, track their sales, and watch items.

Built using: C, Posix Threads API, Socket API, Python, Valgrind Memcheck & Helgrind, Criterion Unit Test Framework

Hosted using: Local Client

mod Search

mod Search consists of three modules:

  • Index

    • The indexer creates partial inverted indexes of the over 50,000 web pages part of the UCI ICS domain. It detects exact and near-duplicate documents by creating and comparing 64-bit fingerprint hashes for each document.

  • Merge

    • The merger combines the partial inverted indexes into a single file using k-way external merge sorting. Since the merger uses an external memory model it does not require much RAM.

  • Search

    • The search interface responds to user queries in under 250 milliseconds on average with the most relevant results.

Built using: Python, Flask, Jinja, Natural Language Toolkit (NLTK), and BeautifulSoup

Hosted using: UCI Openlab Server Cluster

AntCrawler

AntCrawler is a web crawler that indexes web pages using a pool of workers. The crawler respects robots exclusion standards and checks the rules in robots.txt prior to visiting other pages on the domain. The crawler also can detect and avoid infinite redirect loops, query parameters that do not materially change the page, and broken links.

Built using: Python, Threading API, Natural Language Toolkit (NLTK), and BeautifulSoup

Hosted using: Local Client

Smart Home/Home Security

I created a security system embedded within our smart home instead of paying monthly for a professional security system. I paired sensors, cameras, and sirens to a SmartThings smart home hub and utilized automation rules and Apache Groovy (Java-syntax-compatible) code to connect all the sensors together.

Click on the button to see one SmartApp and Device Handler I use. The example is my patched version of a Quirky Connect Smart App and a device handler for a Quirky Porkfolio (Wi-Fi connected piggy bank).

Built using: Apache Groovy, Python, JavaScript, and CoRE Rules

Hosted using: Samsung SmartThings Groovy IDE (NA East Shard) and Raspberry Pi

CloudCite

CloudCite is a free, automatic, and ad-free bibliography generator for popular citation styles such as MLA 8th Edition, APA, and Chicago as well as over 9000 other styles.

Built using: JavaScript, Vue.js, TypeScript, and over 30 more dependencies.

Hosted using: Amazon Web Services S3, CloudFront, API Gateway, and Lambda.

Customer Service: Atlassian Jira, Atlassian StatusPage, and Canny Feedback

Organic Growth: Google Webmasters Search Console, Bing Webmaster Tools, and Google-run Accelerated Mobile Pages (AMP)-enabled Blog

Developed in partnership with:

  • Mrs. Nadia Moshtagh Razi - Foothill High School English Department Chair

  • Mrs. Lauren McNeil - Foothill High School Teacher Librarian.

  • Ms. Nancy Tiedemann - Pleasanton Unified School District Lead Library/Media Technician

I spent the majority of my summer working on this project and generally spent 5-8 hours a day on this project during most weeks.

Highlights:

  • The Pleasanton Unified School District (PUSD) Curriculum, Technology, and Library/Media Services departments approved district-wide use of CloudCite

  • Listed on Foothill High School (FHS) website [Annotated PDF] [Link]

  • The latest CloudCite nightly build adds support for >30 more citation mediums such as journal articles, magazine articles, and legislation.

  • According to Google Search Console, for the query "bibliography generator,” CloudCite appears on average in position seven (7) in the Google search results.

  • In partnership with Ms. Razi, we are adding citation style guides to the blog to bring more organic growth to the site and improved search engine optimization.

Polibugs

Polibugs is a nonpartisan tool that seeks to provide balanced viewpoints on the news including topics which you are reading about. Polibugs achieves this by encouraging users to interact with liberal, conservative, or moderate positions on the same issue.

Built using: Python and Flask

Hosted using: Amazon Web Services Elastic Compute Cloud and Elastic Beanstalk

Winner of Best in Class Application (1st Place) out of nearly 100 participants at CodeDay Bay Area Winter 2018. Built in 24 hours.

Lava World

Lava World is a game made in Java using JPanel. The objective is to avoid the moving ball with the in-game character. The ball will speed up at random to increase difficulty. The game has sound effects to increase the intensity of the gameplay.

Built using: Java and JPanel

Hosted using: Local Client

Pleasanton City Guide

With the theme of “presenting the city of Pleasanton in a good light” to both the residents of the city as well as outside visitors, I published the Amazon Alexa skill “Pleasanton City Guide” that guides residents and visitors through the city. It has information about the local schools, can suggest a random place in Pleasanton to visit, and provides suggestions for things to do around the city.

Built using: JavaScript and Amazon Alexa SDK for JavaScript

Hosted using: Amazon Web Services Lambda

Available in the Amazon United States, United Kingdom, Canada, Australia, and India stores.

Winner of 1st Place out of nearly 100 participants at Ace Code Day 2018. Built in 6 hours.

Bug Browser

Bug Browser provides information security, programming, and bug news, education, and reference all in one Amazon Alexa skill. Bug Browser will teach you how to hack, tell you what a specific bug is, check if you have been hacked, provide a comprehensive briefing on cybersecurity around the world, and a list of recent breaches.

Built using: JavaScript, Amazon Alexa SDK for JavaScript, and over 30 more Node.js dependencies

Hosted using: Amazon Web Services Lambda

Developed in partnership with:

  • Alyssa Habing - Bugcrowd Senior Account Manager (not pictured)

  • Damien Radford - Bugcrowd Principal Engineer (on the right)

  • Sam Houston - Bugcrowd Senior Community Manager (on the left)

Available in the Amazon United States, United Kingdom, Canada, Australia, and India stores.

Winner of Best Security Hack at Los Altos Hacks 2018. Original version without graphical interface was built in 24 hours.

Additional development has occured after hackathon submission including adding a graphical interface for Alexa-enabled devices like the Echo Spot which we won.