Projects
Projects
Learning Log is a website I made to make it easier for people to keep track of interesting topics. I used Django (a Python web framework) to create the back end and Bootstrap (a CSS framework) for the front end. Amazon Web Services was used to run a production server on an EC2 instance (a cloud-based virtual machine). I containerized the project with Docker, so the server can be run anywhere, and deployed it to the EC2 instance. The image can be found on Docker Hub, and the source code is on GitHub.
This project is still ongoing, as I am continuously developing it to include new features. I am currently working on creating a more interactive front end with React.js, which will communicate with the backend using an API and the Django REST framework. I will also be creating a CI/CD pipeline with GitLab to ease the process of updating and releasing new versions of the site in the future.
Feel free to create an account, and use the site for your own learning journey!
Developed a full-stack web project for a language-learning app. Streamlined its development using DevOps best practices. The tech stack involved: React (frontend), Django (backend) with RESTful API, PostgreSQL, MongoDB (databases), Nginx (web server), AWS (cloud), Git (version control), GitLab (CI/CD), Docker (containerization), Kubernetes (orchestration), Prometheus (monitoring). Microservices were developed to manage user accounts, authentication, settings, language lessons, payments, APIs for AI translations, and other features. Kubernetes and Prometheus are used for orchestration and monitoring across servers. CI/CD pipeline uses test, build and deploy stages which enable frequent updates to the project. This reduces development time, and improves application performance in a production environment. Accumulation of one year of DevOps experience.
Final capstone project for Electrical and Computer Engineering majors at OSU. Involved computer vision and networking with microcontrollers. The objective was to create a device for automobiles that reduces accidents caused by distracted driving. This was accomplished by integrating hardware and software together to create an intelligent system capable of detecting the presence of stoplights in advance of a driver entering an intersection. The software in the system was written in in Python, and utilized several packages to create pipelines for data processing, and object recognition, such as OpenCV, GRIP, and NumPy. At a high level, the program would read each frame from a live video stream and check if a red stoplight was present by creating a 'frame object' and passing it into an object-recognition algorithm. It also received input by networking with the onboard diagnostics system (car computer), which provided data about the instantaneous speed of the car. The program would send a noise to a speaker if the algorithm detected a red light, and the car's speed was greater than zero. The most important hardware components involved in the system were the microcontroller (Raspberry Pi), which ran the Python code, a camera, an OBD-connector (for streaming the speed data), and a speaker for the output. In addition, there were several other hardware components, which were used for various connections and troubleshooting operations. The source code and final project report can be found here.
Designed a rainwater capture system using SolidWorks for a preschool in Guatemala. The system uses green technology to convert the potential energy of falling rainwater into mechanical energy which separates clean and dirty water. Traveled to the Solalá region of Guatemala to conduct research with local populations and to learn what the community wanted to see in the design. Advised a classroom of students for the construction of this system.
Relational Database Management System for a Restaurant
Created a RDBMS for a restaurant that supports CRUD operations (create, read, update, delete) using MySQL, Java (Spring Boot), and JavaScript (React), with a REST API for data exchange between the frontend and backend. GUI frontend allows the restaurant manager to change menu items, manage employee records (salaries, work hours, etc.), track inventory levels, handle customer orders, and manage other operations on the database.
Computational Humanitarianism: Control System Mobile Application
Designed a mobile application that manages community recourses. Utilized feedback mechanisms to reduce the error in desired and actual quantities of community wealth. The app provides analytics for spending habits, and gives suggestions on how to increase long-term wealth. Tested app performance with random-value simulations to determine how the system responds under a variety of starting conditions and environments.
Goal was to isolate and separate frequency components in a superimposed audio signal to explain different sensorial experiences when listening to an audio recording. In particular, the signal was a superposition of the fictional words 'Laurel' and 'Yanny'. The output of this program were two audial signals that clearly distinguished these as separate words. This project has applications to the data pre-processing stage of NLP in the context of speech recognition. The techniques used in this project can improve the accuracy of speech recognition software by identifying which possible words a person is attempting to say. From there, the actual word can be determined by analyzing the meaning of the possible words in the context of a sentence. For example, if someone says "I bought milk from the shore," when the intention is "I bought milk from the store", the correct meaning can be deduced by recognizing that 'store' is more likely the correct word in this context than 'shore'.
Conducted laboratory experiments relating to digital logic, analog electronics, mixed circuitry, microcontrollers, signals and systems, and digital signal processing. Competent in operating electronic laboratory equipment such as oscilloscopes, waveform generators, multimeters, multiphase power supplies, and soldering equipment. Completed dozens of lab reports, and gained the ability to communicate advanced experiments effectively through writing, presentations, and other forms of communication. A sample of the quality of the reports can be found through the link above.
Project about developing technical communication abilities in computer science disciplines. Involved researching a project, and understanding the applications of a technology of interest. Learned about applications of machine learning, neural networks, and deep learning for breast and skin cancer diagnoses. Studied a project that used a deep learning technique that pre-processes, segments and classifies thermal images. Learned how thermal imaging techniques were made more accurate after applying a deep learning algorithm to analyze the data collected from several patients.
Used embedded C and TI’s assembly language to optimize a feedback control system on a microcontroller. Final product was a device which receives commands from a laptop, which control the device’s behavior. Displays temperature to a liquid-crystal display and peripheral LED with colors corresponding to the temperature. Commands determine whether display is in Fahrenheit or Celsius, among other control options.
Applied Natural Language Processing for Parallel Language Acquisition
Designed an app which translates foreign languages in parallel for enhanced language acquisition. Project involved web and mobile app development, data structures and algorithms, database management systems (SQL), cloud computing (AWS), and natural language processing. Project is still underway; currently working on code that uses generative AI techniques to produce a natural sounding translation based on an original voice, and the unique sounds of each language.
Completed several mini-projects related to software development. Programs were created using C, C++, Java, JavaScript, and Python. In addition, some of the programs were specifically related to AI, machine-learning, deep learning, and neural networks. Also learned about the software development cycle and DevOps from these assignments.