-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
1604 lines (1577 loc) · 75.5 KB
/
index.html
File metadata and controls
1604 lines (1577 loc) · 75.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-M8GWCQSYJL"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-M8GWCQSYJL');
</script>
<title>Dylan Chen | Applied Math + Data Science @ UC Berkeley</title>
<!-- Favicon -->
<link rel="icon" type="image/png" sizes="32x32" href="assets/favicon.png" />
<link rel="icon" type="image/png" sizes="16x16" href="assets/favicon.png" />
<link rel="apple-touch-icon" sizes="180x180" href="assets/favicon.png" />
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Dylan Chen" />
<meta
property="og:description"
content="Applied Math + Data Science @ UC Berkeley | Deep Learning Research & Agentic AI Development"
/>
<meta property="og:url" content="https://dylancc5.github.io/" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Dylan Chen" />
<meta
name="twitter:description"
content="Applied Math + Data Science @ UCBerkeley | Deep Learning Research & Agentic AI Development"
/>
<link rel="stylesheet" href="styles/main.css" />
<link rel="stylesheet" href="styles/aurora.css" />
<link rel="stylesheet" href="styles/spotlight-card.css" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:wght@400;500;700&display=swap"
rel="stylesheet"
/>
</head>
<body>
<!-- Navigation -->
<nav id="navbar">
<div class="nav-container">
<div class="nav-logo">DC</div>
<ul class="nav-links">
<li><a href="#about" class="nav-link">About</a></li>
<li><a href="#experience" class="nav-link">Experience</a></li>
<li><a href="#projects" class="nav-link">Projects</a></li>
<li><a href="#skills" class="nav-link">Skills</a></li>
<li><a href="#contact" class="nav-link">Contact</a></li>
</ul>
</div>
</nav>
<!-- Hero Section -->
<section id="hero">
<div id="aurora-background" class="aurora-container"></div>
<div class="hero-content">
<div class="hero-text">
<h1 class="hero-name">Dylan Chen</h1>
<p class="hero-tagline">
Applied Math + Data Science @ UC Berkeley<br />
<span class="highlight-gold">Deep Learning Research</span> &
<span class="highlight-blue">Agentic AI Development</span>
</p>
<div class="hero-cta">
<a href="#contact" class="btn-primary">Get in Touch</a>
<div class="hero-links">
<a
href="https://drive.google.com/file/d/15RRXO2JrHIXIz6z1Nep6U5sT9dxOPc6T/preview"
class="social-link"
aria-label="Resume"
target="_blank"
>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
>
<path
d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"
></path>
<polyline points="14,2 14,8 20,8"></polyline>
<line x1="16" y1="13" x2="8" y2="13"></line>
<line x1="16" y1="17" x2="8" y2="17"></line>
<polyline points="10,9 9,9 8,9"></polyline>
</svg>
</a>
<a
href="mailto:dylancc5@berkeley.edu"
class="social-link"
aria-label="Email"
>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
>
<path
d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"
></path>
<polyline points="22,6 12,13 2,6"></polyline>
</svg>
</a>
<a
href="https://github.com/dylancc5"
target="_blank"
class="social-link"
aria-label="GitHub"
>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
>
<path
d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"
></path>
</svg>
</a>
<a
href="https://linkedin.com/in/dylancc5"
target="_blank"
class="social-link"
aria-label="LinkedIn"
>
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
>
<path
d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"
></path>
<rect x="2" y="9" width="4" height="12"></rect>
<circle cx="4" cy="4" r="2"></circle>
</svg>
</a>
</div>
</div>
</div>
<div class="hero-visual">
<div class="floating-shape shape-1"></div>
<div class="floating-shape shape-2"></div>
<div class="floating-shape shape-3"></div>
</div>
</div>
<div class="scroll-indicator">
<span>Scroll to explore</span>
<div class="scroll-arrow"></div>
</div>
</section>
<!-- About Section -->
<section id="about">
<div class="container">
<h2 class="section-title">About</h2>
<div class="about-content">
<div class="about-text">
<p class="about-intro">
Versatile leader focused on
<span class="highlight-gold">automation and systems design</span>,
building scalable tools to streamline operations and internal
workflows.
</p>
<p>
Obsessed with
<span class="highlight-blue">making complexity invisible</span> —
transforming dense backend systems into seamless, intuitive user
experiences. Passionate about building new features from scratch,
including autonomous AI agents and customized deep learning
frameworks.
</p>
</div>
<div class="about-stats">
<div class="stat-card card-spotlight">
<div class="stat-number" data-target="3.89">0.00</div>
<div class="stat-label">GPA</div>
</div>
<div class="stat-card card-spotlight">
<div class="stat-number" data-target="7">0</div>
<div class="stat-label">Years Coding</div>
</div>
<div class="stat-card card-spotlight">
<div class="stat-number" data-target="15">0</div>
<div class="stat-label">Projects Shipped</div>
</div>
</div>
</div>
</div>
</section>
<!-- Experience Section -->
<section id="experience">
<div class="container">
<h2 class="section-title">Experience</h2>
<div class="timeline">
<div class="timeline-item" data-index="0">
<div class="timeline-dot"></div>
<div class="timeline-content card-spotlight">
<img
src="assets/momentous-logo.jpg"
alt="Momentous Health logo"
class="company-logo"
/>
<div class="timeline-text-content">
<div class="timeline-header">
<h3>Agentic AI Developer</h3>
<span class="timeline-date">Jan 2026 – Present</span>
</div>
<p class="timeline-org">Momentous Health</p>
<ul class="timeline-details">
<li>
Built agentic AI system automating clinical workflows from
document intake to robotic execution, eliminating manual
bottlenecks in neurological testing
</li>
<li>
Deployed LLM agents to streamline internal operations,
cutting documentation overhead and accelerating data
processing pipelines
</li>
<li>
Orchestrated end-to-end automation layer integrating patient
assessments, testing systems, and robotics for autonomous
clinical data lifecycle
</li>
</ul>
<button
class="expand-toggle"
type="button"
data-section="experience"
data-index="0"
aria-expanded="false"
aria-controls="experience-details-0"
>
<span class="expand-toggle-label">Click to view details</span>
</button>
<div
id="experience-details-0"
class="expandable-details"
hidden
>
<h4 class="details-heading">
Automating Neurodegenerative Disease Diagnostics
</h4>
<p class="details-section">
Momentous Health is building robotics-enabled systems to
automate diagnostic testing for neurodegenerative diseases
in elderly patients. The current workflow relies on manual
test administration, paper-based result recording, and
labor-intensive report generation—creating bottlenecks that
delay patient care. I'm developing an agentic AI
infrastructure that handles the entire clinical data
lifecycle: from OCR-based extraction of test results, to
automated report writing, to compliance verification before
final delivery.
</p>
<h4 class="details-heading">
Report Writing Agent with Human-in-the-Loop
</h4>
<p class="details-section">
The core challenge is generating clinical reports that meet
strict healthcare regulations while maintaining accuracy
with patient health information. I built a multi-agent
pipeline where OCR systems extract raw test data,
reinforcement learning models refine extraction accuracy
through human feedback, and RAG-powered language models pull
the latest medical guidelines to generate compliant reports.
Each agent specializes in one task—extraction, validation,
or writing—then passes work downstream, creating a modular
system that's easier to debug and improve than monolithic
approaches.
</p>
<h4 class="details-heading">PII-Aware Document Generation</h4>
<p class="details-section">
Healthcare data requires careful handling of personally
identifiable information. The system implements safeguards
at every stage: OCR outputs are sanitized before storage,
RAG retrieval filters out irrelevant patient data, and the
final PDF generation layer applies role-based access
controls. This architecture ensures compliance with HIPAA
and other healthcare privacy standards while maintaining
fast turnaround times for clinical staff.
</p>
<h4 class="details-heading">
From Manual Workflows to End-to-End Automation
</h4>
<p class="details-section">
The broader vision integrates this report writing system
with robotics performing the actual diagnostic tests,
creating a fully autonomous pipeline from patient assessment
to results delivery. This work taught me how to design AI
systems that operate in regulated, high-stakes environments
where mistakes have real consequences—forcing careful
attention to validation, interpretability, and failure modes
that pure research projects often ignore.
</p>
<div class="details-links">
<a
href="https://momentous-health.com/"
class="details-link"
target="_blank"
>Momentous Health Website</a
>
</div>
</div>
</div>
</div>
</div>
<div class="timeline-item" data-index="1">
<div class="timeline-dot"></div>
<div class="timeline-content card-spotlight">
<img
src="assets/ucsf-logo.jpeg"
alt="UCSF TECH Lab logo"
class="company-logo"
/>
<div class="timeline-text-content">
<div class="timeline-header">
<h3>AI Research Assistant</h3>
<span class="timeline-date">Jan 2026 – Present</span>
</div>
<p class="timeline-org">UCSF TECH Lab</p>
<ul class="timeline-details">
<li>
Developed predictive models for early disease detection
using multimodal patient data from the AI-READI dataset
</li>
<li>
Built time-series forecasting pipeline to analyze
longitudinal health patterns and identify risk trajectories
before clinical symptoms emerge
</li>
<li>
Engineered feature extraction systems processing vitals, lab
results, and physiological markers into unified health
prediction models
</li>
</ul>
<button
class="expand-toggle"
type="button"
data-section="experience"
data-index="1"
aria-expanded="false"
aria-controls="experience-details-1"
>
<span class="expand-toggle-label">Click to view details</span>
</button>
<div
id="experience-details-1"
class="expandable-details"
hidden
>
<h4 class="details-heading">
Predicting Diabetes Complications Before They Surface
</h4>
<p class="details-section">
Type 2 diabetes affects over 6% of the global population,
but current diagnostic tools only catch problems after
clinical symptoms emerge—often when damage is already done.
I'm working with the AI-READI dataset, a multimodal
collection of 4,000 patient records balanced across race,
ethnicity, gender, and disease severity, to build predictive
models that identify risk trajectories hours to weeks before
patients experience symptoms. The goal is to move from
reactive treatment to proactive intervention.
</p>
<h4 class="details-heading">
Time-Series Forecasting on Longitudinal Health Data
</h4>
<p class="details-section">
The AI-READI dataset includes continuous glucose monitoring
data, wearable sensor outputs, lab results, and
environmental factors tracked over time. I'm implementing
time-series forecasting models using JAX and GluonTS to
analyze these longitudinal patterns and predict glucose
spikes, hypoglycemic events, and disease progression
markers. The challenge is handling data collected at varying
sampling rates—CGM sensors log every 5 minutes while lab
tests happen monthly—requiring models that can reason across
different temporal resolutions.
</p>
<h4 class="details-heading">
Learning Patient-Specific Disease Dynamics
</h4>
<p class="details-section">
Rather than building one universal model, we're exploring
whether individual patients exhibit unique disease
signatures. The hypothesis: if you can fit a personalized
model to each patient's historical data, the model's
hyperparameters might reveal higher-order patterns that
generalize across populations. For instance, two patients
with similar glucose variability but different model
learning rates might represent distinct disease subtypes
with different intervention needs.
</p>
<h4 class="details-heading">
Engineering Multimodal Feature Pipelines
</h4>
<p class="details-section">
Raw sensor data isn't directly usable for ML models. I'm
building feature extraction systems that process vitals, lab
markers, and physiological signals into unified
representations suitable for health prediction. This
involves handling missing data (not all patients have all
measurements), normalizing across different units and
scales, and identifying which combinations of features best
predict specific outcomes. The work sits at the intersection
of signal processing, clinical domain knowledge, and machine
learning architecture design.
</p>
<div class="details-links">
<a
href="https://aireadi.org/"
class="details-link"
target="_blank"
>AI-READI Website</a
>
</div>
</div>
</div>
</div>
</div>
<div class="timeline-item" data-index="2">
<div class="timeline-dot"></div>
<div class="timeline-content card-spotlight">
<img
src="assets/citris-logo.jpeg"
alt="CITRIS and the Banatao Institute logo"
class="company-logo"
/>
<div class="timeline-text-content">
<div class="timeline-header">
<h3>Product & Technical Lead</h3>
<span class="timeline-date">Aug 2025 – Present</span>
</div>
<p class="timeline-org">CITRIS and the Banatao Institute</p>
<ul class="timeline-details">
<li>
Led cross-functional team building CITRIS Quest, a mobile
game deployed across 4 UC campuses with computer
vision-powered gameplay
</li>
<li>
Trained CNN achieving high-accuracy pixel art
classification, implementing loss scheduling and
regularization for robust real-world performance
</li>
<li>
Shipped full-stack product from zero including mobile app,
authentication system, and database infrastructure managing
user profiles and scan storage
</li>
</ul>
<button
class="expand-toggle"
type="button"
data-section="experience"
data-index="2"
aria-expanded="false"
aria-controls="experience-details-2"
>
<span class="expand-toggle-label">Click to view details</span>
</button>
<div
id="experience-details-2"
class="expandable-details"
hidden
>
<h4 class="details-heading">
Celebrating 25 Years with Cross-Campus Gameplay
</h4>
<p class="details-section">
CITRIS Quest commemorates the 25th anniversary of UC's
Center for Information Technology Research in the Interest
of Society by bringing students across four UC campuses
together through a mobile game inspired by Space Invaders.
Players physically explore their campuses to find and scan
pixel art stickers, earning points for their campus in a
semester-long competition. The game merges digital gameplay
with physical exploration, requiring computer vision to work
reliably under real-world conditions—varied lighting, camera
angles, partial occlusions, and low-quality phone cameras.
</p>
<h4 class="details-heading">
Training CNNs for Real-World Robustness
</h4>
<p class="details-section">
I built a PyTorch CNN to classify pixel art characters from
phone camera scans. The technical challenge wasn't accuracy
on clean test sets—it was generalization to the messy
conditions players would actually encounter: outdoor
lighting, motion blur, tilted angles, shadows, and stickers
that get worn or damaged over time. I implemented
cross-entropy loss with learning rate scheduling and
aggressive regularization (dropout, data augmentation) to
prevent overfitting to pristine training images. The model
needed to be both accurate and confident enough to reject
non-game images without frustrating players with false
negatives.
</p>
<h4 class="details-heading">
Full-Stack Product from Zero to Launch
</h4>
<p class="details-section">
Beyond the ML model, I led development of the entire product
stack: Flutter mobile app for iOS and Android, Supabase
PostgreSQL backend managing user authentication and scan
storage, real-time leaderboards showing campus standings,
and admin tools for monitoring player activity. I managed a
cross-functional team through sprint planning, code reviews,
and feature prioritization while balancing technical debt
against shipping deadlines. This meant making architectural
decisions early—like choosing Flutter over native
development for faster iteration—and living with those
constraints later.
</p>
<h4 class="details-heading">
Making AI Accessible to Non-Technical Users
</h4>
<p class="details-section">
The most valuable lesson was designing for actual user
behavior, not ideal conditions. Early versions required
perfect scans in good lighting. Real users took photos while
walking, in shadows, or from weird angles because that's
when they found stickers. I rebuilt the pipeline to handle
this: multiple model passes at different confidence
thresholds, preprocessing to normalize lighting and
perspective, and UI feedback guiding users to better shots
without being annoying. The goal wasn't just "build a
CNN"—it was "build something students actually enjoy using."
</p>
<div class="details-links">
<a
href="https://drive.google.com/file/d/1tH-nPo0WLAK6llzU4fuZCydMHaSEtV0L/preview"
class="details-link"
target="_blank"
>Project Proposal</a
>
<a
href="https://gamma.app/docs/CITRIS-Quest-Slide-Deck-tzx9ettz7h4kau7"
class="details-link"
target="_blank"
>Pitch Deck</a
>
</div>
</div>
</div>
</div>
</div>
<div class="timeline-item" data-index="3">
<div class="timeline-dot"></div>
<div class="timeline-content card-spotlight">
<img
src="assets/nasa-logo.jpg"
alt="NASA Ames Research Center logo"
class="company-logo"
/>
<div class="timeline-text-content">
<div class="timeline-header">
<h3>HPC Intern</h3>
<span class="timeline-date">Jun 2025 – Aug 2025</span>
</div>
<p class="timeline-org">
NASA Ames Research Center – Advanced Supercomputing Division
</p>
<ul class="timeline-details">
<li>
Built ANDROMEDA, an ML system automating root cause analysis
for supercomputing failures at NASA scale
</li>
<li>
Developed unsupervised learning pipeline identifying failure
patterns without labeled data using contrastive learning
architecture
</li>
<li>
Integrated clustering, semantic analysis, and attention
mechanisms producing interpretable diagnostics for
high-performance computing operations
</li>
</ul>
<button
class="expand-toggle"
type="button"
data-section="experience"
data-index="3"
aria-expanded="false"
aria-controls="experience-details-3"
>
<span class="expand-toggle-label">Click to view details</span>
</button>
<div
id="experience-details-3"
class="expandable-details"
hidden
>
<h4 class="details-heading">
Automating Failure Diagnosis at Supercomputing Scale
</h4>
<p class="details-section">
NASA's supercomputing infrastructure processes thousands of
jobs daily across climate modeling, aerodynamics
simulations, and mission-critical calculations. When jobs
fail, engineers manually sift through logs to diagnose root
causes—a bottleneck that delays research and wastes compute
resources. ANDROMEDA automates this process using
unsupervised machine learning to identify failure patterns,
categorize issues, and surface interpretable insights
without requiring labeled training data.
</p>
<h4 class="details-heading">
The Challenge: No Ground Truth Labels
</h4>
<p class="details-section">
Traditional supervised learning requires labeled examples of
"this log pattern = memory overflow" or "this trace =
network timeout." NASA's failure logs don't come
pre-labeled, and manually tagging thousands of historical
failures isn't feasible. The system needed to learn failure
signatures directly from unlabeled data while producing
explanations that domain experts could validate and act on.
</p>
<h4 class="details-heading">
Building Self-Supervised Pattern Recognition
</h4>
<p class="details-section">
I designed a contrastive learning architecture that treats
similar failure traces as positive pairs and dissimilar ones
as negatives, learning representations that cluster related
failures together. The pipeline processes raw log data
through semantic embedding models to capture contextual
meaning, then applies HDBSCAN clustering to group failures
by shared characteristics. An attention mechanism highlights
which log segments drove each cluster assignment, giving
operators transparency into why the system flagged specific
patterns.
</p>
<h4 class="details-heading">
Production Integration and Interpretability
</h4>
<p class="details-section">
Rather than a black-box classifier, ANDROMEDA generates
structured diagnostic reports mapping each failure to its
closest historical matches and surfacing the distinguishing
features. This lets engineers validate whether the system's
pattern detection aligns with known failure modes. The
architecture handles NASA's log volume and diversity while
maintaining fast inference for real-time alerting.
</p>
<h4 class="details-heading">
Scaling RCA Without Manual Annotation
</h4>
<p class="details-section">
The system demonstrated that unsupervised learning could
replace manual root cause analysis for recurring failure
classes. By eliminating the labeling bottleneck, the
approach generalizes to new failure types as they emerge
rather than requiring retraining on annotated data. This
work showed me how critical interpretability is when
deploying ML in high-stakes infrastructure—domain experts
won't trust opaque models, even if metrics look good.
</p>
<div class="details-links">
<a
href="https://drive.google.com/file/d/1lRJ5cv7-unSLubHFsKvJ2QevQqF3INwK/preview"
class="details-link"
target="_blank"
>Presentation Poster</a
>
<a
href="https://drive.google.com/file/d/1DVHBN2jxJOajNr5XpON41OjfDboa8b6r/preview"
class="details-link"
target="_blank"
>Pitch Deck</a
>
<a
href="https://drive.google.com/file/d/1-T4NgWlQIQro22tfcw6z6prmCVkHH27S/preview"
class="details-link"
target="_blank"
>Summary Video</a
>
</div>
</div>
</div>
</div>
</div>
<div class="timeline-item" data-index="4">
<div class="timeline-dot"></div>
<div class="timeline-content card-spotlight">
<img
src="assets/bsla-logo.jpeg"
alt="Berkeley Student Leadership Academy logo"
class="company-logo"
/>
<div class="timeline-text-content">
<div class="timeline-header">
<h3>Database Administrator</h3>
<span class="timeline-date">Aug 2024 – May 2025</span>
</div>
<p class="timeline-org">Berkeley Student Leadership Academy</p>
<ul class="timeline-details">
<li>
Redesigned workshop tracking system with optimized data
organization reducing management overhead across 500+
records
</li>
<li>
Automated tracker setup workflow with Google Apps Script,
cutting deployment time from hours to minutes
</li>
<li>
Overhauled archive infrastructure improving data protection
and enabling instant retrieval of historical program data
</li>
</ul>
<button
class="expand-toggle"
type="button"
data-section="experience"
data-index="4"
aria-expanded="false"
aria-controls="experience-details-4"
>
<span class="expand-toggle-label">Click to view details</span>
</button>
<div
id="experience-details-4"
class="expandable-details"
hidden
>
<h4 class="details-heading">
Leadership Development at Berkeley Scale
</h4>
<p class="details-section">
Berkeley Student Leadership Academy is a year-long
undergraduate program offering workshops on leadership,
engagement, and diversity across campus. Students attend
seven workshops minimum (four required, three elective)
covering topics like team dynamics, communication
strategies, and inclusive leadership. Managing workshop
logistics—tracking attendance, coordinating facilitators,
archiving feedback—generated massive amounts of data across
hundreds of participants and dozens of events each year.
</p>
<h4 class="details-heading">
Replacing a Broken Spreadsheet Nightmare
</h4>
<p class="details-section">
The existing system was a single, bloated spreadsheet with
hundreds of rows and columns filled with binary 0s and 1s
indicating attendance, completion status, and requirements
met. Finding information required scrolling through endless
cells, updating records meant hunting for the right row, and
setting up the tracker each semester took weeks of manual
copying, formula adjustments, and data migration. The system
worked barely, and only for people who already knew how to
navigate it—a major barrier for new administrators.
</p>
<h4 class="details-heading">
Automated Tracker Setup in Under 10 Minutes
</h4>
<p class="details-section">
I built a Google Apps Script automation that generates the
entire workshop tracking infrastructure from a template with
a single button click. The script creates properly formatted
spreadsheets with attendance tracking, automatically
generates linked Google Forms for registration and feedback,
populates formulas for calculating completion requirements,
and sets up data validation rules to prevent entry errors.
What previously took a couple weeks of tedious setup now
happens in about 10 minutes, freeing administrators to focus
on improving workshop content and participant experience.
</p>
<h4 class="details-heading">
Redesigning for Human Usability
</h4>
<p class="details-section">
Beyond automation, I restructured how data was organized.
Instead of cryptic binary columns, the new system uses
readable status indicators, color coding for quick visual
scanning, and separate sheets for different data types
(attendance vs. feedback vs. completion tracking). The
archive system moved historical data into structured folders
with consistent naming conventions, making it trivial to
retrieve past program data for trend analysis or reporting.
The goal wasn't just technical efficiency—it was making the
system usable for future administrators without requiring
institutional knowledge or extensive training.
</p>
<div class="details-links">
<a
href="https://script.google.com/d/1KSaHdRA-itIr5wB9xAfJ6-_7wMzTSpAh7Mu8X_RhKRCBkN0E1760LFsu/edit?usp=sharing"
class="details-link"
target="_blank"
>Automation Script</a
>
<a
href="https://docs.google.com/document/d/1Wqr24fStorNLCRGhs-s9RL-CUXfUKbtSJoKkFCFYihw/edit?usp=sharing"
class="details-link"
target="_blank"
>Usage Docs</a
>
<a
href="https://docs.google.com/spreadsheets/d/1oPUbnHnrq6Y0QFwPTdNcJdu9-jKUQEYD1JJYnjGMJak/edit?usp=sharing"
class="details-link"
target="_blank"
>Workshop Tracker</a
>
</div>
</div>
</div>
</div>
</div>
<div class="timeline-item" data-index="5">
<div class="timeline-dot"></div>
<div class="timeline-content card-spotlight">
<img
src="assets/cyclick-logo.jpeg"
alt="Cyclick.ai logo"
class="company-logo"
/>
<div class="timeline-text-content">
<div class="timeline-header">
<h3>Product & Discovery Intern</h3>
<span class="timeline-date">Feb 2025 – May 2025</span>
</div>
<p class="timeline-org">Cyclick.ai</p>
<ul class="timeline-details">
<li>
Identified friction points in consumer electronics
purchasing through user research, mapping pain points across
the BNPL payment journey
</li>
<li>
Conducted competitive analysis on credit vetting systems,
evaluating integration strategies with Experian and Equifax
APIs
</li>
<li>
Built pricing models analyzing parallel BNPL offerings to
inform go-to-market strategy and competitive positioning
</li>
</ul>
<button
class="expand-toggle"
type="button"
data-section="experience"
data-index="5"
aria-expanded="false"
aria-controls="experience-details-5"
>
<span class="expand-toggle-label">Click to view details</span>
</button>
<div
id="experience-details-5"
class="expandable-details"
hidden
>
<h4 class="details-heading">
Rethinking Phone Ownership Economics
</h4>
<p class="details-section">
Cyclick.ai is building a phone subscription model that
challenges the traditional buy-and-own approach to personal
electronics. Users rent phones instead of purchasing them
outright, gaining flexibility to upgrade frequently, bundled
repair coverage, and predictable monthly costs. When users
return devices, Cyclick resells them to refurbishers in
markets like Spain where there's strong demand for certified
pre-owned phones. This circular business model reduces the
company's capital requirements and passes savings to users
through lower subscription prices.
</p>
<h4 class="details-heading">
Discovering Hidden Costs in Buy Now, Pay Later
</h4>
<p class="details-section">
Through user research and competitive analysis, I identified
major pain points in existing BNPL (Buy Now, Pay Later)
services: hidden fees buried in fine print, confusing
interest calculations, and unexpected charges that destroyed
trust. Users wanted ownership flexibility but were burned by
predatory pricing structures. The insight: users weren't
opposed to subscription models—they just didn't understand
the economic benefits because competitors obscured the math.
Our opportunity was radical transparency: show exactly what
users save over time, compare total cost of ownership vs.
subscription, and eliminate surprise fees entirely.
</p>
<h4 class="details-heading">
Competitive Pricing Strategy and Market Entry
</h4>
<p class="details-section">
I built pricing models scraping data from major BNPL
competitors to understand their fee structures, interest
rates, and total cost calculations. The analysis revealed a
pricing band where Cyclick could undercut established
players while maintaining healthy margins through efficient
refurbishment partnerships. The key leverage point: while
competitors treat returned phones as losses or sell them at
commodity prices, Cyclick's Spanish refurbisher network paid
premium rates for quality devices, creating additional
revenue streams beyond subscription fees.
</p>
<h4 class="details-heading">
Expanding Accessibility in Emerging Markets
</h4>
<p class="details-section">
The subscription model's biggest advantage isn't just
flexibility for affluent users—it's access for populations
with limited purchasing power. Markets in Africa and other
developing regions have strong demand for smartphones but
lack capital for $800+ upfront purchases. Monthly
subscriptions dramatically lower the entry barrier while
Cyclick's refurbishment model keeps costs sustainable. I
evaluated credit vetting integrations with Experian and
Equifax to enable this expansion, balancing fraud risk
against market accessibility.
</p>
<div class="details-links">
<a
href="https://drive.google.com/file/d/1xEBNU3ED4frEN1IB3NshgtaGGlZboub4/preview"
class="details-link"
target="_blank"
>Letter of Completion</a
>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Projects Section -->
<section id="projects">
<div class="container">
<h2 class="section-title">Featured Projects</h2>
<div class="projects-grid">
<div class="project-card card-spotlight" data-index="0">
<div class="project-number">01</div>
<h3 class="project-title">AI-READI Health Prediction</h3>
<p class="project-subtitle">UCSF TECH Lab</p>
<p class="project-description">
Built predictive health models that detect disease risk before
clinical symptoms appear. Time-series analysis of patient vitals
and physiological markers identifies early warning patterns in
longitudinal health data.
</p>
<div class="project-tags">
<span class="tag">JAX</span>
<span class="tag">Time-Series Forecasting</span>
<span class="tag">Multimodal Data</span>
<span class="tag">Feature Engineering</span>
<span class="tag">Predictive Models</span>
</div>
<button
class="expand-toggle"
type="button"
data-section="projects"
data-index="0"
aria-expanded="false"
aria-controls="project-details-0"
>
<span class="expand-toggle-label">Click to view details</span>
</button>
<div id="project-details-0" class="expandable-details" hidden>
<h4 class="details-heading">