PageSourceSearch

https://laszukdawid.com/projects/

html laszukdawid.com collected 2026-09-28 06:55:23 UTC 12,747 bytes, 341 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5  <meta charset="utf-8" />
6  <meta content="width=device-width, initial-scale=1" name="viewport" />
7  <meta content="#ffffff" name="theme-color" />
8  <meta content="#da532c" name="msapplication-TileColor" />
9
10  
11  
12  
13  
14  <link href='&#x2F;images&#x2F;avatar_circle_32x32.png' rel="icon" sizes="32x32" type="image/png" />
15  
16  
17
18  <link href="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/themes/folio/galleria.folio.min.css"
19    rel="stylesheet" />
20  <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/mapbox-gl.min.css" rel="stylesheet" />
21  <link href="https:&#x2F;&#x2F;laszukdawid.com&#x2F;deep-thought.css" rel="stylesheet" />
22
23  
24  
25
26  <title>
27    
28DL | Projects
29
30  </title>
31
32  
32<script src="https://kit.fontawesome.com/1f1be77bfb.js" crossorigin="anonymous"></script>
vendor: 70 bytes, lines 32-35
32
33
34  
35  <script async src="https://www.googletagmanager.com/gtag/js?id=
35G-RE32YHV5XD
vendor: 14 bytes, lines 35-36
35"></script>
36  
36<script type="text/javascript">
37    
vendor: 152 bytes, lines 37-42
37window.dataLayer = window.dataLayer || [];
38    function gtag() {
39      dataLayer.push(arguments);
40    }
41    gtag("js", new Date());
42    gtag("config", "
42G-RE32YHV5XD
vendor: 6 bytes, lines 42-43
42");
43  
43</script>
43
44  
45
46  
47  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"
48    integrity="sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X" crossorigin="anonymous">
49  
49<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js"
50    integrity="sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4"
51    crossorigin="anonymous"></script>
51
52
53  
53<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/mathtex-script-type.min.js"
54    integrity="sha384-LJ2FmexL77rmGm6SIpxq7y+XA6bkLzGZEgCywzKOZG/ws4va9fUVu2neMjvc3zdv"
55    crossorigin="anonymous"></script>
55
56  
57  
57<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js"
58    integrity="sha384-mll67QQFJfxn0IYznZYonOWZ644AWYC+Pt2cHqMaRhXVrursRwvLnLaebdGIlYNa" crossorigin="anonymous" onload="renderMathInElement(document.body, {
59				delimiters: [
60					{left: '$$', right: '$$', display: true},
61					{left: '$', right: '$', display: false},
62					{left: '\\(', right: '\\)', display: false},
63					{left: '\\[', right: '\\]', display: true}
64				]
65			});"></script>
65
66  
67  
68</head>
69
70<body class="has-background-white">
71  
72  <nav aria-label="section navigation" class="navbar is-light" role="navigation">
73    <div class="container">
74      <div class="navbar-brand">
75        <a class="navbar-item has-text-weight-bold" href="https:&#x2F;&#x2F;laszukdawid.com">DL</a>
76      
77      <!-- # Dawid Laszuk, PhD
78Senior Machine Learning Engineer | Vancouver, Canada  
79[email protected] | https://laszukdawid.com | LinkedIn: /in/laszukdawid/
80
81## Professional Experience
82
83**Staff Machine Learning Engineer, Sailpoint** (Feb 2022 - Present)
84* Core contributor and lead for Generative AI initiatives
85* Principal designer for ML and GenAI platforms
86* Led development of chatbot with rich GenAI capabilities
87* Established MLOps practices and infrastructure
88
89**Founder, Agents Bar** (Mar 2021 - May 2022)
90* Built deep reinforcement learning platform providing agents-as-a-service
91* Developed full-stack solution using TypeScript, Python, and PyTorch
92* Created and open-sourced AI Traineree, a deep reinforcement learning framework
93
94**Sr. Machine Learning Engineer, Amazon** (Jun 2017 - Sep 2020)
95* Led productionalization of reinforcement learning solutions
96* Established ML software and model readiness guidelines
97* Built simulation systems for business decision inference
98* Developed ETL pipelines processing petabytes of data using AWS EMR
99
100**Python Developer, Titanis** (Jan 2010 - Jan 2012)
101* Designed brain-computer interface frameworks
102* Implemented data processing algorithms using NumPy, SciPy, Scikit-learn
103
104## Education
105
106**PhD in Mathematics and Optimization** - University of Reading, UK
107* Thesis: KurSL - Modeling coupled oscillators using Kuramoto's coupling and Sturm-Liouville theory
108* Focus: Mathematical modeling, differential equations, MCMC optimization
109
110**MSc in Physics** - University of Warsaw, Poland
111* Thesis: Analysis of experimental data for hybrid BCI systems
112
113## Open Source Projects
114
115* **AI Traineree**: Deep reinforcement learning framework
116* **PyEMD**: Standard implementation of Empirical Mode Decomposition (500+ GitHub stars)
117* **Agents Bar**: Contributing to scientific/engineering progress through open-source AI tools
118
119## Technical Skills
120* AI/ML: Generative AI, Large Language Models, PyTorch, Reinforcement Learning, MLOps
121* Cloud & Infrastructure: AWS (Sagemaker, EMR), Kubernetes, Docker, Terraform
122* Languages: Python, TypeScript, Golang
123* Development: Full-stack development, API design, Microservices architecture -->
124      </div>
125        <a aria-expanded="false" aria-label="menu" class="navbar-burger burger" data-target="navMenu" role="button">
126          <span aria-hidden="true"></span>
127          <span aria-hidden="true"></span>
128          <span aria-hidden="true"></span>
129        </a>
130      </div>
131      <!-- 
132       -->
133
134      <div class="navbar-menu" id="navMenu">
135        <div class="navbar-end has-text-centered">
136          
137          
138          
139          <a class="navbar-item" href='https:&#x2F;&#x2F;laszukdawid.com'>
140            Home
141          </a>
142          
143          <a class="navbar-item" href='https:&#x2F;&#x2F;laszukdawid.com&#x2F;til'>
144            TIL
145          </a>
146          
147          <a class="navbar-item" href='https:&#x2F;&#x2F;laszukdawid.com&#x2F;blog'>
148            Blog
149          </a>
150          
151          <a class="navbar-item" href='https:&#x2F;&#x2F;laszukdawid.com&#x2F;projects'>
152            Projects
153          </a>
154          
155          <a class="navbar-item" href='https:&#x2F;&#x2F;laszukdawid.com&#x2F;about'>
156            About
157          </a>
158          
159          
160          
161          <a class="navbar-item" id="rss" title="RSS" href="/rss.xml">
162            <span class="icon">
163              <i class="fas fa-rss-square"></i>
164            </span>
165          </a>
166          <a class="navbar-item" id="nav-search" title="Search" data-target="#search-modal">
167            <span class="icon">
168              <i class="fas fa-search"></i>
169            </span>
170          </a>
171          <a class="navbar-item" id="dark-mode" title="Switch to dark theme">
172            <span class="icon">
173              <i class="fas fa-adjust"></i>
174            </span>
175          </a>
176        </div>
177      </div>
178    </div>
179  </nav>
180  
181
182  
183  
184
185  
186<section class="section">
187  <div class="container">
188    <div class="columns">
189      <div class="column is-8 is-offset-2">
190        <article class="box">
191          <h1 class="title">
192            Projects
193          </h1>
194          <p class="subtitle"></p>
195          <div class="columns is-multiline is-gapless">
196            <div class="column is-8">
197              
198
199<span class="icon-text has-text-grey">
200  <span class="icon">
201    <i class="fas fa-user"></i>
202  </span>
203  <span>Dawid Laszuk updated on</span>
204  <span class="icon">
205    <i class="far fa-calendar-alt"></i>
206  </span>
207  <span><time datetime="2026-07-04">July 04, 2026</time></span>
208</span>
209
210
211            </div>
212            <div class="column is-4 has-text-right-desktop">
213              
214<span class="icon-text has-text-grey">
215  <span class="icon">
216    <i class="far fa-clock"></i>
217  </span>
218  <span>
2182 min,</span>
219  <span class="icon">
220    <i class="fas fa-pencil-alt"></i>
221  </span>
222  <span>372 words</span>
223</span>
224
225            </div>
226            <div class="column">
227              
228            </div>
229            <div class="column has-text-right-desktop">
230              
231            </div>
232          </div>
233          <div class="content mt-2">
234            <p>I'm always open for some interesting projects and collaboration. Feel free to <a href="/about">contact</a>.</p>
235<h2 id="git-repo-tracker"><a href="https://laszukdawid.github.io/git-repo-tracker">Git Repo Tracker</a></h2>
236<p>A small tray app that watches local git repositories and shows which ones are behind their remote branch. More details at <a href="https://github.com/laszukdawid/git-repo-tracker">GitHub</a>.</p>
237<h2 id="multi-pong"><a href="https://multi-pong.lasz.uk">Multi Pong</a></h2>
238<p>A small realtime multiplayer Pong experiment where 2 to 8 players share one arena over WebSockets. It is playable at <a href="https://multi-pong.lasz.uk/">multi-pong.lasz.uk</a>.</p>
239<h2 id="terminal-agent"><a href="https://laszukdawid.github.io/terminal-agent">Terminal Agent</a></h2>
240<p>An LLM agent to help you from and within the terminal. It allows you to ask questions, execute tasks, and interact with LLMs directly from your command line.
241Installation is available via Homebrew, pre-built binaries, or Go. More details at <a href="https://github.com/laszukdawid/terminal-agent">GitHub</a>.</p>
242<h2 id="ai-traineree"><a href="https://ai-traineree.readthedocs.io/">AI Traineree</a></h2>
243<p>A collection of <a href="https://en.wikipedia.org/wiki/Deep_reinforcement_learning">deep reinforcement learning</a> agents written in Python using <a href="https://pytorch.org/">PyTorch</a>.
244More about it is at <a href="ai-traineree.readthedocs.io/">AI Traineree docs</a> and the source code is available at <a href="github.com/laszukdawid/ai-traineree">GitHub</a>.</p>
245<h2 id="pyemd"><a href="https://pypi.org/project/EMD-signal/">PyEMD</a></h2>
246<p>Python implementation of a popular signal decompoisition method - <a href="https://en.wikipedia.org/wiki/Hilbert%E2%80%93Huang_transform">Empirical Mode Decomposition</a> - and some of its modifications including Ensembled EMD (EEMD).
247I don't know when, I don't know how but my <a href="https://pypi.org/project/EMD-signal/">PyEMD</a> package became de facto standard Python implementation for EMD. 
248Unfortunately, EMD isn't part of my research anymore and so it felt in priority, I still maintaine it for others to use.</p>
249<h2 id="agents-bar-inactive">Agents Bar (Inactive)</h2>
250<p><a href="https://agents.bar">Agents Bar</a> is a place for <a href="https://en.wikipedia.org/wiki/Deep_reinforcement_learning">deep reinforcement learning</a> AI agents to hang out.
251It's a part machine learning operations, aka <b>MLOps</b>, tool where one can deploy and host their own agents, and in part a platform for users to select already existing agents.</p>
252<p><em>Note: This project is currently inactive.</em></p>
253
254          </div>
255        </article>
256      </div>
257      
258    </div>
259  </div>
260</section>
261
262
263  
264  <section class="modal" id="search-modal">
265    <div class="modal-background"></div>
266    <div class="modal-card">
267      <header class="modal-card-head">
268        <p class="modal-card-title">Search</p>
269      </header>
270      <section class="modal-card-body">
271        <div class="field mb-2">
272          <div class="control">
273            <input class="input" id="search" placeholder="Search this website." type="search" />
274          </div>
275        </div>
276        <div class="search-results">
277          <div class="search-results__items"></div>
278        </div>
279      </section>
280    </div>
281    <button aria-label="close" class="modal-close is-large"></button>
282  </section>
283  
284
285
286  
287
288<section class="section">
289  <div class="container">
290    <div class="columns is-centered">
291      <div class="column is-8">
292        <nav class="level">
293           
294          <div class="level-item has-text-centered">
295            <a class="button is-black is-outlined" href="https:&#x2F;&#x2F;laszukdawid.com&#x2F;about&#x2F;">
296              About<span class="icon ml-2">
297                <i class="fas fa-arrow-circle-right"></i>
298              </span>
299            </a>
300          </div>
301              
302        </nav>
303      </div>
304    </div>
305  </div>
306</section>
307
308
309
310  
311
312
313
314  
315  <footer class="footer">
316    <div class="content has-text-centered">
317      <p>
318        There's nothing below this point.
319      </p>
320    </div>
321  </footer>
322  
323
324  
324<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>
324
325  
325<script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/galleria.min.js"></script>
325
326  
326<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js"></script>
326
327  
327<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.xkcd.min.js"></script>
327
328  
328<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/mapbox-gl.min.js"></script>
328
329  
329<script src="https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/themes/folio/galleria.folio.min.js"></script>
329
330  
330<script src="https://cdnjs.cloudflare.com/ajax/libs/elasticlunr/0.9.6/elasticlunr.min.js"></script>
330
331  
331<script src="https:&#x2F;&#x2F;laszukdawid.com&#x2F;search_index.en.js"></script>
331
332  
332<script src="https:&#x2F;&#x2F;laszukdawid.com&#x2F;js&#x2F;site.js"></script>
332
333
334  
335
336
337
338
339</body>
340
341</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.