Viewing modeModo de vista

Meta-project · HTML · CSS · JS · Claude AI · In progress Meta-proyecto · HTML · CSS · JS · Claude AI · En proceso

This portfolio —
building while
learning.
Este portafolio —
construyendo mientras
aprendo.

A UX/UI designer who decided to build her portfolio from scratch in code — not to become a developer, but to understand how what she designs actually gets built. Built in collaboration with Claude AI. This is that process, documented. Una diseñadora UX/UI que decidió construir su portafolio desde cero en código — no para ser programadora, sino para entender cómo se construye lo que diseña. Construido en colaboración con Claude AI. Este es ese proceso, documentado.

StartInicio

March 2025Marzo 2025

StatusEstado

In progress — liveEn proceso — publicado

StackStack

HTML · CSS · JS · Claude AI

PublishedPublicado

GitHub Pages

A designer learning to code — not to replace developers, but to design better products. Una diseñadora aprendiendo a programar — no para reemplazar desarrolladores, sino para diseñar mejores productos.

This portfolio was built from scratch in HTML, CSS and JavaScript — in active collaboration with Claude AI — as a learning project and proof of concept. Every case study, every toggle, every bilingual text pair was written and debugged in real code. Este portafolio fue construido desde cero en HTML, CSS y JavaScript — en colaboración activa con Claude AI — como proyecto de aprendizaje y prueba de concepto. Cada case study, cada toggle, cada par de textos bilingüe fue escrito y depurado en código real.

The strategic decision: custom code over platform tools — no Figma Sites, no Webflow. Full ownership, no vendor lock-in, and a foundation that scales to React and Claude API integration. La decisión estratégica: código propio sobre herramientas de plataforma — sin Figma Sites, sin Webflow. Propiedad total, sin dependencia de proveedor, y una base que escala a React e integración con Claude API.

3
Case studies live — CLOOP, Less Load, Elastic BallCase studies publicados — CLOOP, Less Load, Elastic Ball
2
Learning tracks running in parallel — code + AITracks de aprendizaje en paralelo — código + IA
In progress — this portfolio grows with every projectEn proceso — este portafolio crece con cada proyecto

What was builtLo que se construyó

Stack & skillsStack y habilidades

HTML CSS JavaScript GitHub Pages Claude AI Design Systems Prompt Engineering

The decisionLa decisión

Why coding and not a platform.Por qué código, y no una plataforma.

The easy answer was Figma Sites, Wix, or Webflow. Fast, visual, no code required. But there was a longer-term reason to choose something harder: I want to understand how the products I design actually get built. Not to replace developers — to work better with them. La respuesta fácil era Figma Sites, Wix o Webflow. Rápido, visual, sin código. Pero había una razón de largo plazo para elegir algo más difícil: quiero entender cómo se construyen realmente los productos que diseño. No para reemplazar a los desarrolladores — para trabajar mejor con ellos.

The real reasonLa razón real

"I want to learn HTML, CSS, JavaScript and React — not to become a programmer, but because beyond being a designer I want to have the advantage of understanding how the product is going to be built. That way I can create more accurate designs from the start." "Quiero aprender HTML, CSS, JavaScript y React — no para ser programadora, sino porque más allá de ser diseñadora quiero tener el plus de entender cómo se va a construir el producto. De esa manera puedo crear diseños más acertados desde el inicio."

There was also a practical reason learned the hard way: platform tools create vendor lock-in. When a platform changes its pricing, shuts down a feature, or disappears entirely, you lose your work. Code you own stays yours. También había una razón práctica aprendida de la peor manera: las herramientas de plataforma crean dependencia del proveedor. Cuando una plataforma cambia sus precios, elimina una función o desaparece, pierdes tu trabajo. El código que posees se queda tuyo.

The challengeEl reto

A designer learning to think in code.Una diseñadora aprendiendo a pensar en código.

Design tools and code share some vocabulary — pixels, color codes, spacing — and those parts come naturally. But the mental model is completely different. In Figma, you see what you're making as you make it. In code, you have to imagine the visual result from text. That shift is harder than it sounds. Las herramientas de diseño y el código comparten algo de vocabulario — píxeles, códigos de color, espaciado — y esas partes salen de manera natural. Pero el modelo mental es completamente diferente. En Figma, ves lo que estás haciendo mientras lo haces. En código, tienes que imaginar el resultado visual desde el texto. Ese cambio es más difícil de lo que suena.

"Being a designer learning code — design in Figma works in pixels, color codes and those things, which I solve from my designer self. But code is a very strong mental shift." "Ser diseñadora aprendiendo código — el diseño en Figma funciona en píxeles, códigos de color y esas cosas, que resuelvo desde mi yo diseñadora. Pero el código es un cambio mental muy fuerte."

— Estefanía Reyes, on the processsobre el proceso

The unexpected discovery: seeing something visual form from lines of code is genuinely exciting. The feedback loop is different from design — slower, more intentional — but when it works, it works in a way that feels more permanent. You understand why it works, not just that it does. El descubrimiento inesperado: ver cómo algo visual se forma a partir de líneas de código es genuinamente emocionante. El ciclo de retroalimentación es diferente al diseño — más lento, más intencional — pero cuando funciona, funciona de una manera que se siente más permanente. Entiendes por qué funciona, no solo que funciona.

The systemEl sistema

What was actually built.Qué se construyó realmente.

The portfolio isn't just a collection of pages — it's a small design system built from scratch with consistent patterns across every case study. El portafolio no es solo una colección de páginas — es un pequeño sistema de diseño construido desde cero con patrones consistentes en cada case study.

🔀

Dual mode toggleToggle dual de modo

Executive summary / Academic deep-dive — CSS visibility switching with JS toggleResumen ejecutivo / Vista académica — cambio de visibilidad CSS con toggle JS

🌐

Full bilingual EN/ESBilingüe completo EN/ES

Every text in two languages via data-en / data-es attributes and body class switchingCada texto en dos idiomas mediante atributos data-en / data-es y cambio de clase en body

🎨

Per-project accent colorColor de acento por proyecto

Each case study has its own accent via CSS variables — CLOOP blue, Less Load purple, Elastic Ball redCada case study tiene su propio acento via variables CSS — azul CLOOP, morado Less Load, rojo Elastic Ball

📦

External image systemSistema de imágenes externas

Images extracted from base64 to /img/ folder for fast loading — from 13MB to ~50KB per HTMLImágenes extraídas de base64 a carpeta /img/ para carga rápida — de 13MB a ~50KB por HTML

Publishing stackStack de publicación

Write codeEscribir código
GitHub repository
GitHub Pages
estefania0421.github.io
HTML · CSS · JS (vanilla — no frameworks yet)HTML · CSS · JS (vanilla — sin frameworks aún)

The processEl proceso

Built in parallel.Construido en paralelo.

This portfolio was built while learning to code — not after. Every case study taught something new about HTML, CSS or JavaScript that got applied to the next one. Este portafolio se construyó mientras se aprendía a programar — no después. Cada case study enseñó algo nuevo sobre HTML, CSS o JavaScript que se aplicó al siguiente.

01

Portfolio structure + CLOOPEstructura del portafolio + CLOOP

First case study. Learned CSS custom properties, sticky nav, section layout. Established the visual system that every other case study follows.Primer case study. Aprendí propiedades CSS personalizadas, nav sticky, layout de secciones. Establecí el sistema visual que siguen todos los demás.

02

Executive / Academic toggle systemSistema de toggle ejecutivo / académico

CSS visibility switching with JavaScript — one toggle that shows completely different content without page reload. Applied to all case studies.Cambio de visibilidad CSS con JavaScript — un toggle que muestra contenido completamente diferente sin recarga de página. Aplicado a todos los case studies.

03

Full bilingual system EN/ESSistema bilingüe completo EN/ES

data-en / data-es attribute pattern with body class switching. 86+ translation pairs per case study. Same pattern as the main portfolio.Patrón de atributos data-en / data-es con cambio de clase en body. 86+ pares de traducción por case study. Mismo patrón que el portafolio principal.

04

Less Load + Elastic BallLess Load + Elastic Ball

Built fresh with the full system from day one — no retrofitting. Learned from CLOOP to establish the architecture before writing content.Construidos desde cero con el sistema completo desde el primer día — sin retoques posteriores. Aprendido de CLOOP: establecer la arquitectura antes de escribir el contenido.

05

Published on GitHub PagesPublicado en GitHub Pages

Learned: base64 images in HTML cause blank pages. Solved by extracting all images to /img/ folder — HTML went from 13MB to 50KB.Aprendido: las imágenes base64 en HTML causan páginas en blanco. Resuelto extrayendo todas las imágenes a la carpeta /img/ — el HTML pasó de 13MB a 50KB.

06

CV Maker + remaining projectsCV Maker + proyectos restantes

In progress. Concert Plaza and TripFlow marked as coming soon. CV Maker planned as executive-only, shorter and more visual.En proceso. Concert Plaza y TripFlow marcados como próximamente. CV Maker planeado como solo ejecutivo, más corto y visual.

07

React migration + Claude API chatbotMigración a React + chatbot Claude API

Planned. Once JavaScript foundations are solid, migrate to React. Then integrate Claude API as a portfolio assistant — the first AI-native feature.Planeado. Una vez sólidas las bases de JavaScript, migrar a React. Luego integrar la API de Claude como asistente del portafolio — la primera función nativa de IA.

The learning pathEl camino de aprendizaje

Two tracks, running in parallel.Dos tracks, en paralelo.

This portfolio is built on top of an active learning plan — not a 20-week course followed in order, but two parallel tracks that feed each other: one for code, one for AI. Every week something learned in a course gets applied directly to the portfolio. Este portafolio se construye sobre un plan de aprendizaje activo — no un curso de 20 semanas seguido en orden, sino dos tracks paralelos que se alimentan entre sí: uno de código, uno de IA. Cada semana algo aprendido en un curso se aplica directamente al portafolio.

Track A — Code (Udemy · Jonas Schmedtmann) Track A — Código (Udemy · Jonas Schmedtmann)

01

Build Responsive Real-World Websites with HTML and CSS

Foundations — Flexbox, CSS Grid, responsive design. Where this portfolio started.Fundamentos — Flexbox, CSS Grid, diseño responsivo. Donde empezó este portafolio.

In progressEn proceso
02

The Complete JavaScript Course

900k+ students. Explains JS from visual logic, not pure programmer logic — designed for this kind of learner.900k+ estudiantes. Explica JS desde la lógica visual, no desde la lógica de programador puro — diseñado para este tipo de aprendiz.

Up nextSiguiente
03

The Ultimate React Course — React 19

9 real projects. React 19, Next.js 16, Vite, Redux Toolkit, TailwindCSS, auth, production deploy. The final technical milestone.9 proyectos reales. React 19, Next.js 16, Vite, Redux Toolkit, TailwindCSS, autenticación, deploy a producción. El hito técnico final.

PlannedPlaneado

Track B — AI (Anthropic Academy · Free · Official certificates) Track B — IA (Anthropic Academy · Gratis · Certificados oficiales)

🟣

Claude 101

How Claude works, effective prompts, real use cases. No code required — the entry point.Cómo funciona Claude, prompts efectivos, casos de uso reales. Sin código — el punto de entrada.

CompletedCompletado
🟣

AI Fluency: Framework & Foundations

The flagship course. 4D framework: Delegation, Description, Discernment, Diligence. How to collaborate with AI effectively, efficiently and responsibly. With official certificate.El curso insignia. Framework 4D: Delegation, Description, Discernment, Diligence. Cómo colaborar con IA de forma efectiva, eficiente y responsable. Con certificado oficial.

Up nextSiguiente
🟣

Building with Claude API

8+ hours. System prompts, tool use, context windows, AI app architecture. The course that enables building the portfolio chatbot.8+ horas. System prompts, tool use, context windows, arquitectura de apps con IA. El curso que permite construir el chatbot del portafolio.

PlannedPlaneado
🟣

Introduction to Model Context Protocol (MCP)

The standard protocol for connecting AI to external tools. Highly valued in the 2026 market. The bonus track after the core plan.El protocolo estándar para conectar IA con herramientas externas. Muy valorado en el mercado 2026. El track bonus después del plan base.

PlannedPlaneado

Certificates to earn — all official Anthropic, verifiable on LinkedIn Certificados a obtener — todos oficiales de Anthropic, verificables en LinkedIn

✓ Claude 101

AI Fluency: Framework & Foundations

Building with Claude API

Introduction to MCP

AI collaborationColaboración con IA

Claude as collaborator,
not replacement.
Claude como colaborador,
no reemplazo.

This portfolio was built in active collaboration with Claude AI — and that collaboration started before a single line of code was written. The first step was taking Claude 101 to understand how the tool actually works, how to prompt effectively, and how to get the most out of it. From that foundation, a project was born. Este portafolio se construyó en colaboración activa con Claude AI — y esa colaboración empezó antes de escribir una sola línea de código. El primer paso fue tomar Claude 101 para entender cómo funciona realmente la herramienta, cómo hacer prompts efectivos y cómo sacarle el máximo. De esa base nació un proyecto.

What Claude did in this projectQué hizo Claude en este proyecto

Defined the learning roadmap · Generated and corrected code · Explained concepts when something wasn't understood · Maintained consistency across the design system · Helped debug real publishing errors · And accompanied the entire process — not as an answer machine, but as a thinking partner. Definió el camino de aprendizaje · Generó y corrigió el código · Explicó conceptos cuando algo no se entendía · Mantuvo la consistencia del sistema de diseño · Ayudó a depurar errores reales de publicación · Y acompañó todo el proceso — no como máquina de respuestas, sino como compañero de pensamiento.

But there's something important to say about this — something that gets lost in the "AI replaces professionals" discourse that's been repeated so much it's started to feel true. Pero hay algo importante que decir sobre esto — algo que se pierde en el discurso de "la IA reemplaza a los profesionales" que se ha repetido tanto que empezó a parecer verdad.

"Replacing a professional with AI, while it's been a much-used narrative, is a half-truth. You need to know the language — that's exactly why I'm learning to code. If I didn't know what I wanted to correct, it would be very hard to create what I really have in mind. If we stay only with what AI produces, we're going to end up in a world where everything looks the same." "Reemplazar a un profesional por la IA, si bien ha sido un discurso muy usado, es una verdad a medias. Necesitas conocer el lenguaje — por lo mismo estoy aprendiendo programación. Porque si no supiese qué quiero corregir, sería muy difícil crear lo que realmente tengo en mente. Si nos quedamos solo con lo que la IA produce, vamos a terminar en un mundo donde todo luce igual."

— Estefanía Reyes

The courses exist for exactly this reason. Learning HTML, CSS and JavaScript isn't about being able to build everything from scratch — it's about having enough language to direct, correct and push beyond what AI generates by default. The designer's eye, the design decisions, the narrative of each case study — those came from a person. Claude helped build the vehicle. The destination was always hers. Los cursos existen exactamente por eso. Aprender HTML, CSS y JavaScript no es para poder construir todo desde cero — es para tener suficiente lenguaje para dirigir, corregir y empujar más allá de lo que la IA genera por defecto. El ojo de diseñadora, las decisiones de diseño, la narrativa de cada case study — eso vino de una persona. Claude ayudó a construir el vehículo. El destino siempre fue de ella.

What I learnedLo que aprendí

The unexpected lessons.Las lecciones inesperadas.

01

Design decisions have technical consequencesLas decisiones de diseño tienen consecuencias técnicas

Every visual choice — a sticky nav, a smooth toggle, a bilingual system — requires understanding how the browser renders and manages state. Design and code are the same decision made twice.Cada decisión visual — un nav sticky, un toggle suave, un sistema bilingüe — requiere entender cómo el navegador renderiza y gestiona el estado. El diseño y el código son la misma decisión tomada dos veces.

02

Systems thinking scales; improvisation doesn'tEl pensamiento sistémico escala; la improvisación no

CLOOP was built without a clear architecture and had to be retrofitted three times. Less Load and Elastic Ball were built with the full system from day one and took a fraction of the time.CLOOP se construyó sin una arquitectura clara y tuvo que retocar tres veces. Less Load y Elastic Ball se construyeron con el sistema completo desde el primer día y tomaron una fracción del tiempo.

03

Platform independence is a design principleLa independencia de plataforma es un principio de diseño

Choosing vanilla HTML/CSS/JS over Figma Sites or Webflow means the portfolio works anywhere, scales to any future feature, and belongs entirely to its author. Vendor lock-in is a UX problem too.Elegir HTML/CSS/JS vanilla sobre Figma Sites o Webflow significa que el portafolio funciona en cualquier lugar, escala a cualquier función futura y pertenece completamente a su autora. La dependencia del proveedor también es un problema de UX.

04

Shipping beats perfectingPublicar supera a perfeccionar

A portfolio published with 3 solid case studies is worth more than a perfect one that exists only locally. The act of publishing — debugging real URLs, fixing real errors — taught more than any tutorial.Un portafolio publicado con 3 case studies sólidos vale más que uno perfecto que solo existe en local. El acto de publicar — depurar URLs reales, corregir errores reales — enseñó más que cualquier tutorial.