-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
492 lines (469 loc) · 23.6 KB
/
Copy pathindex.html
File metadata and controls
492 lines (469 loc) · 23.6 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
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta
name="description"
content="Daniel Gaskins is an applied AI and machine learning engineer focused on agent automation, evaluation, computer vision, and reliable ML systems."
/>
<meta name="theme-color" content="#0b0d0c" />
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
<meta property="og:title" content="Daniel Gaskins — Applied AI & Machine Learning Engineer" />
<meta
property="og:description"
content="I build and evaluate useful AI systems for messy, real-world problems."
/>
<meta property="og:type" content="website" />
<meta property="og:url" content="https://danielgaskins.com/" />
<meta property="og:site_name" content="Daniel Gaskins" />
<meta property="og:image" content="https://danielgaskins.com/assets/img/daniel-gaskins-portrait.webp" />
<meta property="og:image:width" content="1122" />
<meta property="og:image:height" content="1402" />
<meta property="og:image:alt" content="Portrait of Daniel Gaskins, applied AI and machine learning engineer" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Daniel Gaskins — Applied AI & Machine Learning Engineer" />
<meta name="twitter:description" content="I build and evaluate useful AI systems for messy, real-world problems." />
<meta name="twitter:image" content="https://danielgaskins.com/assets/img/daniel-gaskins-portrait.webp" />
<meta name="twitter:image:alt" content="Portrait of Daniel Gaskins, applied AI and machine learning engineer" />
<link rel="canonical" href="https://danielgaskins.com/" />
<link rel="alternate" type="application/rss+xml" title="Daniel Gaskins — Field Notes" href="https://danielgaskins.com/feed.xml" />
<title>Daniel Gaskins — Applied AI & Machine Learning Engineer</title>
<link rel="icon" href="./favicon.svg" type="image/svg+xml" />
<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=DM+Mono:wght@300;400;500&family=Manrope:wght@400;500;600;700&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="./styles.css" />
<script src="./script.js" defer></script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": "https://danielgaskins.com/#website",
"url": "https://danielgaskins.com/",
"name": "Daniel Gaskins",
"description": "Applied AI and machine learning engineering portfolio and field notes.",
"publisher": {"@id": "https://danielgaskins.com/#daniel-gaskins"}
},
{
"@type": "ProfilePage",
"@id": "https://danielgaskins.com/#profile",
"url": "https://danielgaskins.com/",
"name": "Daniel Gaskins — Applied AI and Machine Learning Engineer",
"dateModified": "2026-08-21",
"isPartOf": {"@id": "https://danielgaskins.com/#website"},
"mainEntity": {"@id": "https://danielgaskins.com/#daniel-gaskins"}
},
{
"@type": "Person",
"@id": "https://danielgaskins.com/#daniel-gaskins",
"name": "Daniel Gaskins",
"givenName": "Daniel",
"familyName": "Gaskins",
"url": "https://danielgaskins.com/",
"image": [
"https://danielgaskins.com/assets/img/daniel-gaskins-profile-1x1.jpg",
"https://danielgaskins.com/assets/img/daniel-gaskins-profile-4x3.jpg",
"https://danielgaskins.com/assets/img/daniel-gaskins-profile-16x9.jpg"
],
"email": "mailto:hello@danielgaskins.com",
"description": "Founder and applied AI engineer focused on agent evaluation, document AI, computer vision, and reliable machine learning systems.",
"sameAs": [
"https://github.com/danielgaskins",
"https://www.linkedin.com/in/daniel-gaskins-ml/",
"https://pypi.org/user/danielgaskins/"
],
"jobTitle": "Applied AI and Machine Learning Engineer",
"worksFor": {
"@type": "Organization",
"name": "SyncABill",
"url": "https://syncabill.com/"
},
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "University of California, San Diego"
},
"knowsAbout": [
"Machine learning",
"Model training",
"Model evaluation",
"Research engineering",
"AI agents",
"Document AI",
"Financial workflow automation",
"Computer vision",
"Reliable machine learning systems"
]
}
]
}
</script>
</head>
<body>
<a class="skip-link" href="#main">Skip to content</a>
<header class="site-header" data-header>
<a class="wordmark" href="#top" aria-label="Daniel Gaskins, home">
<span>DG</span>
<span class="wordmark__name">Daniel Gaskins</span>
</a>
<button class="nav-toggle" type="button" aria-expanded="false" aria-controls="site-nav">
<span></span><span></span>
<span class="sr-only">Toggle navigation</span>
</button>
<nav id="site-nav" class="site-nav" aria-label="Primary navigation">
<a href="#work">Work</a>
<a href="#capabilities">How I work</a>
<a href="./blog.html">Blog</a>
<a href="#about">About</a>
<a href="./resume.html">Résumé</a>
<a class="nav-cta" href="./meet.html">Talk with me</a>
</nav>
</header>
<main id="main">
<section id="top" class="hero section-shell">
<div class="hero__copy" data-reveal>
<p class="eyebrow"><span class="status-dot"></span> Applied AI / machine learning engineering</p>
<h1>
Daniel Gaskins builds
<span class="hero__emphasis">AI that survives the real world.</span>
</h1>
<p class="hero__lede">
I’m a founder and applied ML engineer. I turn ambiguous questions into
testable experiments, inspect where models fail, and build useful systems around
what survives.
</p>
<div class="hero__actions">
<a class="button button--primary" href="#work">
See what I’ve built
<svg aria-hidden="true" viewBox="0 0 16 16"><path d="M3 8h9M8.5 3.5 13 8l-4.5 4.5" /></svg>
</a>
<a class="button button--quiet" href="./resume.html">Read my résumé</a>
</div>
</div>
<div class="hero__visual" aria-label="An interactive machine-learning pipeline with field notes for each stage" data-reveal>
<div class="lab-card">
<div class="lab-card__head">
<span>MODEL FIELD NOTES / 01</span>
<span class="lab-card__live"><i></i> LIVE</span>
</div>
<div class="pipeline" data-pipeline>
<div class="pipeline__rail"></div>
<div class="pipeline__pulse"></div>
<button class="pipeline__node pipeline__node--data is-active" type="button" data-stage="DATA" data-insight="If the data is wrong, nothing downstream can save it." aria-pressed="true">
<span>01</span>
<strong>DATA</strong>
<small>curate + prepare</small>
</button>
<button class="pipeline__node pipeline__node--train" type="button" data-stage="TRAIN" data-insight="A run without a hypothesis is just a GPU bill." aria-pressed="false">
<span>02</span>
<strong>TRAIN</strong>
<small>iterate + learn</small>
</button>
<button class="pipeline__node pipeline__node--eval" type="button" data-stage="EVAL" data-insight="A metric matters only if it catches a real failure." aria-pressed="false">
<span>03</span>
<strong>EVAL</strong>
<small>measure + inspect</small>
</button>
<button class="pipeline__node pipeline__node--ship" type="button" data-stage="SHIP" data-insight="The first production run is the next experiment." aria-pressed="false">
<span>04</span>
<strong>SHIP</strong>
<small>serve + observe</small>
</button>
</div>
<div class="lab-card__insight" aria-live="polite">
<span data-lab-stage>FIELD NOTE / DATA</span>
<strong data-lab-insight>If the data is wrong, nothing downstream can save it.</strong>
</div>
</div>
<div class="visual-note visual-note--top">PICK A STAGE</div>
<div class="visual-note visual-note--bottom">PHYSICS / ML / SOFTWARE</div>
</div>
</section>
<section class="signal-strip" aria-label="Core disciplines">
<div class="signal-strip__track">
<span>ASK THE QUESTION</span><i>+</i><span>BUILD THE DATA</span><i>+</i><span>RUN THE EXPERIMENT</span><i>+</i>
<span>FIND THE FAILURE</span><i>+</i><span>SHIP THE SYSTEM</span><i>+</i><span>WATCH IT LEARN</span><i>+</i>
<span aria-hidden="true">ASK THE QUESTION</span><i aria-hidden="true">+</i><span aria-hidden="true">BUILD THE DATA</span><i aria-hidden="true">+</i>
</div>
</section>
<section id="work" class="work section-shell section-block">
<div class="section-intro" data-reveal>
<p class="section-index">01 / SELECTED WORK</p>
<h2>I build the test before I trust the result.</h2>
<p>
Recent work starts with an uncomfortable question: how could this result be wrong?
I turn that question into a test, build the surrounding system, and keep the failure
visible long enough to learn from it.
</p>
</div>
<div class="work-list">
<article class="work-card work-card--artifact" data-reveal>
<div class="work-card__number">01</div>
<div class="work-card__body">
<div class="work-card__meta">
<span>2025—PRESENT</span>
<span>FOUNDER / APPLIED AI ENGINEER</span>
</div>
<h3>SyncABill</h3>
<p>
Gemini can read an invoice, but it should not decide what enters a company’s
books. I built SyncABill to extract the invoice, check the result, apply the
controller’s review rules, and send approved bills to QuickBooks Online or Xero.
</p>
<ul class="tag-list" aria-label="SyncABill areas">
<li>Document AI</li><li>TypeScript / Node.js</li><li>GCP / Firebase</li><li>Financial workflows</li>
</ul>
</div>
<a class="work-card__link" href="./syncabill.html" aria-label="Read the SyncABill case study">
<svg aria-hidden="true" viewBox="0 0 24 24"><path d="M5 19 19 5M8 5h11v11" /></svg>
</a>
</article>
<article class="work-card work-card--artifact" data-reveal>
<div class="work-card__number">02</div>
<div class="work-card__body">
<div class="work-card__meta">
<span>2026 / ACTIVE</span>
<span>AGENT EVALUATION</span>
</div>
<h3>Mendmark</h3>
<p>
Your agent tests may all pass and still miss a broken tool call. Mendmark plants
controlled faults in passing traces and includes a public golden set showing how
response-only, trace-only, and complete evaluators behave across 263 mutations.
</p>
<ul class="tag-list" aria-label="Mendmark areas">
<li>Mutation testing</li><li>Golden set</li><li>Tool-use evals</li><li>CI/CD</li>
</ul>
</div>
<a class="work-card__link" href="./mendmark.html" aria-label="Read the Mendmark case study">
<svg aria-hidden="true" viewBox="0 0 24 24"><path d="M5 19 19 5M8 5h11v11" /></svg>
</a>
</article>
<article class="work-card work-card--artifact" data-reveal>
<div class="work-card__number">03</div>
<div class="work-card__body">
<div class="work-card__meta">
<span>OPEN SOURCE</span>
<span>CROSS-RUNTIME ML INFERENCE</span>
</div>
<h3>lgbm-to-code</h3>
<p>
A trained, one-output LightGBM model becomes dependency-free Python, C++17,
or JavaScript. Executed and compiled tests compare every target against
LightGBM raw scores at 1e-12 tolerances.
</p>
<ul class="tag-list" aria-label="lgbm-to-code technologies">
<li>Python</li><li>LightGBM</li><li>C++17</li><li>JavaScript</li>
</ul>
</div>
<a class="work-card__link" href="./lightgbm-model-to-code.html" aria-label="Read the lgbm-to-code case study">
<svg aria-hidden="true" viewBox="0 0 24 24"><path d="M5 19 19 5M8 5h11v11" /></svg>
</a>
</article>
<article class="work-card work-card--no-link" data-reveal>
<div class="work-card__number">04</div>
<div class="work-card__body">
<div class="work-card__meta">
<span>2021—2022</span>
<span>FOUNDER / MACHINE LEARNING ENGINEER</span>
</div>
<h3>Perfsy</h3>
<p>
At Perfsy, I built a computer-vision pipeline to extract structured fields from
scanned DMV vehicle titles. I normalized scans with OpenCV and iterated across
character primitives, autoencoders, convolutional features, and DNN classifiers.
</p>
<ul class="tag-list" aria-label="Perfsy areas">
<li>Computer vision</li><li>OpenCV</li><li>Autoencoders</li><li>Data workflows</li>
</ul>
</div>
</article>
<article class="work-card" data-reveal>
<div class="work-card__number">05</div>
<div class="work-card__body">
<div class="work-card__meta">
<span>2022—PRESENT</span>
<span>FOUNDER / OPERATOR</span>
</div>
<h3>Casabauhaus</h3>
<p>
I operate this vintage-furniture business and use agent-assisted, API-driven
workflows for pricing, reporting, seasonality analysis, social media, and Shopify.
Earlier models estimated furniture value and classified mid-century pieces,
including a fine-tuned CLIP model built before modern VLMs became practical.
</p>
<ul class="tag-list" aria-label="Casabauhaus areas">
<li>Agent automation</li><li>Computer vision</li><li>CLIP</li><li>Business operations</li>
</ul>
</div>
<a class="work-card__link" href="https://casabauhaus.com" target="_blank" rel="noreferrer" aria-label="Visit Casabauhaus">
<svg aria-hidden="true" viewBox="0 0 24 24"><path d="M5 19 19 5M8 5h11v11" /></svg>
</a>
</article>
</div>
</section>
<section id="capabilities" class="capabilities section-block">
<div class="section-shell capabilities__inner">
<div class="section-intro section-intro--light" data-reveal>
<p class="section-index">02 / HOW I WORK</p>
<h2>I care about what happens after <code>model.fit()</code>.</h2>
<p>
The dataset is messy. The metric lies. Latency enters the room. I like that part:
finding the failure, tightening the loop, and turning a promising model into
software people can rely on.
</p>
</div>
<div class="capability-grid">
<article data-reveal>
<span>01</span>
<h3>Train the model</h3>
<p>Start with a question. Build the dataset, run the experiment, and keep honest notes.</p>
</article>
<article data-reveal>
<span>02</span>
<h3>Try to break it</h3>
<p>Write the test that could prove the idea wrong. Read the misses, not just the mean.</p>
</article>
<article data-reveal>
<span>03</span>
<h3>Build the system</h3>
<p>Give the model dependable data, inference, monitoring, and deployment paths.</p>
</article>
<article data-reveal>
<span>04</span>
<h3>Watch it work</h3>
<p>Put it in front of a real user and stay close enough to see what breaks.</p>
</article>
</div>
<div class="stack" data-reveal>
<p>METHODS + TOOLS</p>
<div class="stack__items">
<span>Python</span><span>PyTorch</span><span>TensorFlow</span><span>scikit-learn</span><span>LightGBM</span>
<span>TypeScript</span><span>React</span><span>C++</span><span>Scala</span><span>Java</span>
<span>Model evaluation</span><span>Agent automation</span><span>Agent evaluation</span><span>Experiment design</span><span>CI/CD</span>
<span>NLP</span><span>Computer Vision</span>
</div>
</div>
</div>
</section>
<section id="notes" class="notes section-shell section-block">
<div class="section-intro" data-reveal>
<p class="section-index">03 / BLOG</p>
<h2>Write down the failure before it becomes folklore.</h2>
<p>
Short technical notes about agent evaluation, model failures, and the systems built
around uncertain outputs.
</p>
</div>
<article class="note-card" data-reveal>
<div class="note-card__meta">
<span>AUGUST 5, 2026</span>
<span>HUMAN REVIEW</span>
</div>
<h3>Human review stops working when everything needs review.</h3>
<p>
Every review consumes a person's attention. A practical way to decide which AI actions
should stop, what the reviewer needs to see, and what the system must never decide alone.
</p>
<a href="./human-review-ai-agents.html">
Read the field note
<svg aria-hidden="true" viewBox="0 0 16 16"><path d="M3 8h9M8.5 3.5 13 8l-4.5 4.5" /></svg>
</a>
</article>
<article class="note-card" data-reveal>
<div class="note-card__meta">
<span>AUGUST 3, 2026</span>
<span>AGENT EVALUATION</span>
</div>
<h3>Your agent eval passed. Would it catch a broken tool call?</h3>
<p>
Plant one known failure, rerun the same evals, and see whether the score changes. A
practical introduction to mutation testing for agent tool use.
</p>
<a href="./agent-eval-mutation-testing.html">
Read the field note
<svg aria-hidden="true" viewBox="0 0 16 16"><path d="M3 8h9M8.5 3.5 13 8l-4.5 4.5" /></svg>
</a>
</article>
<div class="notes__all" data-reveal>
<a class="button button--primary" href="./blog.html">View all field notes</a>
</div>
</section>
<section id="about" class="about section-shell section-block">
<div class="about__statement" data-reveal>
<p class="section-index">04 / ABOUT</p>
<blockquote>
I studied matter at its smallest scales. Then I started companies. Both taught me
the same thing: <em>a good answer begins with a better question.</em>
</blockquote>
</div>
<div class="about__details" data-reveal>
<figure class="about__portrait">
<div class="about__portrait-frame">
<img
src="./assets/img/daniel-gaskins-portrait.webp"
width="1122"
height="1402"
loading="lazy"
decoding="async"
alt="Portrait of Daniel Gaskins"
/>
</div>
<figcaption>Daniel Gaskins / Founder + ML engineer</figcaption>
</figure>
<h2 class="about__heading">About Daniel Gaskins</h2>
<p>
Daniel Gaskins is a founder and applied AI and machine learning engineer who builds
reliable systems around models, tools, and real business processes. He created
<a href="./mendmark.html">Mendmark</a>, a mutation-testing system for agent
evaluations; built <a href="./lightgbm-model-to-code.html">lgbm-to-code</a> for
dependency-free cross-runtime model inference; and founded
<a href="./syncabill.html">SyncABill</a>, an AI-assisted invoice workflow.
</p>
<p>
Daniel studied condensed matter physics at the University of California, San Diego
before moving into founder-led software and machine-learning work. His experience
spans agent evaluation, document AI, computer vision, production workflows, and
model deployment. He works from failure cases outward: define what must remain true,
build the smallest useful system, and test whether it holds up outside the demo.
</p>
<dl class="facts">
<div><dt>Education</dt><dd>Condensed Matter Physics<br />University of California, San Diego</dd></div>
<div><dt>Best fit</dt><dd>Applied AI & ML<br />Agent Automation<br />Model Evaluation</dd></div>
<div><dt>Location</dt><dd>US citizen<br />Open to relocation</dd></div>
</dl>
</div>
</section>
<section id="contact" class="contact">
<div class="section-shell contact__inner" data-reveal>
<p class="section-index">05 / CONTACT</p>
<h2>Let’s find the part that does not work yet.</h2>
<p>
If you are training or evaluating models, building the systems around them, or
turning research into a product, I would like to hear what is hard.
</p>
<div class="contact__actions">
<a class="button button--primary" href="mailto:hello@danielgaskins.com">
Tell me what you’re building
<svg aria-hidden="true" viewBox="0 0 16 16"><path d="M3 8h9M8.5 3.5 13 8l-4.5 4.5" /></svg>
</a>
<a class="button button--quiet" href="./assets/Daniel_Gaskins_Resume.pdf" download>Download résumé</a>
<a class="button button--quiet" href="https://github.com/danielgaskins" target="_blank" rel="me noreferrer">GitHub</a>
<a class="button button--quiet" href="https://www.linkedin.com/in/daniel-gaskins-ml/" target="_blank" rel="me noreferrer">LinkedIn</a>
<a class="button button--quiet" href="./meet.html">Put 30 minutes on the calendar</a>
</div>
</div>
</section>
</main>
<footer class="site-footer section-shell">
<p>© <span data-year></span> Daniel Gaskins</p>
<p>Physics · Models · Products</p>
<a href="#top">Back to top ↑</a>
</footer>
</body>
</html>