Programming Projects

Portfolio

I love creating software that helps others.

Shell

A shell that implements I/O redirection, infinite piping, globbing, command lists, running processes in the foreground or background, and other built-in commands.

Timeline: Fall 2021

Role: Sole Developer

Built using: C

Hosted using: Local Client

PanelDoc

PanelDoc checks each medical 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.

Timeline: Summer 2021

Role: Sole Developer

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.

Timeline: Spring 2021

Role: Lead Developer

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

Hosted using: Local Client

DeMineSweep

DeMineSweep is an AI that attempts to solve Minesweeper boards by applying single-point strategies and heuristics.

Timeline: Spring 2021

Role: Lead Developer

Built using: Python

Hosted using: Local Client

Icon: Goodware

%

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 200 milliseconds on average with the most relevant results.

Timeline: Spring 2021

Role: Sole Developer

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.

Timeline: Spring 2021

Role: Sole Developer

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

Hosted using: Local Client

Text Editor

A console-based text editor with support for typing, cursor movement, undo, and redo.

Timeline: Spring 2020

Role: Sole Developer

Built using: C++,

Hosted using: Local Client

Columns

A console-based and GUI implementation of the mechanics of the 1990s SEGA game Columns.

Timeline: Winter 2019

Role: Sole Developer

Built using: Python, Pygame

Hosted using: Local Client

Connect Four

A console-based implementation of Connect Four. The game can be played locally or over sockets.

Timeline: Winter 2019

Role: Sole Developer

Built using: Python

Hosted using: Local Client

Smart Home

I've paired sensors, cameras, and sirens to a SmartThings smart home hub and utilized automation rules to connect all the sensors together.

See hardware and repair projects here.

Timeline: Summer 2016 - Present

Built using: Apache Groovy, Python, and CoRE Rules

Hosted using: Samsung SmartThings Groovy IDE 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.

Timeline: Summer 2018

Role: Backend Developer

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

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] [Lin

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.

Timeline: Summer 2018

Role: Co-Developer

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.

Timeline: Spring 2018

Role: Co-Developer

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.

Timeline: Winter 2018

Role: Sole Developer

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, 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.

Timeline: Winter 2018

Role: Co-Developer

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)

Winner of Best Security Hack at Los Altos Hacks 2018. The original version without graphical interface was built in 24 hours. Additional development after hackathon submission included adding a graphical interface for Alexa-enabled devices like the Echo Show.