How I Built This Website
An economics student, a lot of curiosity, and an AI assistant walk into a code editor.
I should be upfront about something: six months ago, I couldn't have told you the difference between React and Angular. I'm an economics major. My tools are Python, Jupyter notebooks, SQL, and a lot of Excel. I've never taken a web development class. I've never written CSS from scratch. The closest I'd gotten to frontend development was changing the font on a Google Slides presentation.
And yet, here you are, looking at a portfolio website with scroll animations, interactive charts, and a dark theme that I'm honestly pretty proud of. So how did that happen?
The short answer: I used AI. The longer answer is more interesting.
Why I wanted to build this
I'd been reading about how the job market is getting more competitive, especially for business analyst and finance roles. Everyone has a resume. Everyone has a LinkedIn. I wanted something that actually showed my work, not just listed it in bullet points.
I looked at portfolio templates. They were fine. Generic. They all looked the same. I wanted something that felt like me, that a recruiter would actually remember after scrolling through fifty applications. But I didn't know how to build it.
Around the same time, I kept seeing articles about AI coding assistants. People building apps in hours that would've taken weeks. I was skeptical, honestly. But I figured: what's the worst that happens? I waste a weekend and learn something.
What I actually did
I started with Claude Code, Anthropic's AI coding tool. I told it what I wanted: a portfolio site with a dark theme, scroll animations, sections for my projects and writing. It suggested Next.js and Tailwind CSS. I didn't know what either of those were.
Here's what surprised me: the AI didn't just dump code on me. It explained choices. Why server components vs client components. Why Tailwind instead of regular CSS. Why this font pairing works. I learned more about web development in two days than I would've in a month of tutorials, because I was learning in the context of something I actually cared about building.
But it wasn't magic. Not even close.
What went wrong (a lot)
The first version of this site was honestly kind of ugly. Gold text on black with glass-morphism cards everywhere. It looked like every AI-generated portfolio on the internet. I showed it to a friend and she said “it looks like ChatGPT made it.” That stung, but she was right.
So I went back and forth. A lot. I'd describe what I wanted, see the result, realize it wasn't what I meant, try to explain better. The AI is fast, but it doesn't have taste. It doesn't know that something feels off. That's still a human job.
Some specific things that broke along the way:
- The smooth scroll library I added made the whole page laggy. Had to rip it out and just use CSS.
- School logos from Wikipedia wouldn't load because of hotlinking restrictions. Ended up using simple gradient badges instead.
- The resume PDF kept rendering as two pages because the LaTeX spacing was too aggressive. Took like eight compile cycles to get it right.
- My last name was literally invisible for a while. Black text on a black background. Nobody noticed for hours.
- The CI pipeline kept failing because of ESLint rules about unescaped quotes in my essays. Turns out you can't just write regular English in JSX.
Each of these took time to figure out. The AI could generate code fast, but debugging, iterating on design, and making judgment calls about what looks good? That was all me.
What I learned about AI as a tool
I think a lot of people have this binary view of AI. Either you “used AI” (cheating) or you “did it yourself” (legitimate). But that's not how it works in practice.
I directed every decision. The color scheme, the section order, which projects to highlight, what tone the essays should have, which experience bullets to rewrite and how. The AI was like having a very fast, very patient collaborator who knows every JavaScript API but has zero opinions about whether something actually looks good or tells the right story.
The projects on this site are real. I built the VAR model. I trained the XGBoost classifier. I scraped the skincare data. The AI helped me present that work in a way that people would actually want to look at. I don't think that's cheating any more than using Excel instead of doing math by hand is cheating.
The value isn't in knowing how to center a div. It's in having something worth centering.
The economics angle
As an econ student, I can't help thinking about this through a labor economics lens. AI coding tools are basically a massive productivity multiplier for people who have domain knowledge but lack specialized technical skills. I know what analysis to run and why it matters. I didn't know how to make a website that shows it off. Now I can.
That's going to change who competes for what jobs. An economics student who can ship a data dashboard isn't competing with other econ students anymore. She's competing with junior developers. And a developer who can use AI to move faster isn't just a developer anymore.
I don't know exactly where this goes. But I know that the people who figure out how to combine domain expertise with AI tools are going to have a massive advantage. Building this website was my first experiment with that idea. It won't be my last.
The tech stack, for the curious
In case anyone wants the specifics: this site is built with Next.js 16, Tailwind CSS, and Framer Motion for the scroll animations. The charts on the project pages use Recharts. The flowing lines on the hero are a custom canvas animation. It's deployed on Vercel with automatic deploys from GitHub. The resume is compiled from LaTeX.
Six months ago, I understood maybe three words in that paragraph. I still wouldn't call myself a developer. But I can read the code, understand what it does, and modify it when I need to. That feels like a pretty good outcome for a weekend project that got slightly out of hand.
If you're a student thinking about building something similar, my honest advice: just start. Don't wait until you know enough. Use whatever tools are available. The hard part isn't the code. It's figuring out what you want to say.