chore: ruler files update

Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
This commit is contained in:
2026-05-24 21:03:49 -04:00
parent 97b3ddd653
commit abb472c83d
303 changed files with 46670 additions and 25369 deletions

View File

@@ -0,0 +1,367 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Alex Chen — Indie Developer & AI Creator</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
background: #FAFAF8;
font-family: 'Inter', sans-serif;
color: #2A2A28;
position: relative;
}
/* GLASSMORPHISM NAV */
nav {
position: fixed;
top: 0;
left: 0;
width: 1440px;
height: 64px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 80px;
background: rgba(250, 250, 248, 0.72);
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
border-bottom: 1px solid rgba(0,0,0,0.04);
z-index: 100;
}
nav .logo {
font-weight: 500;
font-size: 15px;
letter-spacing: 0.02em;
color: #2A2A28;
}
nav .logo .dot { color: #D4A574; }
nav ul {
list-style: none;
display: flex;
gap: 40px;
}
nav ul li a {
font-weight: 400;
font-size: 13px;
color: #888;
text-decoration: none;
letter-spacing: 0.01em;
transition: color 0.3s;
}
nav ul li a:hover { color: #2A2A28; }
nav .nav-cta a {
font-weight: 400;
font-size: 12px;
color: #2A2A28;
text-decoration: none;
padding: 8px 24px;
border: 1px solid rgba(0,0,0,0.08);
border-radius: 2px;
transition: all 0.3s;
letter-spacing: 0.02em;
}
nav .nav-cta a:hover {
border-color: #D4A574;
color: #D4A574;
}
/* HERO LAYOUT */
.hero {
position: absolute;
top: 0;
left: 0;
width: 1440px;
height: 900px;
display: flex;
align-items: center;
justify-content: center;
padding: 0 80px;
}
.hero-content {
display: flex;
align-items: center;
gap: 96px;
width: 100%;
max-width: 1200px;
}
/* LEFT: TEXT */
.hero-text {
flex: 1;
}
.hero-text .greeting {
font-weight: 400;
font-size: 11px;
color: #B0ACA4;
letter-spacing: 4px;
text-transform: uppercase;
margin-bottom: 24px;
}
.hero-text h1 {
font-weight: 200;
font-size: 80px;
line-height: 1.02;
letter-spacing: -0.04em;
color: #2A2A28;
}
.hero-text h1 strong {
font-weight: 500;
}
.hero-text h1 .gold-period {
color: #D4A574;
font-weight: 300;
}
.hero-text .tagline {
font-weight: 300;
font-size: 16px;
line-height: 1.8;
color: #999;
margin-top: 32px;
max-width: 440px;
}
/* CTA BUTTONS */
.hero-cta {
display: flex;
gap: 16px;
margin-top: 48px;
}
.btn-primary {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: 'Inter', sans-serif;
font-weight: 400;
font-size: 13px;
color: #FAFAF8;
background: #2A2A28;
border: none;
padding: 14px 32px;
border-radius: 2px;
cursor: pointer;
transition: all 0.3s;
text-decoration: none;
letter-spacing: 0.02em;
}
.btn-primary:hover { background: #3A3A38; }
.btn-secondary {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: 'Inter', sans-serif;
font-weight: 400;
font-size: 13px;
color: #888;
background: transparent;
border: 1px solid rgba(0,0,0,0.08);
padding: 14px 32px;
border-radius: 2px;
cursor: pointer;
transition: all 0.3s;
text-decoration: none;
letter-spacing: 0.02em;
}
.btn-secondary:hover { border-color: #D4A574; color: #D4A574; }
/* RIGHT: CARDS + PORTRAIT */
.hero-visual {
flex: 0 0 460px;
position: relative;
height: 520px;
}
/* PORTRAIT */
.portrait {
width: 200px;
height: 200px;
border-radius: 50%;
background: #EDECE8;
position: absolute;
top: 0;
right: 40px;
box-shadow: 0 20px 60px rgba(0,0,0,0.06);
overflow: hidden;
}
.portrait::after {
content: '';
position: absolute;
bottom: 0; left: 50%;
transform: translateX(-50%);
width: 110px;
height: 130px;
background: #D8D6D0;
border-radius: 55px 55px 0 0;
}
/* FLOATING CARDS */
.card {
position: absolute;
background: #FFFFFF;
border: 1px solid rgba(0,0,0,0.04);
border-radius: 2px;
padding: 24px;
box-shadow: 0 4px 24px rgba(0,0,0,0.03);
}
.card-1 {
top: 60px;
left: 0;
width: 220px;
}
.card-2 {
top: 240px;
left: 60px;
width: 240px;
}
.card-3 {
top: 180px;
right: 0;
width: 200px;
}
.card .card-number {
font-weight: 200;
font-size: 32px;
letter-spacing: -0.02em;
color: #2A2A28;
line-height: 1;
}
.card .card-number .gold { color: #D4A574; font-weight: 300; }
.card .card-label {
font-weight: 400;
font-size: 10px;
color: #B0ACA4;
margin-top: 8px;
letter-spacing: 2px;
text-transform: uppercase;
}
.card .card-desc {
font-weight: 300;
font-size: 12px;
color: #999;
margin-top: 8px;
line-height: 1.5;
}
/* GOLD ACCENT LINE */
.accent-line {
position: absolute;
bottom: 0;
left: 100px;
width: 48px;
height: 2px;
background: #D4A574;
border-radius: 1px;
}
/* Removed dot-grid — Build: zero decorative elements */
/* BOTTOM TICKER */
.bottom-bar {
position: absolute;
bottom: 0;
left: 0;
width: 1440px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
gap: 48px;
border-top: 1px solid rgba(0,0,0,0.04);
}
.bottom-bar span {
font-weight: 300;
font-size: 11px;
color: #BBB;
letter-spacing: 0.08em;
}
.bottom-bar .sep {
width: 4px;
height: 4px;
border-radius: 50%;
background: #D4A574;
opacity: 0.5;
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<div class="logo">alex chen<span class="dot"> .</span></div>
<ul>
<li><a href="#work">Work</a></li>
<li><a href="#content">Content</a></li>
<li><a href="#services">Services</a></li>
</ul>
<div class="nav-cta">
<a href="#contact">Get in Touch</a>
</div>
</nav>
<!-- HERO -->
<div class="hero">
<div class="hero-content">
<!-- TEXT -->
<div class="hero-text">
<div class="greeting">Indie Developer & AI Creator</div>
<h1>Alex<br><strong>Chen</strong><span class="gold-period">.</span></h1>
<p class="tagline">Building tools at the intersection of AI and creativity. Shipping products, writing stories, shaping ideas.</p>
<div class="hero-cta">
<a href="#work" class="btn-primary">
View Work
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>
</a>
<a href="#content" class="btn-secondary">Read Articles</a>
</div>
</div>
<!-- VISUAL -->
<div class="hero-visual">
<div class="portrait"></div>
<div class="card card-1">
<div class="card-number">300K<span class="gold">+</span></div>
<div class="card-label">Followers</div>
<div class="card-desc">Across platforms, building in public</div>
</div>
<div class="card card-2">
<div class="card-number"><span class="gold">#</span>1</div>
<div class="card-label">App Store</div>
<div class="card-desc">Top paid app, shipped as a solo developer</div>
</div>
<div class="card card-3">
<div class="card-number">100<span class="gold">+</span></div>
<div class="card-label">Articles</div>
<div class="card-desc">On AI, dev, and creative tools</div>
</div>
<div class="accent-line"></div>
</div>
</div>
</div>
<!-- BOTTOM BAR -->
<div class="bottom-bar">
<span>Developer</span>
<div class="sep"></div>
<span>Writer</span>
<div class="sep"></div>
<span>AI Creator</span>
<div class="sep"></div>
<span>Speaker</span>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -0,0 +1,368 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Alex Chen — Indie Developer & AI Creator</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
background: #FFFFFF;
font-family: 'Helvetica Neue', Arial, sans-serif;
color: #111111;
position: relative;
}
/* NAV */
nav {
position: absolute;
top: 0; left: 0; right: 0;
height: 72px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 80px;
border-bottom: 1px solid #111;
z-index: 10;
}
nav .logo {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-weight: 700;
font-size: 16px;
letter-spacing: 0.08em;
text-transform: uppercase;
}
nav .logo span { color: #E63946; }
nav ul {
list-style: none;
display: flex;
gap: 48px;
}
nav ul li a {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-weight: 500;
font-size: 11px;
letter-spacing: 0.18em;
text-transform: uppercase;
text-decoration: none;
color: #111;
transition: color 0.2s;
}
nav ul li a:hover { color: #E63946; }
nav .nav-contact a {
background: #111;
color: #fff;
padding: 10px 28px;
font-family: 'Helvetica Neue', Arial, sans-serif;
font-weight: 500;
font-size: 11px;
letter-spacing: 0.14em;
text-transform: uppercase;
text-decoration: none;
transition: background 0.2s;
}
nav .nav-contact a:hover { background: #E63946; }
/* MAIN GRID */
.hero {
position: absolute;
top: 72px;
left: 0;
right: 0;
bottom: 0;
display: grid;
grid-template-columns: 1fr 1px 1fr;
grid-template-rows: 1fr;
}
/* LEFT PANEL */
.hero-left {
padding: 64px 80px;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.hero-left .intro-label {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 11px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: #999;
margin-bottom: 16px;
}
.hero-left .name {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-weight: 900;
font-size: 112px;
line-height: 0.92;
letter-spacing: -0.03em;
color: #111;
}
.hero-left .name .accent { color: #E63946; }
.hero-left .tagline {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-weight: 300;
font-size: 20px;
line-height: 1.6;
color: #555;
max-width: 480px;
margin-top: 32px;
}
/* STATS ROW */
.stats-row {
display: flex;
gap: 0;
border-top: 1px solid #111;
padding-top: 32px;
}
.stat-item {
flex: 1;
position: relative;
}
.stat-item:not(:last-child)::after {
content: '';
position: absolute;
right: 0;
top: 0;
height: 100%;
width: 1px;
background: #DDD;
}
.stat-item .stat-number {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-weight: 700;
font-size: 48px;
letter-spacing: -0.02em;
color: #111;
line-height: 1;
}
.stat-item .stat-number .red { color: #E63946; }
.stat-item .stat-label {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 11px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: #999;
margin-top: 8px;
}
/* CENTER DIVIDER */
.divider {
background: #111;
}
/* RIGHT PANEL */
.hero-right {
padding: 64px 80px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
background: #FAFAFA;
}
/* PORTRAIT PLACEHOLDER */
.portrait-wrap {
position: relative;
width: 320px;
height: 320px;
}
.portrait-circle {
width: 320px;
height: 320px;
border-radius: 50%;
background: #E8E8E8;
position: relative;
overflow: hidden;
}
.portrait-circle::after {
content: '';
position: absolute;
bottom: 0; left: 50%;
transform: translateX(-50%);
width: 180px;
height: 200px;
background: #D0D0D0;
border-radius: 90px 90px 0 0;
}
.portrait-frame {
position: absolute;
top: -12px;
left: -12px;
width: 344px;
height: 344px;
border: 1px solid #E63946;
border-radius: 50%;
}
/* RED INDEX MARKER */
.index-marker {
position: absolute;
bottom: 64px;
right: 80px;
text-align: right;
}
.index-marker .idx-num {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-weight: 700;
font-size: 120px;
line-height: 0.85;
color: #E63946;
opacity: 0.1;
}
.index-marker .idx-label {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 11px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: #999;
margin-top: 8px;
}
/* DECORATIVE ELEMENTS */
.corner-mark {
position: absolute;
top: 64px;
right: 80px;
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 11px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: #CCC;
}
.hero-right .role-tags {
margin-top: 40px;
display: flex;
gap: 12px;
}
.role-tags span {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 11px;
letter-spacing: 0.12em;
text-transform: uppercase;
padding: 8px 20px;
border: 1px solid #CCC;
color: #666;
transition: all 0.2s;
}
.role-tags span:hover {
border-color: #E63946;
color: #E63946;
}
/* SCROLL CTA */
.scroll-cta {
position: absolute;
bottom: 28px;
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.scroll-cta span {
font-family: 'Helvetica Neue', Arial, sans-serif;
font-size: 10px;
letter-spacing: 0.2em;
text-transform: uppercase;
color: #BBB;
}
.scroll-cta .arrow-down {
width: 1px;
height: 32px;
background: #CCC;
position: relative;
}
.scroll-cta .arrow-down::after {
content: '';
position: absolute;
bottom: 0;
left: -3px;
width: 7px;
height: 7px;
border-right: 1px solid #CCC;
border-bottom: 1px solid #CCC;
transform: rotate(45deg);
}
</style>
</head>
<body>
<!-- NAVIGATION -->
<nav>
<div class="logo">Alex<span>.</span>Chen</div>
<ul>
<li><a href="#work">Work</a></li>
<li><a href="#content">Content</a></li>
<li><a href="#services">Services</a></li>
</ul>
<div class="nav-contact">
<a href="#contact">Contact</a>
</div>
</nav>
<!-- HERO -->
<div class="hero">
<!-- LEFT -->
<div class="hero-left">
<div>
<div class="intro-label">Indie Developer / AI Creator</div>
<h1 class="name">Alex<br>Chen<span class="accent">.</span></h1>
<p class="tagline">Building tools at the intersection of AI and creativity.</p>
</div>
<div class="stats-row">
<div class="stat-item">
<div class="stat-number">300K<span class="red">+</span></div>
<div class="stat-label">Followers</div>
</div>
<div class="stat-item" style="padding-left: 32px;">
<div class="stat-number">#1</div>
<div class="stat-label">App Store</div>
</div>
<div class="stat-item" style="padding-left: 32px;">
<div class="stat-number">100<span class="red">+</span></div>
<div class="stat-label">Articles</div>
</div>
</div>
</div>
<!-- DIVIDER -->
<div class="divider"></div>
<!-- RIGHT -->
<div class="hero-right">
<div class="corner-mark">Portfolio 2026</div>
<div class="portrait-wrap">
<div class="portrait-circle"></div>
<div class="portrait-frame"></div>
</div>
<div class="role-tags">
<span>Developer</span>
<span>Writer</span>
<span>Creator</span>
</div>
<div class="index-marker">
<div class="idx-num">01</div>
<div class="idx-label">Hero</div>
</div>
</div>
</div>
<!-- SCROLL CTA -->
<div class="scroll-cta">
<span>Scroll</span>
<div class="arrow-down"></div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -0,0 +1,459 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=1440">
<title>Alex Chen — Indie Developer & AI Creator</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Noto+Serif+SC:wght@300;400;600&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest"></script>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1440px;
height: 900px;
overflow: hidden;
margin: 0;
background: #F5F0EB;
font-family: 'Inter', sans-serif;
color: #3D3D3A;
position: relative;
}
/* PAPER TEXTURE */
body::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background:
repeating-linear-gradient(
0deg,
transparent,
transparent 2px,
rgba(0,0,0,0.008) 2px,
rgba(0,0,0,0.008) 4px
),
repeating-linear-gradient(
90deg,
transparent,
transparent 2px,
rgba(0,0,0,0.005) 2px,
rgba(0,0,0,0.005) 4px
);
pointer-events: none;
z-index: 1;
}
/* NAV */
nav {
position: absolute;
top: 0; left: 0; right: 0;
height: 72px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 80px;
z-index: 10;
}
nav .logo {
font-family: 'Noto Serif SC', serif;
font-weight: 400;
font-size: 16px;
color: #3D3D3A;
letter-spacing: 0.02em;
}
nav ul {
list-style: none;
display: flex;
gap: 36px;
align-items: center;
}
nav ul li a {
font-weight: 400;
font-size: 13px;
color: #8A8A84;
text-decoration: none;
letter-spacing: 0.01em;
transition: color 0.3s;
}
nav ul li a:hover { color: #3D3D3A; }
nav ul li.active a { color: #3D3D3A; }
/* Hairline below nav */
nav::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 48px;
height: 1px;
background: #C8C2B6;
}
/* MAIN LAYOUT - ASYMMETRIC */
.hero {
position: absolute;
top: 72px;
left: 0;
width: 1440px;
height: 828px;
display: grid;
grid-template-columns: 120px 1fr 400px 120px;
grid-template-rows: 1fr;
align-items: center;
z-index: 2;
}
/* LEFT MARGIN ELEMENT */
.margin-left {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
padding-bottom: 80px;
height: 100%;
}
.margin-left .vertical-text {
writing-mode: vertical-rl;
font-size: 10px;
letter-spacing: 0.18em;
color: #B8B2A6;
font-weight: 300;
}
/* CENTER CONTENT */
.hero-center {
padding: 0 40px;
display: flex;
flex-direction: column;
justify-content: center;
}
.hero-center .section-label {
font-size: 10px;
letter-spacing: 0.16em;
text-transform: uppercase;
color: #6B8F71;
font-weight: 500;
margin-bottom: 32px;
opacity: 0.8;
}
.hero-center h1 {
font-family: 'Noto Serif SC', serif;
font-weight: 300;
font-size: 56px;
line-height: 1.25;
letter-spacing: -0.01em;
color: #2D3436;
}
.hero-center h1 .serif-accent {
font-family: 'Noto Serif SC', serif;
font-weight: 600;
font-style: normal;
color: #2D3436;
}
/* HAIRLINE DIVIDER */
.hairline {
width: 48px;
height: 1px;
background: #C8C2B6;
margin: 36px 0;
}
.hero-center .tagline {
font-weight: 300;
font-size: 16px;
line-height: 1.8;
color: #8A8A84;
max-width: 420px;
}
/* STATS - HORIZONTAL */
.stats {
display: flex;
gap: 48px;
margin-top: 48px;
}
.stat {
display: flex;
flex-direction: column;
}
.stat .stat-value {
font-family: 'Noto Serif SC', serif;
font-weight: 600;
font-size: 28px;
color: #2D3436;
letter-spacing: -0.01em;
line-height: 1;
}
.stat .stat-desc {
font-size: 11px;
color: #B8B2A6;
margin-top: 8px;
letter-spacing: 0.04em;
font-weight: 400;
}
/* CTA */
.hero-cta {
margin-top: 48px;
display: flex;
gap: 20px;
align-items: center;
}
.cta-link {
font-weight: 500;
font-size: 13px;
color: #3D3D3A;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 0;
border-bottom: 1px solid #C8C2B6;
transition: all 0.3s;
}
.cta-link:hover { border-color: #6B8F71; color: #6B8F71; }
.cta-link svg { width: 14px; height: 14px; }
.cta-dot {
width: 4px;
height: 4px;
border-radius: 50%;
background: #C8C2B6;
}
.cta-subtle {
font-weight: 300;
font-size: 13px;
color: #B8B2A6;
text-decoration: none;
transition: color 0.3s;
}
.cta-subtle:hover { color: #3D3D3A; }
/* RIGHT PANEL */
.hero-right {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 20px;
position: relative;
}
/* PORTRAIT */
.portrait-container {
position: relative;
}
.portrait {
width: 180px;
height: 180px;
border-radius: 50%;
background: #EAE5DD;
overflow: hidden;
position: relative;
border: 1px solid rgba(200, 194, 182, 0.4);
}
.portrait::after {
content: '';
position: absolute;
bottom: 0; left: 50%;
transform: translateX(-50%);
width: 96px;
height: 110px;
background: #D5CEC4;
border-radius: 48px 48px 0 0;
}
.portrait-ring {
position: absolute;
top: -16px; left: -16px;
width: 212px;
height: 212px;
border-radius: 50%;
border: 1px solid rgba(107, 143, 113, 0.2);
}
/* BIO CARD */
.bio-card {
margin-top: 36px;
background: rgba(255,255,255,0.5);
border: 1px solid rgba(0,0,0,0.04);
border-radius: 12px;
padding: 24px 28px;
width: 260px;
backdrop-filter: blur(8px);
}
.bio-card .bio-name {
font-family: 'Noto Serif SC', serif;
font-weight: 600;
font-size: 15px;
color: #3D3D3A;
}
.bio-card .bio-role {
font-size: 12px;
color: #B8B2A6;
margin-top: 4px;
font-weight: 300;
}
.bio-card .bio-hairline {
width: 32px;
height: 1px;
background: #C8C2B6;
margin: 16px 0;
}
.bio-card .bio-desc {
font-size: 12px;
line-height: 1.7;
color: #8A8A84;
font-weight: 300;
}
/* RIGHT MARGIN */
.margin-right {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding-top: 80px;
height: 100%;
}
.margin-right .year {
writing-mode: vertical-rl;
font-size: 10px;
letter-spacing: 0.18em;
color: #C8C2B6;
font-weight: 300;
}
/* DECORATIVE: FLOATING LEAF/ORGANIC SHAPE */
.organic-shape {
position: absolute;
top: 140px;
right: 280px;
width: 60px;
height: 80px;
z-index: 3;
opacity: 0.08;
}
.organic-shape svg {
width: 100%;
height: 100%;
}
/* BOTTOM AREA */
.bottom-zen {
position: absolute;
bottom: 40px;
left: 50%;
transform: translateX(-50%);
display: flex;
align-items: center;
gap: 24px;
z-index: 5;
}
.bottom-zen .zen-line {
width: 48px;
height: 1px;
background: #C8C2B6;
}
.bottom-zen .zen-text {
font-size: 10px;
letter-spacing: 0.14em;
color: #C8C2B6;
font-weight: 300;
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<div class="logo">Alex Chen</div>
<ul>
<li class="active"><a href="#work">Work</a></li>
<li><a href="#content">Content</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
<!-- DECORATIVE: Subtle spec annotation -->
<svg style="position:absolute;top:100px;right:340px;z-index:3;opacity:0.15;" width="60" height="60" viewBox="0 0 60 60" fill="none">
<circle cx="30" cy="30" r="28" stroke="#6B8F71" stroke-width="0.5"/>
<circle cx="30" cy="30" r="18" stroke="#6B8F71" stroke-width="0.5" stroke-dasharray="2,4"/>
<line x1="30" y1="0" x2="30" y2="60" stroke="#6B8F71" stroke-width="0.3"/>
<line x1="0" y1="30" x2="60" y2="30" stroke="#6B8F71" stroke-width="0.3"/>
</svg>
<!-- HERO -->
<div class="hero">
<!-- LEFT MARGIN -->
<div class="margin-left">
<div class="vertical-text">PORTFOLIO</div>
</div>
<!-- CENTER -->
<div class="hero-center">
<div class="section-label">Indie Developer & AI Creator</div>
<h1>Building tools<br>at the intersection<br>of <span class="serif-accent">AI</span> and <span class="serif-accent">creativity</span></h1>
<div class="hairline"></div>
<p class="tagline">I design, build, and write about the things that emerge when technology meets human imagination.</p>
<div class="stats">
<div class="stat">
<div class="stat-value">300K+</div>
<div class="stat-desc">followers</div>
</div>
<div class="stat">
<div class="stat-value">No. 1</div>
<div class="stat-desc">App Store</div>
</div>
<div class="stat">
<div class="stat-value">100+</div>
<div class="stat-desc">articles published</div>
</div>
</div>
<div class="hero-cta">
<a href="#work" class="cta-link">
Explore Work
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>
</a>
<div class="cta-dot"></div>
<a href="#content" class="cta-subtle">Read Writing</a>
</div>
</div>
<!-- RIGHT -->
<div class="hero-right">
<div class="portrait-container">
<div class="portrait"></div>
<div class="portrait-ring"></div>
</div>
<div class="bio-card">
<div class="bio-name">Alex Chen</div>
<div class="bio-role">Developer / Writer / Creator</div>
<div class="bio-hairline"></div>
<div class="bio-desc">Shipping AI-powered products as an independent maker. Writing about the craft of building.</div>
</div>
</div>
<!-- RIGHT MARGIN -->
<div class="margin-right">
<div class="year">2026</div>
</div>
</div>
<!-- BOTTOM ZEN -->
<div class="bottom-zen">
<div class="zen-line"></div>
<div class="zen-text">Design as inquiry</div>
<div class="zen-line"></div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB