Josh Charpentier

Currently Learning

Agentic Capabilities - Agents, Skills, and Browser Automation

Featured: My First Game!
barry — bash

Click to play

Barry the Bench Maker

C++ Terminal RPG
C++JSONOOP

Barry the Bench Maker is my most recent project. Originally, I created a basic version of this game in high school with JavaScript, HTML, and CSS. I wanted to garner C++ experience so I revisited it after all this time, while giving it a fresh coat of paint. Barry the Bench Maker is a full-featured terminal RPG. Learning a new language at this point is largely syntactical. I got familiar with C++ for the first time, and really enjoyed taking my time to work on a game. The creativity fostered by this game, even if only existing in a terminal, made it a joy to create. Click play to give it a try!

barry — bash

Click to play

Barry the Bench Maker

C++ Terminal RPG
C++JSONOOP

Barry the Bench Maker is my most recent project. Originally, I created a basic version of this game in high school with JavaScript, HTML, and CSS. I wanted to garner C++ experience so I revisited it after all this time, while giving it a fresh coat of paint. Barry the Bench Maker is a full-featured terminal RPG. Learning a new language at this point is largely syntactical. I got familiar with C++ for the first time, and really enjoyed taking my time to work on a game. The creativity fostered by this game, even if only existing in a terminal, made it a joy to create. Click play to give it a try!

Thought

Vulnerability Risks with Mythos + Feasibility of Change

April 11, 2026

Recently, Anthropic announced that they would be giving their latest model, Mythos, to a select number of companies rather than the general public due to its prowess in finding dangerous security vulnerabilities. Something that I found interesting surrounding the discussion of Mythos and its implications, was the idea that more modern languages are sometimes being encouraged in opposition to languages that allow memory manipulation and other low level capabilities like C and C++. I wonder what the implications of this would be in certain industries. As far as I am aware, the reason so many video game developers rely on C++ is because it allows for greater efficiency thanks to, in part, the ability to manage memory manually. It seems like the strength of a language like C++ is also evidently its weakness. I wonder if AI models will find that these lower level languages are much more easily exploited than modern languages. Only time will tell. Furthermore, it's tough to tell if many companies really are trying to steer away from these lower level languages or if this was an overstated occurrence. My inclination is that, in reality, the number of companies making the decision to avoid certain languages due to security vulnerabilities is very few, both because of the different needs for these lower level languages as well as the feasibility of switching at this point. On a team that primarily programs in C++, converting a codebase to a more modern language not only would take months if not years, but also would rely on the ability of many to potentially have to learn a new language as they convert code over. I've seen this on a smaller scale in the workplace and it seems like it's doable but may limit the ability of the team to make informed decisions. On the flip side, it could be argued that the investment of adapting a new language is less and less and AI models do more and more of the actual coding. Food for thought.

CoverMe

CoverMe

AI Cover Letter Generator
Next.jsTypeScriptOllamaPlaywrightTailwind

Like BreakIt and MadCourses, CoverMe came from a personal need. When my school advisor suggested applying to roughly 100 jobs just to hear back from a handful, I knew I needed a way to stand out while staying efficient. Cover letters were a potential differentiator but crafting unique ones for each posting was a long process. CoverMe feeds your resume, a scraped job description, and optional writing samples into an LLM to generate a first draft directly in an editable interface. No prompting, no switching tools. Users can choose between running models locally via Ollama or through OpenRouter in the cloud.

Thought

Website Renovation Complete

April 6, 2026

I am nearing the completion of this new website redesign! A few things to highlight: now things are in more of a feed, and as you may notice, there are thoughts like these that pop up now and again! I think a lot about computer science and the tech space and realized it would be fun to have a place to put some of these thoughts. What better place than my own website? The feed isn't strictly chronological - more aimed at balancing thoughts with projects. Use the filter to see one or the other. The "All" page also may sometimes have a featured section like it does now! Check out my latest project and first game: Barry the Bench Maker! (you can play it right on this website). And lastly, as always, we have my Github, LinkedIn, and Resume links in the bottom right. Thanks for stopping by and feel free to reach out on LinkedIn!

MadCourses

MadCourses

UW-Madison Course Matching
SvelteKitTypeScriptPostgreSQLSupabaseHugging Face

MadCourses is a tool I built in my final months of college. I was thinking back on what would have made my course selection experience easier. I knew I wanted to study computer science since elementary school, but which courses would actually build the skills employers wanted? I would have loved a tool that matched job skills to UW-Madison courses directly, so I built one. Users enter skills and get ranked course recommendations. Under the hood is a RAG system: course descriptions are embedded and stored in Vercel, and Hugging Face encodes the skill input at query time to find the closest matches via cosine similarity.

View project →
BreakIt

BreakIt

Habit Tracker · React Native
React NativeTypeScriptRedux ToolkitExpo

I've always believed in building with purpose; the strongest motivation I have to create something is when I can solve a problem for both myself and others. BreakIt was born when my dad pointed out an anxious habit of mine: picking at my nails. I thought, there has to be a way to track this and stay accountable. It was my first React Native app, which gave me hands-on insight into cross-platform, full-stack development. I learned much about state management and app deployment thanks to this project.