-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
269 lines (248 loc) · 11.3 KB
/
index.html
File metadata and controls
269 lines (248 loc) · 11.3 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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Boxian Wen | Algorithm Engineer</title>
<meta
name="description"
content="Boxian Wen personal website focused on algorithm engineering, search and recommendation systems, and research-informed intelligent systems."
/>
<link rel="icon" type="image/png" href="/assets/profile/avatar-96.png" />
<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=Manrope:wght@400;500;600;700;800&family=Source+Serif+4:wght@400;600;700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="styles.css" />
</head>
<body data-page-lang="en">
<div class="ambient ambient-left"></div>
<div class="ambient ambient-right"></div>
<div class="site-shell">
<header class="topbar reveal">
<a class="brand" href="/">
<span class="brand-mark">
<img src="/assets/profile/avatar.jpg" alt="Avatar" />
</span>
<span class="brand-copy">
<strong>Boxian Wen</strong>
<small>Algorithm Engineer</small>
</span>
</a>
<nav class="language-nav" aria-label="Language switch">
<a class="lang-pill active" href="/">EN</a>
<a class="lang-pill" href="/zh/">中文</a>
</nav>
<div class="top-actions">
<a href="mailto:boxian.wen@outlook.com">Email</a>
<a href="https://github.com/WBoxian">GitHub</a>
<a href="https://linkedin.com/in/boxian-wen-6b00692b8">LinkedIn</a>
</div>
</header>
<main class="content">
<section class="hero reveal">
<div class="hero-copy">
<p class="eyebrow">Research-informed engineering</p>
<h1>Search, recommendation, and online intelligence.</h1>
<p class="hero-lead">
I build production-minded retrieval, ranking, and online-serving systems, while keeping a parallel
research interest in AI-assisted ecology and coral conservation.
</p>
<div class="hero-notes">
<div>
<span>Current target</span>
<strong>Algorithm Engineer</strong>
</div>
<div>
<span>Primary build</span>
<strong>Qilin Search & Recommendation System</strong>
</div>
<div>
<span>Parallel interest</span>
<strong>AI + multimodal coral research PhD</strong>
</div>
</div>
<div class="hero-actions">
<a class="button primary" href="https://github.com/WBoxian/Rednote-Qilin-Search-Rec-System">View Project</a>
<a class="button secondary" href="https://github.com/WBoxian">GitHub Profile</a>
</div>
</div>
<aside class="hero-stage">
<div class="stage-panel">
<div class="stage-profile">
<img class="stage-avatar" src="/assets/profile/avatar.jpg" alt="Avatar" />
<div>
<p class="stage-label">Current Build</p>
<strong>Qilin Search & Recommendation System</strong>
<small>11/2025 – 05/2026 · 2M notes · 15k users · ~150ms latency</small>
</div>
</div>
<canvas id="hero-canvas-en" class="hero-canvas" width="640" height="420"></canvas>
<div class="stage-tags">
<span>retrieval</span>
<span>ranking</span>
<span>feature engineering</span>
<span>ecology AI</span>
</div>
</div>
</aside>
</section>
<section class="section section-grid reveal">
<div class="section-head">
<p class="section-tag">Profile</p>
<h2>Engineering first, with research discipline behind it.</h2>
</div>
<div class="grid-cards">
<article class="card">
<span>Education</span>
<strong>UCL · Computational Ecology</strong>
<p>Research master's training with an emphasis on ecological data analysis and computational methods.</p>
</article>
<article class="card">
<span>Background</span>
<strong>Sun Yat-sen University · Marine Biology</strong>
<p>Biology foundation that later expanded into transcriptomics, eDNA, and bioinformatics workflows.</p>
</article>
<article class="card">
<span>Direction</span>
<strong>Search, Recommendation, Backend Systems</strong>
<p>Focused on systems that can be trained, deployed, and iterated under real engineering constraints.</p>
</article>
</div>
</section>
<section class="section reveal">
<div class="section-head">
<p class="section-tag">Research Thread</p>
<h2>Research themes that still shape how I think about systems.</h2>
</div>
<div class="timeline">
<article class="timeline-item">
<h3>Coral community assessment with eDNA and CoralNet-assisted analysis</h3>
<p>Combining ecological workflows with AI-assisted annotation to interpret coral community structure.</p>
</article>
<article class="timeline-item">
<h3>Airborne environmental DNA for British bat surveys</h3>
<p>Analysis and presentation work around airborne eDNA metabarcoding in applied ecological research.</p>
</article>
<article class="timeline-item">
<h3>Deep-sea mussel transcriptomics</h3>
<p>Transcriptomic analysis related to host defense, adaptation, and extreme marine environments.</p>
</article>
</div>
</section>
<section class="section section-grid reveal">
<div class="section-head">
<p class="section-tag">Featured Build</p>
<h2>Rednote Qilin Search & Recommendation System</h2>
</div>
<div class="project-meta">
<span>11/2025 – 05/2026</span>
<span>~2M notes</span>
<span>15k users</span>
<span>50k search + 100k rec samples</span>
</div>
<div class="project-layout project-layout-wide">
<article class="card project-card">
<span>Workflow</span>
<p>
Built a unified search-and-recommendation pipeline from data preprocessing and feature engineering to
retrieval, coarse ranking, final ranking, deployment, and online serving.
</p>
</article>
<article class="card project-card">
<span>Modeling</span>
<p>
Combined DSSM dual-tower retrieval with Faiss, Swing, and UserCF; used LambdaMART with LightGBM and
XGBoost for coarse ranking; and DIEN for sequence-aware final ranking.
</p>
</article>
<article class="card project-card">
<span>Online Serving</span>
<p>
Served through FastAPI and Redis, with real-time behavior writeback and linked search-recommendation
updates. End-to-end latency stays around 150ms.
</p>
</article>
</div>
<div class="metric-grid">
<article class="card metric-card">
<span>Search Metrics</span>
<strong>HitRate@500 0.88 · Recall@500 0.65 · MRR@100 0.11 · NDCG@10 0.69 · AUC 0.77</strong>
</article>
<article class="card metric-card">
<span>Recommendation Metrics</span>
<strong>HitRate@500 0.99 · Recall@500 0.99 · NDCG@10 0.87 · AUC 0.84</strong>
</article>
</div>
<div class="linked-stack">
<a href="https://www.python.org/">Python</a>
<a href="https://fastapi.tiangolo.com/">FastAPI</a>
<a href="https://vuejs.org/">Vue 3</a>
<a href="https://www.typescriptlang.org/">TypeScript</a>
<a href="https://redis.io/">Redis</a>
<a href="https://duckdb.org/">DuckDB</a>
<a href="https://faiss.ai/">Faiss</a>
<a href="https://lightgbm.readthedocs.io/">LightGBM</a>
<a href="https://xgboost.readthedocs.io/">XGBoost</a>
<a href="https://www.tensorflow.org/recommenders/examples/dcn">DSSM</a>
<a href="https://arxiv.org/abs/1809.03672">DIEN</a>
</div>
</section>
<section class="section reveal">
<div class="section-head">
<p class="section-tag">Stack</p>
<h2>Core tools and systems.</h2>
</div>
<div class="stack-list linked-stack">
<a href="https://www.python.org/">Python</a>
<a href="https://fastapi.tiangolo.com/">FastAPI</a>
<a href="https://redis.io/">Redis</a>
<a href="https://duckdb.org/">DuckDB</a>
<a href="https://faiss.ai/">Faiss</a>
<a href="https://lightgbm.readthedocs.io/">LightGBM</a>
<a href="https://xgboost.readthedocs.io/">XGBoost</a>
<a href="https://vuejs.org/">Vue 3</a>
<a href="https://www.typescriptlang.org/">TypeScript</a>
<a href="https://www.docker.com/">Docker</a>
<a href="https://www.kernel.org/">Linux</a>
<a href="https://coralnet.ucsd.edu/">CoralNet</a>
</div>
</section>
<section class="section support-section reveal">
<div class="support-copy">
<p class="section-tag">Support</p>
<h2>Buy me a coffee.</h2>
<p>If my work is useful to you, you can support it here.</p>
</div>
<div class="support-actions">
<button class="support-button" data-support="wechat" type="button">
<img src="https://cdn.simpleicons.org/wechat/07C160" alt="" />
<span>WeChat</span>
</button>
<button class="support-button" data-support="alipay" type="button">
<img src="https://cdn.simpleicons.org/alipay/1677FF" alt="" />
<span>Alipay</span>
</button>
<button class="support-button" data-support="paypal" type="button">
<img src="https://cdn.simpleicons.org/paypal/003087" alt="" />
<span>PayPal</span>
</button>
</div>
</section>
</main>
</div>
<div class="support-modal" id="support-modal" hidden>
<div class="support-backdrop" data-close-modal="true"></div>
<div class="support-dialog" role="dialog" aria-modal="true" aria-labelledby="support-title">
<button class="modal-close" id="modal-close" type="button" aria-label="Close">×</button>
<p class="modal-tag">Buy me a coffee</p>
<h3 id="support-title"></h3>
<img id="support-image" src="" alt="" />
<p id="support-caption"></p>
</div>
</div>
<script src="script.js"></script>
</body>
</html>