Okay so I'll be real — writing a "tech stack" post always felt a little self-indulgent to me. Like, who cares what tools I use? But the more I thought about it, the more I realized: I actually get a ton out of reading other developers' stack breakdowns. Especially people who are in similar situations. So here's mine.
Right now I'm in a weird but exciting in-between: finishing my CS degree at Houston Christian University, building real products at Belsade Tech (an AI startup), applying to software engineering roles, and shipping side projects on top of all of that. My stack has to work for all of those contexts at once — academic credibility, startup speed, and job-market relevance. That tension is actually what shapes every decision below.
Here's everything I'm leaning on in 2026, why it made the cut, and what I'm still picking up along the way.
01 — Frontend: React + Next.js stays king
I've tried to quit Next.js twice. I keep coming back. The combination of server components, file-based routing, and the ecosystem around it remains the most productive way I know to ship polished web UIs quickly. My portfolio (jonathancontreras.com), the CampusConnect student hub I'm building and every other project I work on all run Next.js.
For styling I'm all-in on Tailwind CSS. Not because it's trendy — because it keeps me in the component file instead of context-switching to a separate stylesheet. I pair it with shadcn/ui for accessible primitives and pull from Framer Motion when a project needs something with personality.
Stack: React 19, Next.js 16, Tailwind CSS, shadcn/ui
02 — Backend: Supabase & Convex day-to-day, Spring Boot on the horizon
My default backends are Supabase and Convex, and honestly they cover most of what I need.
Supabase is my go-to when the project is relational at heart. You get a real PostgreSQL database, row-level security, auth, and storage out of the box. It feels like cheating until you realize it's just a well-designed product. Convex I reach for when a feature needs real-time reactivity — it handles the sync layer so you don't have to think about it, which is a huge deal when you're building collaborative or live-updating features.
For scripting, data work, and AI integrations, I default to Python. My NLP coursework and machine learning projects runs Python.
Now — Spring Boot. I'm being upfront here: I recently started learning it. I'm picking it up specifically because I'm applying to Sysco, and enterprise Java is very much the world they operate in. It's been a genuinely interesting shift — dependency injection, JPA, thinking in types, understanding how a mature framework is structured. I'm early in it, but I'm taking it seriously and building with it as I go.
How I decide which backend to reach for:
- Day-to-day projects and prototypes — Supabase or Convex depending on whether I need real-time.
- Anything enterprise-facing or resume-worthy — Spring Boot, even if it means taking more time to learn as I build.
Stack: Supabase, Convex, Python 3.12, Spring Boot 3 (in progress)
03 — AI & Integration: Building with AI APIs, not just using them
With the way technology is shifting, I have been spending time evaluating AI models for agentic applications. Right now Claude (Anthropic) is my go-to for anything requiring nuanced reasoning and tool use. The API is clean, the context windows are generous, and the models genuinely follow complex instructions — which matters when you're building AI-powered workflows, not just chatbots. I default to claude too since I have my subscription, so it feels like a no brainer.
For the FIXR vehicle maintenance app, we're prototyping features that need structured output and reliable function calling. Since at the moment we are not bring in any revenue, we decided to go with Gemini 2.5-flash since its very cost effective. I also reach for Hugging Face models when I need something self-hosted or need to experiment for coursework.
Stack: Anthropic Claude API, Gemini API, Hugging Face, scikit-learn / NLTK, R (tidyverse)
04 — Infrastructure & Tooling: The invisible layer that keeps everything running
My home network runs a Tailscale mesh with a Pi-hole DNS sinkhole. This setup taught me more about networking, DNS resolution, and zero-trust architecture than any class. Everything I touch is version-controlled on GitHub — I run GitHub workshops at HCU, so I eat my own cooking here.
For deployment, I'm using Vercel for Next.js frontends (it's still the easiest path from push to prod). Docker has become non-negotiable for keeping local dev and production parity sane.
Stack: GitHub, Docker, Tailscale, Vercel
05 — What I want to learn in 2026
Honestly, writing this post made me realize how much I still want to learn. That's not a bad thing — it means I'm paying attention. Here's what's on my radar for the rest of 2026.
Kubernetes & container orchestration
I know Docker. I use it fairly regularly. But I've been avoiding Kubernetes because it felt like overkill for what I was building. That's starting to change — especially as Belsade's services grow and I want to be a stronger candidate for roles that touch distributed systems.
LLM fine-tuning & RAG pipelines
Working with AI APIs is one thing. Understanding what's happening under the hood — how to fine-tune a model for a specific domain, how to build a reliable RAG pipeline, how to evaluate outputs at scale — is a completely different skillset. Given where Belsade is headed, this one isn't optional for me.
TypeScript, properly
I use TypeScript. But I'll admit — I've been using it like JavaScript with a seatbelt. This year I want to actually lean into generics, utility types, and strict mode without fighting it. It's one of those things where the investment compounds over time.
06 — Final thought: Build things. Break things. Ship things.
Every tool on this list earned its spot by helping me ship something real — a startup feature, a church site, a campus project, a homework submission that actually ran. If it hasn't shipped, it doesn't count.
What does your stack look like? I'm always curious what other developers in similar situations are choosing — especially if you're also doing the school + startup + job hunt juggle. Reach out on the contact page. I genuinely want to know.