Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 16 additions & 14 deletions css/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -504,34 +504,36 @@ button:focus-visible {
}

.about__stats {
display: flex;
gap: 3rem;
margin-top: 2.5rem;
padding-top: 2rem;
display: grid;
grid-template-columns: repeat(2, minmax(0, max-content));
gap: 1rem 2rem;
align-items: baseline;
margin-top: 1.75rem;
padding-top: 1.25rem;
border-top: 1px solid rgba(26, 26, 26, 0.1);
}

.about__stat {
display: flex;
flex-direction: column;
align-items: baseline;
gap: 0.5rem;
}

.about__stat-number {
font-family: var(--font-body);
font-weight: 700;
font-size: 2.25rem;
.about__stat-value {
font-family: var(--font-display);
font-weight: 800;
font-size: 1rem;
color: var(--color-accent);
line-height: 1.1;
line-height: 1;
}

.about__stat-label {
font-family: var(--font-display);
font-size: 0.75rem;
font-weight: 500;
font-size: 0.72rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--color-muted);
margin-top: 0.35rem;
}

/* =============================================
Expand Down Expand Up @@ -1430,7 +1432,7 @@ button:focus-visible {
}

.about__stats {
flex-direction: row;
grid-template-columns: 1fr;
gap: 2rem;
}

Expand Down
43 changes: 16 additions & 27 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,8 @@ <h2 class="about__heading">About</h2>
<a href="https://nomnom.cc" target="_blank" rel="noopener noreferrer" class="text-link">NomNom</a>, a
dining-hall delivery marketplace for UCSD's ~40k students, building both the student and rider apps before
UCSD admin shut us down. This was my most public failure, and it taught us that consumer products that
depend on institutional permission are fragile.
depend on institutional permission are fragile. That is why Outfitr starts with personal wardrobes first,
then brings in friends for the social layer.
</p>

<p class="about__paragraph">
Expand Down Expand Up @@ -260,26 +261,14 @@ <h2 class="about__heading">About</h2>
using TypeScript, React, Node.js, Prisma, and Postgres.
</p>

<div class="about__stats">
<div class="about__stats" aria-label="Launch proof points">
<div class="about__stat">
<span
class="about__stat-number"
data-target="2K+"
data-stat="app-downloads"
data-stat-format="compact-plus"
>2K+</span
>
<span class="about__stat-label">App Downloads</span>
<span class="about__stat-value">2K+</span>
<span class="about__stat-label">app downloads</span>
</div>
<div class="about__stat">
<span
class="about__stat-number"
data-target="—"
data-stat="monthly-visitors"
data-stat-format="compact-plus"
>—</span
>
<span class="about__stat-label">Monthly Site Visitors</span>
<span class="about__stat-value">1,500+</span>
<span class="about__stat-label">book transactions</span>
</div>
</div>
</div>
Expand Down Expand Up @@ -307,8 +296,8 @@ <h4 class="exp-card__role">Co-founder</h4>
<p class="exp-card__location">Remote</p>
<ul class="exp-card__bullets">
<li>
Building an AI styling app that turns your wardrobe into daily outfit recommendations — describe the
occasion, it picks the fit, you preview it on yourself with virtual try-on.
Building an AI styling app that turns your wardrobe into daily outfit recommendations — public
waitlist is live and the iOS app is running in internal TestFlight beta.
</li>
<li>
Building iOS app (summer 2026 launch) across wardrobe cataloging, AI outfit generation, virtual
Expand Down Expand Up @@ -536,13 +525,15 @@ <h2 class="projects__heading">What I'm building</h2>
<article class="proj-card proj-card--featured" data-project="1">
<h3 class="proj-card__title">Outfitr</h3>
<p class="proj-card__metric">
Co-founder · iOS waitlist live · internal TestFlight beta · Wardrobe-first AI styling
Co-founder · public waitlist live · internal TestFlight beta · summer 2026 iOS launch
</p>
<p class="proj-card__desc">
AI styling app that solves outfit decision fatigue. Describe the occasion, Outfitr picks from your
actual wardrobe, you preview it with virtual try-on, and poll friends if you want a second opinion.
AI styling app that solves outfit decision fatigue from clothes people already own. Describe the
occasion, Outfitr picks from your actual wardrobe, you preview it with virtual try-on, and poll friends
if you want a second opinion.
</p>
<ul class="proj-card__bullets">
<li>Public waitlist is live at outfitrapp.com; internal TestFlight beta is validating the iOS flow.</li>
<li>
iOS app: wardrobe photo upload → auto-tagging by type and color → occasion-based outfit generation.
</li>
Expand All @@ -567,7 +558,7 @@ <h3 class="proj-card__title">NomNom</h3>
<p class="proj-card__desc">
Two-sided dining-hall delivery marketplace for UCSD's ~40k students. Built and shipped both the student
and rider apps. Shut down by UCSD administration — taught us that products requiring institutional
permission don't scale.
permission don't scale, which directly shaped Outfitr's consumer-first distribution strategy.
</p>
<ul class="proj-card__bullets">
<li>Built dual React Native apps (Student + Rider) in a TypeScript monorepo.</li>
Expand Down Expand Up @@ -716,9 +707,7 @@ <h2 class="skills__heading">Skills & Stack</h2>
<section id="contact" class="scene scene--contact">
<div class="contact__inner">
<p class="contact__status">
<span class="contact__status-line contact__status-line--primary"
>Looking for full-time roles from April 2027</span
>
<span class="contact__status-line contact__status-line--primary">Focused on Outfitr's iOS launch</span>
<span class="contact__status-line"
>Open to conversations with investors, retail partners, and early users of Outfitr.</span
>
Expand Down
42 changes: 21 additions & 21 deletions work/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -98,36 +98,20 @@ <h1>Products, research, client software, and experiments.</h1>
<h2 id="current-work">Current work</h2>
</div>
<div class="work-grid">
<article class="work-card">
<img src="../img/nomnom.png?v=2" alt="" loading="lazy" decoding="async" />
<div>
<p class="work-card__meta">Startup · Sep 2025 - Present</p>
<h3>NomNom</h3>
<p>
UCSD-exclusive delivery product with Student and Rider apps, UCSD-only authentication, Stripe payments,
Firestore transactions, live location, OTP verification, ETAs, notifications, and in-app chat.
</p>
<div class="proj-card__tech"><span>React Native</span><span>TypeScript</span><span>Firebase</span></div>
<a href="https://nomnom.cc" target="_blank" rel="noopener noreferrer" class="proj-card__link"
>Visit nomnom.cc →</a
>
</div>
</article>

<article class="work-card">
<img src="../img/outfitr-live.png?v=1" alt="" loading="lazy" decoding="async" />
<div>
<p class="work-card__meta">Startup · 2026</p>
<p class="work-card__meta">Startup · 2026 - Present</p>
<h3>Outfitr</h3>
<p>
AI-native fashion discovery platform spanning mobile, backend API, worker services, ingestion pipelines,
ranking, experimentation, provider-backed virtual try-on, and personalization systems.
Wardrobe-first AI styling app with a public waitlist, internal TestFlight beta, mobile app, backend API,
worker services, ingestion pipelines, provider-backed virtual try-on, and personalization systems.
</p>
<div class="proj-card__tech">
<span>TypeScript</span><span>AI</span><span>Mobile</span><span>AWS</span>
</div>
<a href="https://outfitr.net/" target="_blank" rel="noopener noreferrer" class="proj-card__link"
>Visit outfitr.net →</a
<a href="https://outfitrapp.com/" target="_blank" rel="noopener noreferrer" class="proj-card__link"
>Visit outfitrapp.com →</a
>
</div>
</article>
Expand Down Expand Up @@ -200,6 +184,22 @@ <h3>Triton Software Engineering · Nonprofit Clients</h3>
<h2 id="archive">Earlier launches and experiments</h2>
</div>
<div class="work-grid work-grid--compact">
<article class="work-card">
<img src="../img/nomnom.png?v=2" alt="" loading="lazy" decoding="async" />
<div>
<p class="work-card__meta">Co-founder · Sep 2025 - Mar 2026</p>
<h3>NomNom</h3>
<p>
UCSD-exclusive delivery product with Student and Rider apps, UCSD-only authentication, Stripe payments,
Firestore transactions, live location, OTP verification, ETAs, notifications, and in-app chat. Shut down
after UCSD administration blocked the model, shaping Outfitr's consumer-first distribution strategy.
</p>
<div class="proj-card__tech"><span>React Native</span><span>TypeScript</span><span>Firebase</span></div>
<a href="https://nomnom.cc" target="_blank" rel="noopener noreferrer" class="proj-card__link"
>Visit nomnom.cc →</a
>
</div>
</article>
<article class="work-card">
<img src="../img/ShareAllBooks.jpg?v=1" alt="" loading="lazy" decoding="async" />
<div>
Expand Down
Loading