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.