src/constants/projects.js and exported as the myProjects array. The home page renders them inside <Card> components, showing 2 by default with a toggle to reveal all 5.
Project data shape
Each project is a plain object with the following fields:All active projects
| # | Title | Description | Links |
|---|---|---|---|
| 1 | Courser | ChatGPT for university classrooms. Won HackUIowa 2023. | GitHub, Website |
| 2 | AI Writing Assistant (Wordsmith) | Chrome extension using GPT to rewrite highlighted text. | Website, GitHub, Chrome Extension |
| 3 | World’s Best Boilerplate | Full-stack web app starter with auth, navbar, error handling, and DB. | Website, GitHub |
| 4 | Hand Gesture Remote | OpenCV + linear regression hand gesture controller for TV remotes. | GitHub |
| 5 | Tennis Match Finder (Actively) | Sports meetup startup — Patrick was CTO and sole developer. | GitHub |
Project details
Courser
Courser
Courser is a ChatGPT-style AI assistant built for university classrooms. It allows students and instructors to interact with course-specific AI within an academic context.Achievements:
- Won HackUIowa 2023
- First place in Tech for JPECC Pitch Competition
- ERA Startup Accelerator Finalist
AI Writing Assistant (Wordsmith)
AI Writing Assistant (Wordsmith)
Wordsmith is a Chrome extension that uses GPT to rewrite any text on any website. Users simply highlight text and the extension rewrites it to be more effective.The extension is published on the Chrome Web Store and the client is hosted on Netlify.
World's Best Boilerplate
World's Best Boilerplate
A production-ready full-stack web application starter that includes all the essentials so you can skip boilerplate and start building features immediately.Included:
- Authentication
- Navbar
- Error handling
- Database integration
Hand Gesture Remote
Hand Gesture Remote
A computer vision project using OpenCV and linear regression to detect hand gestures from a webcam feed and map them to TV remote control commands.The card for this project uses a video instead of a static image (
isVideo: true), which the <Card> component handles by rendering a <video> element.Tennis Match Finder (Actively)
Tennis Match Finder (Actively)
Actively was a sports meetup startup where Patrick served as CTO and sole developer. The app allows users to post and join nearby sports matches.
Adding a new project
Add a new entry to the array
Append a new object to the
myProjects array following the data shape above.The home page shows the first 2 projects in the array by default. Place your most important projects at the top of the
myProjects array to ensure they are visible without the visitor needing to expand the list.Legacy / commented-out projects
Several older projects (including a LangChain integration, BloggerGPT, and others) exist in the codebase but are commented out ofprojects.js. These are legacy projects that are no longer actively showcased. They can be restored by uncommenting them in the array if needed.