william bui

profile-picture

cat pic :d

cat-picture

homeresumegithublinkedincontact


Hi, I'm William! I'm a Computer Science student at Texas A&M University. I was first exposed to Computer Science freshman year of college, which I find highly fascinating. Since then, I seek to learn more. I'm currently learning web development through The Odin Project and Full Stack Open, and making interesting projects to reinforce my skills. This website is meant to showcase what I have made. The more significant projects are at the top while the lesser ones are at the bottom. Updated: November 9, 2023

projects

1. GPTex - React, JavaScript, Python, Flask, HTML, and CSS

What I Learned: How to interface with GPT API, useRef hook, how to process PDF sent through HTTP requests. Overall, it's pretty cool to see how LaTeX code is generated from handwriting, a mark of how far we have advanced technologically.

2. Assessment Statistics - React, JavaScript, Python, Flask, R, HTML, and CSS

Above are exam scores for my classes, as can be seen the in video, the model estimates the grade distribution very well given how close predicted quantiles are to observed quantiles

What I Learned: This project aims to estimate and visualize grade distribution given quantiles (ex: lower quartile, median, upper quartile). It's a rather nerdy and niche project as its only purpose, really, is to see how well one performs on an assessment compared to others more accurately. And despite what introductory stat classes often tell students, grades are not normal. Rather, they follow more closely to a less-known distribution named the logit-normal, according to research from Stanford Computer Science and GradeScope researchers. This leads to my next point, although the concept is simple, grades follow more closely with the logit-normal, the most challenging part of this whole ordeal was finding and understanding the research related to my project. Research papers are full of jargon so I had to learn about various statistical concepts to better understand them. Through this project, I learned about things like maximum likelihood estimation, weighted least squares, order statistics, various optimization algorithms, how to create and set up a Python Flask backend, as well as using concepts I learned in school such as heteroskedasticity and data transformation for my project. Although it is a simple project at first glance, the amount I have learned through this project is rather significant, which is why I consider it to be my favorite to second favorite project.

3. FocusBlock - JavaScript, HTML, CSS

What I Learned: Async/await syntax, shadow DOM, chrome APIs, persistency is key (I was so close to giving up on the Shadow DOM implementation. Googling skill is real), and it's better to take a broad look at documentation because there will be things you spent hours on, only to realize there are better and much easier built in methods you didn't know about because you didn't read documentation 😔.

4. Etch-a-sketch - JavaScript, HTML, CSS

What I Learned: CSS grid, event listeners, window.onload(), and importing a library (DOM to Image)

5. CountriesData - React, JavaScript, HTML, CSS

What I Learned: Practice on useState, useEffect, inline CSS in react, and interacting with REST APIs

6. PhoneBook - React, JavaScript, Node.js, Express.js, MongoDB, Axios, HTML | Not Yet Styled With CSS

What I Learned: Practice on making frontend and HTTP requests using React and Axios (Node.js), and backend routes and middleware made with Express.js, as well as database and form validation with MongoDB

7. Tab Manager - JavaScript, HTML, and CSS

What I Learned: Action API, Tabs API, TabGroups API, Intl.Collator object, Set object, URL object, and cloneNode() method

8. Focus Mode - JavaScript

What I Learned: Service worker, activeTab, chrome.action, and commands key

9. Reading Time - JavaScript

What I Learned: How to manipulate DOM using content_scripts

10. QR Code Component - HTML, CSS

qr-code

What I Learned: Practice with Flexbox and the fact that body element has a set margin and padding by default

11. Rock, Paper, and Scissors - JavaScript, HTML, and CSS

What I Learned: Practice using querySelector and defining JavaScript functions

12. Flex-layout-2 - HTML and CSS

What I Learned: Practice on Flexbox

13. Flex-layout-1 - HTML and CSS

flex-layout-1

What I Learned: Practice on Flexbox

14. Flex-modal - HTML and CSS

flex-modal

What I Learned: Practice on Flexbox

15. Hello Extension - JavaScript and HTML

What I Learned: How to define a browser extension popup

16. Table - HTML and CSS

qr-code

What I Learned: How to use HTML table