Skip to content

Commit 1b77735

Browse files
Update index.html
1 parent 88c89a7 commit 1b77735

1 file changed

Lines changed: 26 additions & 14 deletions

File tree

index.html

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
border: 1px solid rgba(255, 255, 255, 0.08);
3939
overflow: hidden;
4040
transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), border-color 0.3s ease;
41-
height: 100%; /* Ensures all cards in a grid row are same height */
41+
height: 100%;
4242
display: flex;
4343
flex-direction: column;
4444
}
@@ -166,10 +166,15 @@ <h3 class="text-xl font-bold text-white" id="job-title-1">Master Thesis</h3>
166166
<p class="text-gray-500 text-sm mt-1">University of Siegen</p>
167167
</div>
168168
<div class="md:col-span-3">
169-
<h4 class="text-lg font-bold text-gray-200 mb-2">MLOps Pipeline for Mental Health Monitoring</h4>
170-
<p class="text-gray-400 text-sm leading-relaxed" id="job-desc-1">
171-
Architecting an enterprise-grade MLOps system for real-time stress detection using multimodal biosignals. Focusing on Data Drift, Automated Retraining, and Scalable Inference.
172-
</p>
169+
<h4 class="text-lg font-bold text-gray-200 mb-3">Offline-First MLOps for Wearable Health AI</h4>
170+
<div class="text-gray-400 text-sm leading-relaxed space-y-2" id="job-desc-1">
171+
<p>Architecting an end-to-end, offline-first MLOps pipeline for Human Activity Recognition (HAR) to detect anxiety-related behaviors using IMU sensor data.</p>
172+
<ul class="list-disc list-inside space-y-1 ml-1">
173+
<li>Designed the full lifecycle: DVC versioning &rarr; 1D CNN + Bi-LSTM training &rarr; MLflow tracking &rarr; FastAPI + Docker deployment.</li>
174+
<li>Implemented automated drift detection using Wasserstein distance on sensor channels, coupled with a principled trigger policy to prevent unnecessary retraining.</li>
175+
<li>Integrated Domain Adaptation (AdaBN) and active learning/pseudo-labeling to handle limited labeled data and sensor placement variability.</li>
176+
</ul>
177+
</div>
173178
</div>
174179
</div>
175180
</div>
@@ -211,12 +216,12 @@ <h2 class="text-xl font-bold text-white whitespace-nowrap" id="cat-1">MLOps & Pr
211216
<div class="flex items-center gap-3 mb-3">
212217
<span class="px-2 py-0.5 rounded bg-cyan-900/30 text-cyan-400 text-[10px] font-bold uppercase tracking-wider border border-cyan-500/20">Featured Thesis</span>
213218
</div>
214-
<h3 class="text-xl font-bold text-white mb-2">Mental Health Pipeline</h3>
215-
<p class="text-gray-400 text-sm leading-relaxed mb-4 flex-grow">
216-
A complete production lifecycle system. Features automated data validation, experiment tracking with MLflow, and data versioning with DVC.
219+
<h3 class="text-xl font-bold text-white mb-2" id="proj-title-1">Wearable IMU MLOps Pipeline</h3>
220+
<p class="text-gray-400 text-sm leading-relaxed mb-4 flex-grow" id="proj-desc-1">
221+
Full offline-first MLOps architecture for anxiety detection. Features DVC data versioning, MLflow tracking, automated Wasserstein drift monitoring, and an evidence-backed retraining decision engine. Deployed via FastAPI and Docker with GitHub Actions CI/CD.
217222
</p>
218223
<div class="flex flex-wrap gap-2 text-[10px] font-mono text-cyan-300/80 mt-auto">
219-
<span>#MLflow</span> <span>#DVC</span> <span>#Docker</span>
224+
<span>#PyTorch</span> <span>#MLflow</span> <span>#DVC</span> <span>#FastAPI</span> <span>#Docker</span>
220225
</div>
221226
</div>
222227
</div>
@@ -403,29 +408,33 @@ <h2 class="text-sm font-mono text-gray-500 mb-8 uppercase tracking-widest text-c
403408
heroText: "I am <strong class='text-white'>Shalin Vachheta</strong>. I specialize in bridging the gap between Data Science and Production. From training Deep Learning models to architecting scalable Cloud Pipelines.",
404409
expTitle: "<span class='text-cyan-400'>//</span> Career Journey",
405410
jobTitle1: "Master Thesis",
406-
jobDesc1: "Architecting an enterprise-grade MLOps system for real-time stress detection using multimodal biosignals. Focusing on Data Drift, Automated Retraining, and Scalable Inference.",
411+
jobDesc1: "<p>Architecting an end-to-end, offline-first MLOps pipeline for Human Activity Recognition (HAR) to detect anxiety-related behaviors using IMU sensor data.</p><ul class='list-disc list-inside space-y-1 ml-1 mt-2'><li>Designed the full lifecycle: DVC versioning &rarr; 1D CNN + Bi-LSTM training &rarr; MLflow tracking &rarr; FastAPI + Docker deployment.</li><li>Implemented automated drift detection using Wasserstein distance on sensor channels, coupled with a principled trigger policy to prevent unnecessary retraining.</li><li>Integrated Domain Adaptation (AdaBN) and active learning/pseudo-labeling to handle limited labeled data and sensor placement variability.</li></ul>",
407412
jobTitle2: "Research Assistant",
408413
jobDesc2: "Engineered BiLSTM models for CARLA autonomous driving simulations. Achieved 25% accuracy boost via Optuna hyperparameter tuning.",
409414
cat1: "MLOps & Production",
410415
cat2: "GenAI & Transformers",
411416
cat3: "Deep Learning & CV",
412417
cat4: "Classic ML & Data Analysis",
413-
techTitle: "Technical Arsenal"
418+
techTitle: "Technical Arsenal",
419+
projTitle1: "Wearable IMU MLOps Pipeline",
420+
projDesc1: "Full offline-first MLOps architecture for anxiety detection. Features DVC data versioning, MLflow tracking, automated Wasserstein drift monitoring, and an evidence-backed retraining decision engine. Deployed via FastAPI and Docker with GitHub Actions CI/CD."
414421
},
415422
de: {
416423
navAbout: "Über mich", navExp: "Werdegang", navWork: "Projekte", navContact: "KONTAKT",
417424
heroBadge: "OFFEN FÜR ANGEBOTE • JAN 2026",
418425
heroText: "Ich bin <strong class='text-white'>Shalin Vachheta</strong>. Ich schlage die Brücke zwischen Data Science und Produktion. Vom Training von Deep-Learning-Modellen bis zur Architektur skalierbarer Cloud-Pipelines.",
419426
expTitle: "<span class='text-cyan-400'>//</span> Werdegang",
420427
jobTitle1: "Masterarbeit",
421-
jobDesc1: "Entwicklung eines Enterprise-MLOps-Systems zur Echtzeit-Stresserkennung mittels multimodaler Biosignale. Fokus auf Data Drift, automatisiertes Retraining und skalierbare Inferenz.",
428+
jobDesc1: "<p>Entwicklung einer Offline-First-MLOps-Pipeline zur Erkennung von angstbezogenen Verhaltensweisen mittels IMU-Sensordaten.</p><ul class='list-disc list-inside space-y-1 ml-1 mt-2'><li>Vollständiger Lebenszyklus: DVC-Versionierung &rarr; 1D CNN + Bi-LSTM &rarr; MLflow &rarr; FastAPI + Docker.</li><li>Automatisierte Drift-Erkennung mittels Wasserstein-Distanz und regelbasierten Triggern zur Vermeidung unnötigen Retrainings.</li><li>Integration von Domain Adaptation (AdaBN) und Active Learning für begrenzte gelabelte Daten.</li></ul>",
422429
jobTitle2: "Wiss. Hilfskraft",
423430
jobDesc2: "Entwicklung von BiLSTM-Modellen für CARLA-Simulationen (Autonomes Fahren). 25% Genauigkeitssteigerung durch Optuna-Hyperparameter-Tuning.",
424431
cat1: "MLOps & Produktion",
425432
cat2: "GenAI & Transformers",
426433
cat3: "Deep Learning & CV",
427434
cat4: "Klassisches ML & Data Analysis",
428-
techTitle: "Technologisches Arsenal"
435+
techTitle: "Technologisches Arsenal",
436+
projTitle1: "Wearable IMU MLOps Pipeline",
437+
projDesc1: "Vollständige Offline-First MLOps-Architektur zur Angsterkennung. Umfasst DVC-Datenversionierung, MLflow-Tracking, Wasserstein-Drift-Überwachung und Docker-Bereitstellung via FastAPI."
429438
}
430439
};
431440

@@ -446,7 +455,7 @@ <h2 class="text-sm font-mono text-gray-500 mb-8 uppercase tracking-widest text-c
446455
document.getElementById('exp-title').innerHTML = t.expTitle;
447456

448457
document.getElementById('job-title-1').innerText = t.jobTitle1;
449-
document.getElementById('job-desc-1').innerText = t.jobDesc1;
458+
document.getElementById('job-desc-1').innerHTML = t.jobDesc1; // Changed to innerHTML for lists
450459
document.getElementById('job-title-2').innerText = t.jobTitle2;
451460
document.getElementById('job-desc-2').innerText = t.jobDesc2;
452461

@@ -455,6 +464,9 @@ <h2 class="text-sm font-mono text-gray-500 mb-8 uppercase tracking-widest text-c
455464
document.getElementById('cat-3').innerText = t.cat3;
456465
document.getElementById('cat-4').innerText = t.cat4;
457466
document.getElementById('tech-title').innerText = t.techTitle;
467+
468+
document.getElementById('proj-title-1').innerText = t.projTitle1;
469+
document.getElementById('proj-desc-1').innerText = t.projDesc1;
458470
}
459471

460472
// 2. MOUSE TRACKING & SCROLL REVEAL

0 commit comments

Comments
 (0)