A Year in Review: 2025

2025-12-23

If I had to summarize 2025 in three words: build, ship, repeat.

This was a year of acceleration. I wrote more code, shipped more products, and learned more hard lessons than any year before. Here's what stood out.

Resumly.pro

For my senior capstone project I built Resumly.pro, an AI-powered resume generator that tailors your resume to specific job postings. You paste a job URL, the Python backend scrapes the key requirements, and Gemini generates a resume that actually speaks to what the employer is looking for. It was my first time building something end-to-end with web scraping, MongoDB, and Docker all working together. More importantly, it solved a problem I'd felt firsthand: applying to jobs with a generic resume and hoping for the best. I wrote more about it here.

I-Hack 2025

For the second year in a row, my team took first place at BYU-Idaho's hackathon. We built an AI-powered mock interviewer using Gemini that could ask technical questions, evaluate answers, and give feedback in real time. Competing against 20+ teams and coming out on top again was surreal. I wrote more about it here.

DataThink

In mid-2025 I joined DataThink as a Software Engineer. It's a startup building scalable infrastructure and products for clients, and my main focus has been full-stack development for Legrande Health, a healthcare company streamlining patient data management and prescription shipments.

The first real feature I shipped was an inventory management system. It helped Legrande track internal stock separately from inventory that other practices had already purchased, items that needed to be pre-built and ready to ship at a moment's notice. Watching the client actually use it daily was a turning point for me. This wasn't a class project. People depended on it.

Since then, I've helped build out CI/CD pipelines, internal tooling, and a full phone system using Twilio that now handles calls across 115+ medical practices processing 200+ orders weekly.

The hard lesson: I learned that I'm bad at estimating timelines. Early on I gave clients deadlines I couldn't hit, and it cost me sleep and credibility. I've since learned to build in buffers and communicate uncertainty upfront. It sounds obvious, but it wasn't until I failed at it a few times.

Claude changed how I work

At the start of the year I bounced between AI tools, mostly Gemini 2.5 Pro. In October I switched to Claude exclusively, and in November, Anthropic released Opus 4.5.

Here's a concrete example: the Twilio phone system I mentioned took about six weeks to build. Routing, transcription, patient advocate workflows, the whole thing. Without Claude, that's a three-month project, minimum. Claude Code with MCP integrations for Linear, GitHub, and Next.js has made me measurably faster.

I'm not a vibe coder. I don't let AI write code I don't understand. But having a model that can scaffold, debug, and iterate with me has been a genuine multiplier. Speed is a superpower, and this year I finally felt it.

I switched to macOS

After 4+ years of developing on Windows, I made the switch. The main drivers were battery life and performance. My M4 Pro handles everything I throw at it, including running local LLMs, without breaking a sweat.

I still carry a Pixel 10 Pro XL though. I like Apple hardware, but I'm not about ecosystem lock-in.

Looking ahead

In April I graduate from BYU-Idaho with my Computer Science degree. Three years of late nights, hackathons, and side projects all leading to this.

But honestly? I'm not anxious about what comes next. I'll be continuing at DataThink after graduation, building products for clients and growing as an engineer. That continuity feels like a gift.

2025 was the year I stopped thinking of myself as a student who codes and started thinking of myself as a developer who's still in school. 2026 is where it gets real.