Welcome to the about page, where you can find more information about who I am, why I'm interested in CS, and what I can do. Feel free to reach out if you have any questions, and thank you for spending time getting to know me better!
Hello! My name is Wolf Mermelstein, and I'm a CS major at Case Western. I'm a rising sophomore at Case Western and graduated from from Bard HS Early College. Last summer I finished a Recurse Center programming retreat, and this summer I'm "nevergraduate"ing again!. This website was created initially as an excuse to teach myself fullstack, but has morphed into a space for me to dump useful information about techy encounters, projects, and myself. Hopefully this page, in conjunction with my resume gives you more insight into my interests, skills, personality, and abilities.
I'm interested in creating powerful, technical, and interesting development tooling, to improve devx, or workflows in general. I love tinkering around with frameworks and constantly learning how to use new tools, and enjoy webdev because of how many different frameworks I get to learn and how accessible and powerful the web is. I also love consistency and reproducability, and am particularly interested in nix/nixos, along with containerizing/devops.
I'm pretty meticulous and curious. I love taking copious notes (and love Obsidian.md!), and care deeply about open-source and data centralization/monopolization and privacy. I fear of heavily relying on software day-to-day only to have it go down unexpectedly or stop in the future. I'm a nix nerd, and love its guarantees and complex theory. I find it fascinating how generally useful it is, and its ergonomics. When I code, I aim for style as much as precision, and, I enjoy programming things that yes, are genuinely useful, but that are technically interesting and approach things in unique ways. I've had a variety of eclectic hobbies like fermenting yogurt and closet hydroponics, I love everything caffeine, and am also really into strategy board games and occasionally RPGs (my favorites are probably Inis, TI4, and Dead of Winter).
To put it briefly, my interest in tech has stemmed from my love of problem-solving and figuring things out. I enjoy learning through doing and tinkering, and it has led me to undertake multifarious personal projects. I've always liked hands-on things like crafts, and used to be interested in acrylic painting and sowing. For a while, I undertook many experimental pursuits like bulk kombucha brewing. Early on I was interested in design: I went through a phase of 3D modeling (like designing a collection of 3d-printable avocados), Adobe Illustrator, and cinematography with Premiere. Through various different design projects, I grew to learn that though I did and still do enjoy design, it was the design software itself that interested me most. I love learning about advanced program features and messing with configurations. Throughout my earlier, exploratory stages of life, this interest in innerworkings and tech in general has persisted. Interacting with interfaces was never enough for me though; I'd always wanted to learn more about the actual underpinnings of apps. And since I didn't have any proper coding classes in elementary school or middle school, I decided early on in high school that, like for various other interests, I'd just have to take it on myself. Of course by now I've done academic coding, but most of what I know is self taught.
Like many, I began with Python, which is still very dear to me. I began with a Pig-Latin translator, and basic things like a terminal-based tic-tac-toe game, but I quickly grew bored of copying project ideas and decided to adventure off into more complex things I didn't even know how to begin -- which is in my opinion the best way to learn. One of my first personal coding projects was a D&D character sheet viewing tool. I also designed some simple scripts to move around and organize my computer's windows, and contrived various other automation tools; I didn't get into actual shell scripting until recently, but I've always found it fun to hack things together.
Over 10th grade summer when I began my first larger-scale personal project: Minecraft username sniping. It was a very simple concept that was, in practice, extremely complicated and fun to implement. I coded systems to automatically attempt to grab desirable usernames (like real-world usernames) at the exact millisecond they were to free up (after users changed their username), and then held auctions to resell the accounts with the valuable names that my bots automatically claimed. It was exhilarating to work on such a time-sensitive and large scale project: I sharpened my understanding of OOP and Python while learning how to automate server deployment, a bit about SFTP, integrating with APIs, how to write async Python to implement concurrent requests and more. While by the end of that summer, Mojang ended up making many breaking changes to their API and I sold the project, it was then clearer than ever that software was my ultimate passion and one that I'd need to further explore.
In 12th grade I set up a custom data-structures tutorial-course with another student and our CS professor, where I got to learn the basics of some CS concepts that I missed during my more informal project-based experiences. In the 'course,' since I and a peer were the first to undergo it, we worked to design a curriculum for us, but also for future students, since the plan is to eventually make it a regular class at my former school. Around the same time, I also began working on a DNA-Nanotech design tool, which took the form of a research project with my physics professor. It let me more meaningfully apply the skills I picked up informally, and was a great opportunity to learn more about the issues accompanying UI/UX design and maintainability. Integrating CS into a completely unfamiliar field was really fun and rewarding. Via the project I was able to create a design tool of my own, which was something I'd always wanted to do, and towards the end of the year, I had a great experience attending the Nadrian Seeman Memorial at NYU, learning more about the field and its frontiers.
However, since graduating, I've shifted my focus to explore additional new CS areas. When working on my Minecraft sniping service I was quite engrossed in the idea of backend API design and wanted to look further into webdev. To start, I decided to self-teach the fundamentals of HTML/CSS, to create a basic about-me page for myself. At around the same time, I decided that it'd be best to put the knowledge to use building more advanced personal website, since I've found that my favorite way to learn is through implementing into projects with actual utility, and it was through this initial dive into front-end, along with being surrounded by many other amazing techies at Recurse, where I (perhaps as usual) spiraled down a chain of rabbit-holes that led me to spend significant time learning javascript/typescript, react and nextjs, and various other fullstack tools like postgres and S3. I came to once again find a love working with the tooling of the field, just like tinkering with design software when I was younger.
Now, at Case, I've started diving further into the weeds of CS through formal courses. Towards the end of the summer, I taught myself Java so that I could skip past intro CS, and have taken some prerequisite courses for topics I'm interested in. It has been very enlightening to see what happens 'under the hood,' and to understand some of the math behind computer systems. Last year I took a Linux Scripting and Tools class, which has been amazing, and has completely changed my computer interaction trajectory; it's turned me into a Linux geek. Learning about so many super cool hacky tools like vim, grep, and awk has been sublime.
During my first year, I began been dabbling with hardware a bit, working on a robot that sorts coins by date. I was awarded a student project grant from our campus makerspace earlier this year, and have been focusing on CAD and actually building the robot. I'm planning on building out a Django backend to interface with the Raspberry Pi that actually drives the bot, and do the image analysis to read dates off coins. I also recently won my school's hackathon with two friends, with a project that uses a fine tuned OpenAI model to scan all events on campus and find those with free food.
Most recently I've been working on learning Nix, Nixos, and Bash/UNIX related things at a second Recurse center batch. I've been getting a lot more comfortable with linux, and the command line. My goal for the summer has been to take the magic out of the tooling I rely on, since I enjoy having a clear understanding of what things do. I've also been working on a larger scoped project to get a fully featured android emulator to run with low latency in the browser, which is still very much a work in progress.
This is where I try to list some things I think I'm good at. Obviously it's not a comprehensive list, but it's what comes to mind.
I've been using Linux for a few years now, and it's been a ton of fun. I really like toying with the command line, and have gotten comfortable with a lot of the basic gnu tools. I understand the general concepts behind Nix now and use it as my daily OS. I can and like bash scripting, and in general hacking with the command line. I use neovim and enjoy TUI tools.
Over the past few years I've worked on a few full stack personal projects. As a result of over-engineering my website, I've learned next.js, prisma, and a bit about s3 too as I've built out a backend and integrated a database to allow for a WYSIWYG automated post editing system. Most of my react experience has been with next, but I'm eager to try out Vite with raw react and a seperate at some point, along with dabbling with GraphQL. I've done some bundling with esbuild and have done a lot of typescript. In 2024 I won CWRU's hackathon with a fullstack project that used OpenAI tools to scan on campus events to find events that had free food, and got to learn about how to integrate AI APIs and a bit about serverless and cronjobs, along with the MUI component library. I've also been working on a commissioned React Native application this year, and have a experience with android devtools and the mobile development process.
Since 9th grade I've been self-teaching Python
through lots of projects, articles, videos, and experiments. At this point, I'm quite adept in the language, and have some experience with UI design with PyQt6. I've also worked with asyncio/aiohttp/django/flask in the past for backend API development. I feel I have a pretty good grasp of the OOP concepts and more advanced features surrounding the language. I taught myself Java
over the past summer for university courses so, while it's not my most fluent language, I am comfortable coding in it. I understand the ideas behind OOP quite well, but I don't really think it's best for everything and feel Java goes a bit too far with OOP. I've spent the last two years mostly in typescript
, working on node personal projects and doing basic scripting. I've written a basic API with express, and have experience with some node tooling. This summer I've been learning a lot of nix
, which I'll put in a separate bullet.
In summer of 2024 I spent a lot of time learning the nix
language and how to use it to configure a nixos
operating system. I flashed my laptop from scratch with nixos
, without even a desktop environment. I was coming from a year with PopOS, but wasn't ready for such a massive adjustment and it was intense. I set up my desktop with hyprland, a wayland implementation, and configured everything declarativly with nix. I then started to get in the habit of packaging projects with nix flakes, to get pure project builds and consistent dev environments.
I first began working with Illustrator all the way back in elementary school, and I played a major part in my year's yearbook design. In middle school I used it for various personal projects, and for editing documents. Since then, I've used it to design marketing graphics at one of my jobs, and have tinkered with it to contrive art, create posters, and more. I also have a bit of experience with Premiere Pro and Audition too.
I'm a fluent English speaker, and believe that I have a very good grasp on the language. I've also just completed four years of Latin, which I've loved specifically because of how it's let me strengthen my grasp of English grammar and come to better understand how various words have come to be. Lingua Latina fortasse optima lingua est!
I love typing! Last I checked, I'm able to consistently type over 100WPM. Being able to spit out information as I think it is something I've always wanted to be able to do, and a skill I began working on consistently since middle school. I'm also a big vim proponent, and love the power of fast and powerful keystrokes -- I've even rebound my caps lock key to be an additional mod key for my laptop.
At this point I've taken math courses up to Calculus 3. I love how calculus compiles and applies all prior math knowledge. In addition to calc, I have a firm grasp of Algebra, Trig, and Geometry. I also took discrete math in 2024, and really enjoyed the theoretical nature of the class, and learning how to contrive and validate mathematical proofs.
The tools of the trade: I've been using Office and Google Workspace tools for years, and am very proficient with them. I also have picked up some LaTeX over the past few years, mostly during my time working on NATuG. I learned Typst for personal typesetting work, and, of course, I've been using Git for years to manage my various coding projects.