Files
.profile/README.md
T

461 lines
45 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div align="center">
<img src="https://git.dualfroz.com/dualfroz.png" width="112" alt="Michał DualFroz Fox, programista z Krakowa">
# Michał „DualFroz” Fox
**Programista, deweloper gier i ekosystemów IT z Krakowa**
Założyciel @ [VulCode](https://vulcode.com)
Współzałożyciel @ [Aphrodi](https://aphrodi.pl)
Współzałożyciel & Deweloper @ Lunatic Studios
Główny Deweloper @ Flaem, Plazer, Gyred
<table align="center">
<tr>
<td align="center" width="84"><a href="https://dualfroz.com"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/website.png" width="40" alt="dualfroz.com"><br><sub>dualfroz.com</sub></a></td>
<td align="center" width="84"><a href="https://www.linkedin.com/in/dualfroz/"><img src="https://skillicons.dev/icons?i=linkedin" width="40" alt="LinkedIn"><br><sub>LinkedIn</sub></a></td>
<td align="center" width="84"><a href="https://x.com/dualfroz"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/x.png" width="40" alt="X"><br><sub>X</sub></a></td>
<td align="center" width="84"><a href="https://www.instagram.com/dualfroz/"><img src="https://skillicons.dev/icons?i=instagram" width="40" alt="Instagram"><br><sub>Instagram</sub></a></td>
<td align="center" width="84"><a href="https://discord.com/users/181326503601111041"><img src="https://skillicons.dev/icons?i=discord" width="40" alt="Discord"><br><sub>Discord</sub></a></td>
<td align="center" width="84"><a href="mailto:me@dualfroz.com"><img src="https://skillicons.dev/icons?i=gmail" width="40" alt="E-mail"><br><sub>E-mail</sub></a></td>
</tr>
</table>
<sub>**Polski** · [English](README.en.md)</sub>
</div>
<br>
> _Hej, jestem Michał. Jestem z Krakowa i mam 18 lat. Od 2020 roku regularnie tworzę różnego rodzaju projekty programistyczne. Większość czasu spędziłem tworząc logiki backendowe, ale ostatnimi czasy zacząłem skupiać się bardziej na designie i UIUX, które są dziedzinami zdecydowanie bardziej odpornymi na wpływ LLMów - wierzę że kreatywność i pomysł to dwie rzeczy, które zostaną na zawsze nietknięte._
>
> _Często i aktywnie kontrybuuje do różnego rodzaju projektów open source. Lubię pomagać i wspierać społeczności tam, gdzie potrafię. Choć wiem że nie moja praca nie zawsze jest idealna, zawsze staram się ją przeglądać tak, aby najwyższej jakości dodatki i poprawki trafiały do projektów używanych przez tysiące/miliony._
>
> _Mam ponad 6 lat doświadczenia w programowaniu. W tym czasie napisałem **ponad 5 000 000** linijek kodu w **200+** projektach. Łącznie dołożyłem swoją cegiełkę do **53** repozytoriów open source, które łącznie mają **410 000+** gwiazdek na GitHubie._
>
> _Poza programowaniem interesuję się wieloma rzeczami - sztuką, historią, lingwistyką, matematyką, szachami, muzyką... długo by wymieniać._
> **Teraz:** Od niedawna pracuję nad ukończeniem pierwszej wersji Flaema, panelu hostingowego. Projekt jest napisany w kilku językach (TypeScript, Rust, Elixir, Golang, a także mikroserwisy w Javie, Pythonie, C) i łącznie składa się z prawie miliona linijek kodu. Pierwsze wydanie Flaema planuję na ~ październik/listopad 2026.
## 📫 Kontakt
<table>
<tr>
<td valign="top">
- 🌐 Strona: [dualfroz.com](https://dualfroz.com)
- ✉️ E-mail: [me@dualfroz.com](mailto:me@dualfroz.com)
- 💼 LinkedIn: [linkedin.com/in/dualfroz](https://www.linkedin.com/in/dualfroz/)
- 🐦 X: [x.com/dualfroz](https://x.com/dualfroz)
- 📸 Instagram: [instagram.com/dualfroz](https://www.instagram.com/dualfroz/)
- 💬 Discord: [DualFroz](https://discord.com/users/181326503601111041)
- 🏢 Firma: [vulcode.com](https://vulcode.com)
</td>
<td valign="top" align="center">
<a href="https://discord.com/users/181326503601111041"><img src="https://ghapi.dualfroz.com/discord" width="380" alt="Mój profil Discord na żywo: status i aktywność"></a>
</td>
</tr>
</table>
## 📖 Historia
<table>
<tr>
<td width="150" valign="top">🌱 <b>Początki</b><br><sub>2020</sub></td>
<td>Pierwsze linijki kodu. Proste strony statyczne, każda następna uczyła coraz to ciekawszych kwestii. Nie było tu jeszcze nic zaawansowanego, ale każdy zaczynał od czegoś.</td>
</tr>
<tr>
<td width="150" valign="top">🎮 <b>Serwery i społeczność</b><br><sub>SCP: Secret Laboratory</sub></td>
<td>Prowadziłem serwery SCP:SL i pisałem do nich dodatki w C#. Z nich wyrosła Nebula: zestaw pluginów z narzędziem do moderacji i agregacji statystyk z serwera.</td>
</tr>
<tr>
<td width="150" valign="top">🛠️ <b>Support i marketing</b><br><sub>MatHost</sub></td>
<td>Support techniczny przez setki zgłoszeń: serwery gier, boty Discord, Pterodactyl. Dzięki temu naprawdę się rozwinąłem, co z resztą widać po rozwoju. W latach 2023-2025 zdobyłem ogromną wiedzę, dzięki właśnie pomaganiu klientom MatHost.</td>
</tr>
<tr>
<td width="150" valign="top">💼 <b>Projekty dla klientów</b><br><sub>od 2024</sub></td>
<td>Mocny freelance: projekty od początku do końca, ze skupieniem na designie systemu, architekturze, i tym jak wszystko działa od podstaw. Tutaj nauczyłem się wielu rzeczy, których dziś używam na codzień.</td>
</tr>
<tr>
<td width="150" valign="top">🏢 <b>Własny software house</b><br><sub>VulCode</sub></td>
<td>Założyłem VulCode. Cytując ze strony: "VulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarcza oprogramowanie wysokiej jakości i napisał już ponad 3 mln linijek kodu. Specjalizuje się w stronach, panelach i dashboardach oraz aplikacjach, a także w budowie skalowalnych platform. Aktywnie kontrybuuje do dziesiątek projektów open source."</td>
</tr>
<tr>
<td width="150" valign="top">🎨 <b>Branding i marketing</b><br><sub>Aphrodi</sub></td>
<td>Współtworzę Aphrodi, studio brandingu, digitalu i marketingu, które dopełnia to, co w VulCode powstaje w kodzie. Regularnie udzielam się w zakresie marketingu oraz samego designu graficznego, dzięki czemu dopełniam swój stack - z każdym dniem coraz bardziej.</td>
</tr>
<tr>
<td width="150" valign="top">🌍 <b>Open source</b><br><sub>dziś</sub></td>
<td>Dokładam się do projektów open source, z których korzystają miliony ludzi, od narzędzi deweloperskich po biblioteki - tak jak opisywalem wyżej, po prostu lubię pomagać innym. Sprawia mi to ogromną przyjemność.</td>
</tr>
<tr>
<td width="150" valign="top">🚀 <b>Własne platformy</b><br><sub>dziś</sub></td>
<td>Buduję własne produkty: Flaema, Plazera, Gyreda oraz SaaS-y Atrium i Lokal. Z czasem będzie ich więcej, ale obecnie jestem skupiony raczej na dopracowaniu istniejących projektów, niż tworzeniu nowych.</td>
</tr>
</table>
## 🏢 Firmy i role
<table>
<tr>
<td width="64" align="center"><img src="https://git.dualfroz.com/dualfroz/.profile/raw/branch/main/assets/projects/vulcode.png" width="40" alt="Logo VulCode"></td>
<td><b><a href="https://vulcode.com">VulCode</a></b> &nbsp;<code>założyciel</code><br>VulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarcza oprogramowanie wysokiej jakości i napisał już ponad 3 mln linijek kodu. Specjalizuje się w stronach, panelach i dashboardach oraz aplikacjach, a także w budowie skalowalnych platform. Aktywnie kontrybuuje do dziesiątek projektów open source.</td>
</tr>
<tr>
<td align="center"><img src="https://git.dualfroz.com/dualfroz/.profile/raw/branch/main/assets/projects/aphrodi.webp" width="40" alt="Logo Aphrodi"></td>
<td><b><a href="https://aphrodi.pl">Aphrodi</a></b> &nbsp;<code>współzałożyciel</code><br>Agencja kreatywna: branding, identyfikacja wizualna, projektowanie stron, grafika 3D i wideo.</td>
</tr>
<tr>
<td align="center"><img src="https://git.dualfroz.com/dualfroz/.profile/raw/branch/main/assets/projects/lunatic.png" width="40" alt="Logo Lunatic Studios"></td>
<td><b>Lunatic Studios</b> &nbsp;<code>współzałożyciel</code><br>Niezależne studio gier: szachy online z własnymi zasadami i zestaw mini gier.</td>
</tr>
</table>
## ⭐ Główne projekty
<table>
<tr>
<td width="64" align="center"><img src="https://cdn.discordapp.com/emojis/1534902970246762649.webp?size=64&quality=lossless" width="40" alt="Flaem"></td>
<td><b>Flaem</b> &nbsp;<br>Platforma do hostingu i infrastruktury: serwery gier i kontenery, VPS i LXC, usługi sieciowe (tunele, tranzyty, bloki IP, integracje z routerami i ochroną anty-DDoS) oraz IPMI. Siedem niezależnych modułów w Rust, Elixirze i Go, panel w React, aplikacje na desktop, iOS i Androida.</td>
</tr>
<tr>
<td align="center"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/plazer.png" width="40" alt="Logo Plazer"></td>
<td><b>Plazer</b> &nbsp;<br>Komunikator szyfrowany end-to-end: prywatny, lekki, z dużymi możliwościami personalizacji i do samodzielnego hostowania przez każdego. Nastawiony własnie na prywatność, bycie light weight i customizację. Coś, czego sam chcę używać.</td>
</tr>
<tr>
<td align="center"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/gyred.png" width="40" alt="Logo Gyred"></td>
<td><b>Gyred</b> &nbsp;<br>Panel do złożonych, długich sesji autonomicznych agentów AI, z asystentem, który trzyma długoterminowy kontekst w zindeksowanych plikach tekstowych. Przydatne narzędzie dla deweloperów, jesli odpowiednio wykorzystane.</td>
</tr>
</table>
<details>
<summary><b>Mniejsze projekty z opisem</b></summary>
<br>
- **Vulp**: aplikacja terminalowa w Rust do zarządzania całym workspace'em repozytoriów (stan repo, synchronizacja, projekty, pull requesty, statystyki)
- **Atrium**: panel dla hoteli z żywym planem pięter i pokoi, rezerwacjami, housekeepingiem i room service
- **Lokal**: panel dla restauracji, barów i kawiarni z rezerwacjami na planie sali, zamówieniami i grafikiem
- **VulBio**: strony wizytówki składane z panelu, bez dotykania kodu
- **Nebula**: pluginy do SCP: Secret Laboratory, w tym moderacja i analityka serwerów
- **Pharos**: monitoring dostępności z publiczną stroną statusu i incydentami, jedno binarium Go
- **Frostbyte**: hobbystyczne jądro systemu operacyjnego x86_64 w C i asemblerze
- **Cobalt**: wbudowany magazyn klucz-wartość oparty o drzewo LSM, napisany w Zig
- **Gambit**: silnik szachowy alfa-beta w Scali 3
- **Lumen**: dynamicznie typowany język skryptowy w Kotlinie
- **Voxelforge**: silnik voxelowy w C++17 z grywalnym demo w przeglądarce
- **Cellar**: silnik arkusza kalkulacyjnego z językiem formuł w Dart
- **Prism**: framework webowy w Ruby bez zewnętrznych bibliotek
- **Bazaar**: sklep internetowy na własnym mikroframeworku PHP ze Stripe
- **Chip8Sharp** i **GameBoySharp**: emulatory CHIP-8 i Game Boya w C#
</details>
## 🧰 Czym się zajmuję na co dzień
Poza głównymi projektami robię dużo mniejszych rzeczy, zarówno na zlecenie, jak i dla siebie:
| | Obszar | Przykłady |
|---|---|---|
| 🌐 | **Strony, panele i aplikacje na zlecenie** | strony firmowe z CMS-em, panele klienta, dashboardy, sklepy, integracje i automatyzacje |
| ☁️ | **Platformy SaaS** | Pracuję nad platformami dla branży: hostingowej, hotelarskiej, restauracyjnej, a w przyszłości chciałbym poszerzyć działalność o kolejne branże. |
| 🖥️ | **Hosting i infrastruktura** | serwery gier, Pterodactyl, Docker, monitoring, własne API do statystyk [ghapi](https://ghapi.dualfroz.com/v2/public), i przede wszystkim Flaem. |
| ⚙️ | **Systemy i niski poziom** | hobbystyczne jądro systemu x86_64 w C i asemblerze, silnik bazy klucz-wartość (LSM) w Zig, emulatory Game Boy i CHIP-8 w C#. Podsumowując, robię różne rzeczy tylko po to żeby się nauczyć jak co działa. |
| 🧪 | **Języki i silniki** | język skryptowy w Kotlinie, silnik szachowy w Scali, silnik voxelowy w C++ z demem w WebAssembly, silnik arkuszy kalkulacyjnych w Dart. |
| 🎮 | **Gry i pluginy** | pluginy do SCP: Secret Laboratory (Nebula), mini-gry przeglądarkowe i nie tylko.|
| 🤖 | **Boty i narzędzia** | boty Discord, aplikacja terminalowa Vulp do zarządzania repozytoriami, narzędzia CLI, narzędzia dla agentów AI. |
| 📱 | **Desktop i mobile** | aplikacje na Windows, macOS, iOS i Androida w Swift, Kotlinie i C# |
## 📊 W liczbach
<!-- stats:summary -->
<table>
<tr>
<td align="center" colspan="2" width="50%"><h3>5 994 022</h3>linii kodu</td>
<td align="center" width="25%"><h3>23 830</h3>commitów</td>
<td align="center" width="25%"><h3>200+</h3>projektów</td>
</tr>
<tr>
<td align="center" width="25%"><h3>410 000+</h3>gwiazdek projektów OSS</td>
<td align="center" width="25%"><h3>53</h3>projektów open source</td>
<td align="center" width="25%"><h3>26</h3>języków</td>
<td align="center" width="25%"><h3>1 655</h3>dni pracy</td>
</tr>
</table>
```diff
+ 5 994 022 linii dodanych
- 778 721 linii usuniętych
! 5 215 301 linii netto
```
<!-- /stats:summary -->
### Języki
<p align="center">
<img src="https://ghapi.dualfroz.com/v2/public/cards/top-langs.svg" width="495" alt="Wykres kołowy języków programowania">
</p>
<!-- stats:languages -->
<table align="center">
<tr><th></th><th align="left">Język</th><th align="right">Linie kodu</th><th align="right">Commity</th><th align="right">Udział</th></tr>
<tr><td><img src="https://skillicons.dev/icons?i=ts" width="18" alt="TypeScript"></td><td><b>TypeScript</b></td><td align="right">2 274 503</td><td align="right">6 203</td><td align="right">46,0% <sub>██████████</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=rust" width="18" alt="Rust"></td><td><b>Rust</b></td><td align="right">988 753</td><td align="right">2 516</td><td align="right">20,0% <sub>████</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=go" width="18" alt="Go"></td><td><b>Go</b></td><td align="right">281 782</td><td align="right">907</td><td align="right">5,7% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=kotlin" width="18" alt="Kotlin"></td><td><b>Kotlin</b></td><td align="right">206 250</td><td align="right">796</td><td align="right">4,2% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=cs" width="18" alt="C#"></td><td><b>C#</b></td><td align="right">162 872</td><td align="right">752</td><td align="right">3,3% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=js" width="18" alt="JavaScript"></td><td><b>JavaScript</b></td><td align="right">140 024</td><td align="right">500</td><td align="right">2,8% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=php" width="18" alt="PHP"></td><td><b>PHP</b></td><td align="right">130 914</td><td align="right">149</td><td align="right">2,6% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=swift" width="18" alt="Swift"></td><td><b>Swift</b></td><td align="right">116 812</td><td align="right">437</td><td align="right">2,4% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=elixir" width="18" alt="Elixir"></td><td><b>Elixir</b></td><td align="right">91 810</td><td align="right">438</td><td align="right">1,9% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=py" width="18" alt="Python"></td><td><b>Python</b></td><td align="right">84 375</td><td align="right">317</td><td align="right">1,7% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=html" width="18" alt="HTML"></td><td><b>HTML</b></td><td align="right">80 555</td><td align="right">145</td><td align="right">1,6% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=css" width="18" alt="CSS"></td><td><b>CSS</b></td><td align="right">61 717</td><td align="right">502</td><td align="right">1,2% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=cpp" width="18" alt="C++"></td><td><b>C++</b></td><td align="right">57 275</td><td align="right">358</td><td align="right">1,2% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=c" width="18" alt="C"></td><td><b>C</b></td><td align="right">49 346</td><td align="right">355</td><td align="right">1,0% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=zig" width="18" alt="Zig"></td><td><b>Zig</b></td><td align="right">44 583</td><td align="right">284</td><td align="right">0,9% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=mysql" width="18" alt="SQL"></td><td><b>SQL</b></td><td align="right">38 114</td><td align="right">590</td><td align="right">0,8% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=ruby" width="18" alt="Ruby"></td><td><b>Ruby</b></td><td align="right">37 655</td><td align="right">263</td><td align="right">0,8% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=lua" width="18" alt="Lua"></td><td><b>Lua</b></td><td align="right">32 053</td><td align="right">206</td><td align="right">0,6% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=bash" width="18" alt="Shell"></td><td><b>Shell</b></td><td align="right">29 411</td><td align="right">263</td><td align="right">0,6% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=java" width="18" alt="Java"></td><td><b>Java</b></td><td align="right">13 788</td><td align="right">75</td><td align="right">0,3% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=dart" width="18" alt="Dart"></td><td><b>Dart</b></td><td align="right">6 013</td><td align="right">40</td><td align="right">0,1% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=solidity" width="18" alt="Solidity"></td><td><b>Solidity</b></td><td align="right">4 688</td><td align="right">33</td><td align="right">0,1% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=haskell" width="18" alt="Haskell"></td><td><b>Haskell</b></td><td align="right">3 609</td><td align="right">28</td><td align="right">0,1% <sub>█</sub></td></tr>
<tr><td><img src="https://skillicons.dev/icons?i=scala" width="18" alt="Scala"></td><td><b>Scala</b></td><td align="right">3 133</td><td align="right">29</td><td align="right">0,1% <sub>█</sub></td></tr>
<tr><td><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/fsharp.png" width="18" alt="F#"></td><td><b>F#</b></td><td align="right">3 017</td><td align="right">18</td><td align="right">0,1% <sub>█</sub></td></tr>
<tr><td><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/assembly.png" width="18" alt="Assembly"></td><td><b>Assembly</b></td><td align="right">397</td><td align="right">6</td><td align="right">0,0% <sub>█</sub></td></tr>
</table>
**Frameworki i narzędzia wykryte w projektach** <sub>(liczba repozytoriów)</sub>
Docker <sub>61</sub> · React <sub>30</sub> · Express <sub>27</sub> · Vite <sub>25</sub> · Tailwind CSS <sub>24</sub> · Motion <sub>18</sub> · Prisma <sub>16</sub> · discord.js <sub>14</sub> · Serde <sub>10</sub> · Tokio <sub>7</sub> · reqwest <sub>7</sub> · Gorilla WebSocket <sub>6</sub> · SQLite <sub>6</sub> · xUnit <sub>6</sub> · Stripe <sub>5</sub> · Avalonia <sub>4</sub> · Axum <sub>4</sub> · JUnit <sub>4</sub> · PHPUnit <sub>4</sub> · Playwright <sub>4</sub> · SQLx <sub>4</sub> · Framer Motion <sub>3</sub> · Jetpack Compose <sub>3</sub> · Redis <sub>3</sub> · Vitest <sub>3</sub> · clap <sub>3</sub> · gRPC <sub>3</sub> · wasm-bindgen <sub>3</sub> · Android <sub>2</sub> · BullMQ <sub>2</sub> · Chart.js <sub>2</sub> · Coroutines <sub>2</sub> · Guzzle <sub>2</sub> · Jest <sub>2</sub> · Laravel <sub>2</sub> · Next.js <sub>2</sub> · Pterodactyl <sub>2</sub> · Zod <sub>2</sub> · aiohttp <sub>2</sub> · discord.py <sub>2</sub> · i18next <sub>2</sub> · webpack <sub>2</sub> · Cobra <sub>1</sub> · Discord.Net <sub>1</sub> · Docker SDK <sub>1</sub> · Ecto <sub>1</sub> · Electron <sub>1</sub> · Expo <sub>1</sub> · FastAPI <sub>1</sub> · GORM <sub>1</sub> · Gin <sub>1</sub> · HTTPX <sub>1</sub> · Json.NET <sub>1</sub> · Paper <sub>1</sub> · PostgreSQL <sub>1</sub> · Preact <sub>1</sub> · Ratatui <sub>1</sub> · React Native <sub>1</sub> · Spring Boot <sub>1</sub> · Tauri <sub>1</sub> · chi <sub>1</sub> · discordgo <sub>1</sub> · gopher-lua <sub>1</sub> · pytest <sub>1</sub> · tonic <sub>1</sub>
<!-- /stats:languages -->
<sub>Liczone przez moje API [ghapi.dualfroz.com](https://ghapi.dualfroz.com/v2/public) ze wszystkich repozytoriów, także prywatnych. Aktualizowane raz na 24 godziny.</sub>
## 🌍 Open source
<!-- stats:opensource -->
> Poniżej lista projektów, do których kontrybuowałem (tylko te z zaakceptowanymi zmianami). Projekty posortowane według liczby gwiazdek. Łącznie 610 000+ ⭐ w 74 repozytoriach. Kolumna „Commity” prowadzi do repozytorium z moimi commitami (autor, data, diff).
| Projekt | Gwiazdki | Język | Zmiany | Commity |
|---|---|---|---|---|
| [mozilla/firefox](https://www.mozilla.org/firefox/) | – | JavaScript | <code>+293</code> <code>-14</code> | [4](https://git.dualfroz.com/dualfroz/mozilla-firefox-firefox) |
| [proxmox/proxmox-widget-toolkit](https://www.proxmox.com/) | – | Perl | <code>+59</code> <code>-31</code> | [6](https://git.dualfroz.com/dualfroz/proxmox-git-proxmox-widget-toolkit) |
| [proxmox/pve-manager](https://www.proxmox.com/) | – | Perl | <code>+497</code> <code>-72</code> | [31](https://git.dualfroz.com/dualfroz/proxmox-git-pve-manager) |
| [proxmox/pve-storage](https://www.proxmox.com/) | – | Perl | <code>+1050</code> <code>-13</code> | [8](https://git.dualfroz.com/dualfroz/proxmox-git-pve-storage) |
| [proxmox/qemu-server](https://www.proxmox.com/) | – | Perl | <code>+438</code> <code>-34</code> | [12](https://git.dualfroz.com/dualfroz/proxmox-git-qemu-server) |
| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91,8 tys. | Rust | <code>+123</code> <code>-10</code> | [11](https://git.dualfroz.com/dualfroz/zed-industries-zed) |
| [telegramdesktop/tdesktop](https://github.com/telegramdesktop/tdesktop) | ⭐ 33,3 tys. | C++ | <code>+24</code> <code>-5</code> | [3](https://git.dualfroz.com/dualfroz/telegramdesktop-tdesktop) |
| [composer/composer](https://github.com/composer/composer) | ⭐ 29,5 tys. | PHP | <code>+142</code> <code>-4</code> | [3](https://git.dualfroz.com/dualfroz/composer-composer) |
| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26,7 tys. | C# | <code>+4624</code> <code>-13</code> | [16](https://git.dualfroz.com/dualfroz/icsharpcode-ILSpy) |
| [urfave/cli](https://github.com/urfave/cli) | ⭐ 24,3 tys. | Go | <code>+123</code> <code>-12</code> | [3](https://git.dualfroz.com/dualfroz/urfave-cli) |
| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22,3 tys. | PHP | <code>+135</code> <code>-4</code> | [6](https://git.dualfroz.com/dualfroz/PHPMailer-PHPMailer) |
| [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22,2 tys. | JavaScript | <code>+50</code> <code>-4</code> | [5](https://git.dualfroz.com/dualfroz/postcss-autoprefixer) |
| [gleam-lang/gleam](https://github.com/gleam-lang/gleam) | ⭐ 22 tys. | Rust | <code>+134</code> <code>-1</code> | [2](https://git.dualfroz.com/dualfroz/gleam-lang-gleam) |
| [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | ⭐ 21,9 tys. | Go | <code>+43</code> <code>-17</code> | [2](https://git.dualfroz.com/dualfroz/twpayne-chezmoi) |
| [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21,4 tys. | PHP | <code>+41</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/Seldaek-monolog) |
| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21,4 tys. | Rust | <code>+88</code> <code>-20</code> | [6](https://git.dualfroz.com/dualfroz/valeriansaliou-sonic) |
| [OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) | ⭐ 17,6 tys. | C# | <code>+56</code> <code>-5</code> | [2](https://git.dualfroz.com/dualfroz/OpenRA-OpenRA) |
| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16,6 tys. | PHP | <code>+87</code> <code>-0</code> | [3](https://git.dualfroz.com/dualfroz/briannesbitt-Carbon) |
| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15 tys. | Go | <code>+183</code> <code>-18</code> | [4](https://git.dualfroz.com/dualfroz/PuerkitoBio-goquery) |
| [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14,2 tys. | C# | <code>+19</code> <code>-1</code> | [1](https://git.dualfroz.com/dualfroz/App-vNext-Polly) |
| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13,6 tys. | Go | <code>+19</code> <code>-13</code> | [8](https://git.dualfroz.com/dualfroz/hajimehoshi-ebiten) |
| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13,2 tys. | PHP | <code>+115</code> <code>-3</code> | [4](https://git.dualfroz.com/dualfroz/filp-whoops) |
| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12,2 tys. | JavaScript | <code>+124</code> <code>-11</code> | [38](https://git.dualfroz.com/dualfroz/spencermountain-compromise) |
| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11,1 tys. | PHP | <code>+72</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/doctrine-lexer) |
| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9,9 tys. | PHP | <code>+127</code> <code>-7</code> | [7](https://git.dualfroz.com/dualfroz/kanboard-kanboard) |
| [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9,8 tys. | C# | <code>+14</code> <code>-1</code> | [2](https://git.dualfroz.com/dualfroz/FluentValidation-FluentValidation) |
| [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8,1 tys. | C# | <code>+12</code> <code>-0</code> | [2](https://git.dualfroz.com/dualfroz/serilog-serilog) |
| [concourse/concourse](https://github.com/concourse/concourse) | ⭐ 7,9 tys. | Go | <code>+154</code> <code>-24</code> | [1](https://git.dualfroz.com/dualfroz/concourse-concourse) |
| [predis/predis](https://github.com/predis/predis) | ⭐ 7,8 tys. | PHP | <code>+410</code> <code>-28</code> | [5](https://git.dualfroz.com/dualfroz/predis-predis) |
| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7,8 tys. | TypeScript | <code>+65</code> <code>-2</code> | [6](https://git.dualfroz.com/dualfroz/vscode-neovim-vscode-neovim) |
| [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6,5 tys. | C# | <code>+19</code> <code>-0</code> | [15](https://git.dualfroz.com/dualfroz/NLog-NLog) |
| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6,1 tys. | TypeScript | <code>+69</code> <code>-13</code> | [8](https://git.dualfroz.com/dualfroz/maildev-maildev) |
| [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5,5 tys. | Rust | <code>+48</code> <code>-2</code> | [10](https://git.dualfroz.com/dualfroz/Pagefind-pagefind) |
| [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5,3 tys. | C# | <code>+223</code> <code>-7</code> | [8](https://git.dualfroz.com/dualfroz/xoofx-markdig) |
| [dromara/carbon](https://github.com/dromara/carbon) | ⭐ 5,2 tys. | Go | <code>+41</code> <code>-4</code> | [1](https://git.dualfroz.com/dualfroz/dromara-carbon) |
| [alecthomas/chroma](https://github.com/alecthomas/chroma) | ⭐ 5,1 tys. | Go | <code>+90</code> <code>-3</code> | [1](https://git.dualfroz.com/dualfroz/alecthomas-chroma) |
| [olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) | ⭐ 4,8 tys. | Go | <code>+16</code> <code>-0</code> | [1](https://git.dualfroz.com/dualfroz/olekukonko-tablewriter) |
| [knadh/koanf](https://github.com/knadh/koanf) | ⭐ 4,2 tys. | Go | <code>+135</code> <code>-10</code> | [2](https://git.dualfroz.com/dualfroz/knadh-koanf) |
| [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4,1 tys. | JavaScript | <code>+15</code> <code>-40</code> | [7](https://git.dualfroz.com/dualfroz/spencermountain-spacetime) |
| [itchyny/gojq](https://github.com/itchyny/gojq) | ⭐ 3,8 tys. | Go | <code>+42</code> <code>-5</code> | [9](https://git.dualfroz.com/dualfroz/itchyny-gojq) |
| [Suor/funcy](https://github.com/Suor/funcy) | ⭐ 3,5 tys. | Python | <code>+18</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/Suor-funcy) |
| [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3,5 tys. | PHP | <code>+22</code> <code>-9</code> | [2](https://git.dualfroz.com/dualfroz/thephpleague-csv) |
| [composer/satis](https://github.com/composer/satis) | ⭐ 3,3 tys. | PHP | <code>+55</code> <code>-10</code> | [5](https://git.dualfroz.com/dualfroz/composer-satis) |
| [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3 tys. | Go | <code>+66</code> <code>-23</code> | [3](https://git.dualfroz.com/dualfroz/montanaflynn-stats) |
| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3 tys. | Go | <code>+124</code> <code>-14</code> | [24](https://git.dualfroz.com/dualfroz/versity-versitygw) |
| [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3 tys. | PHP | <code>+17</code> <code>-0</code> | [2](https://git.dualfroz.com/dualfroz/thephpleague-commonmark) |
| [mitsuhiko/insta](https://github.com/mitsuhiko/insta) | ⭐ 3 tys. | Rust | <code>+8</code> <code>-2</code> | [1](https://git.dualfroz.com/dualfroz/mitsuhiko-insta) |
| [BurntSushi/jiff](https://github.com/BurntSushi/jiff) | ⭐ 3 tys. | Rust | <code>+37</code> <code>-5</code> | [1](https://git.dualfroz.com/dualfroz/BurntSushi-jiff) |
| [zzzprojects/html-agility-pack](https://github.com/zzzprojects/html-agility-pack) | ⭐ 2,9 tys. | C# | <code>+158</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/zzzprojects-html-agility-pack) |
| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2,7 tys. | PHP | <code>+135</code> <code>-11</code> | [4](https://git.dualfroz.com/dualfroz/Paymenter-Paymenter) |
| [api-platform/core](https://github.com/api-platform/core) | ⭐ 2,6 tys. | PHP | <code>+52</code> <code>-27</code> | [2](https://git.dualfroz.com/dualfroz/api-platform-core) |
| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2,4 tys. | PHP | <code>+64</code> <code>-3</code> | [3](https://git.dualfroz.com/dualfroz/pelican-panel) |
| [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2,4 tys. | Go | <code>+12</code> <code>-0</code> | [4](https://git.dualfroz.com/dualfroz/gookit-goutil) |
| [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2,2 tys. | PHP | <code>+23</code> <code>-0</code> | [2](https://git.dualfroz.com/dualfroz/dedoc-scramble) |
| [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2,2 tys. | Go | <code>+89</code> <code>-2</code> | [5](https://git.dualfroz.com/dualfroz/gocarina-gocsv) |
| [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1,9 tys. | PHP | <code>+3</code> <code>-2</code> | [6](https://git.dualfroz.com/dualfroz/thephpleague-html-to-markdown) |
| [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1,6 tys. | Go | <code>+99</code> <code>-3</code> | [3](https://git.dualfroz.com/dualfroz/AfterShip-email-verifier) |
| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1,6 tys. | Python | <code>+66</code> <code>-5</code> | [2](https://git.dualfroz.com/dualfroz/fabiocaccamo-python-benedict) |
| [gookit/color](https://github.com/gookit/color) | ⭐ 1,6 tys. | Go | <code>+12</code> <code>-1</code> | [3](https://git.dualfroz.com/dualfroz/gookit-color) |
| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1,5 tys. | Go | <code>+45</code> <code>-1</code> | [4](https://git.dualfroz.com/dualfroz/olebedev-when) |
| [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1,4 tys. | Python | <code>+18</code> <code>-5</code> | [4](https://git.dualfroz.com/dualfroz/dgilland-pydash) |
| [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1,4 tys. | PHP | <code>+17</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/cakephp-chronos) |
| [go-playground/form](https://github.com/go-playground/form) | ⭐ 931 | Go | <code>+35</code> <code>-0</code> | [2](https://git.dualfroz.com/dualfroz/go-playground-form) |
| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | <code>+22</code> <code>-1</code> | [2](https://git.dualfroz.com/dualfroz/mkideal-cli) |
| [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | <code>+29</code> <code>-8</code> | [2](https://git.dualfroz.com/dualfroz/gookit-config) |
| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 502 | Rust | <code>+24</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/rust-syndication-rss) |
| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 385 | Assembly | <code>+146</code> <code>-12</code> | [5](https://git.dualfroz.com/dualfroz/kelindar-bitmap) |
| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | <code>+67</code> <code>-36</code> | [3](https://git.dualfroz.com/dualfroz/brick-date-time) |
| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | <code>+124</code> <code>-1</code> | [2](https://git.dualfroz.com/dualfroz/pydantic-pydantic-extra-types) |
| [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | <code>+32</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/rodaine-table) |
| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | <code>+5</code> <code>-1</code> | [3](https://git.dualfroz.com/dualfroz/wroberts-pytimeparse) |
| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 88 | Rust | <code>+22</code> <code>-1</code> | [3](https://git.dualfroz.com/dualfroz/QEDK-configparser-rs) |
| [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | <code>+18</code> <code>-2</code> | [4](https://git.dualfroz.com/dualfroz/thephpleague-uri-src) |
| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | <code>+255</code> <code>-6</code> | [5](https://git.dualfroz.com/dualfroz/spiral-testing) |
<!-- /stats:opensource -->
## 🛠️ Technologie
### Języki programowania
<table>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=ts" width="40" alt="TypeScript"><br><sub>TypeScript</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=rust" width="40" alt="Rust"><br><sub>Rust</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=js" width="40" alt="JavaScript"><br><sub>JavaScript</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=go" width="40" alt="Go"><br><sub>Go</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=php" width="40" alt="PHP"><br><sub>PHP</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=cs" width="40" alt="C#"><br><sub>C#</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=py" width="40" alt="Python"><br><sub>Python</sub></td>
</tr>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=kotlin" width="40" alt="Kotlin"><br><sub>Kotlin</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=elixir" width="40" alt="Elixir"><br><sub>Elixir</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=swift" width="40" alt="Swift"><br><sub>Swift</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=cpp" width="40" alt="C++"><br><sub>C++</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=java" width="40" alt="Java"><br><sub>Java</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=c" width="40" alt="C"><br><sub>C</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=dart" width="40" alt="Dart"><br><sub>Dart</sub></td>
</tr>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=solidity" width="40" alt="Solidity"><br><sub>Solidity</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=ruby" width="40" alt="Ruby"><br><sub>Ruby</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=lua" width="40" alt="Lua"><br><sub>Lua</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=zig" width="40" alt="Zig"><br><sub>Zig</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=haskell" width="40" alt="Haskell"><br><sub>Haskell</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=scala" width="40" alt="Scala"><br><sub>Scala</sub></td>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/fsharp.png" width="40" alt="F#"><br><sub>F#</sub></td>
</tr>
<tr>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/assembly.png" width="40" alt="Assembly"><br><sub>Assembly</sub></td>
</tr>
</table>
### Backend i DevOps
<table>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=nodejs" width="40" alt="Node.js"><br><sub>Node.js</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=dotnet" width="40" alt="ASP.NET Core"><br><sub>ASP.NET Core</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=laravel" width="40" alt="Laravel"><br><sub>Laravel</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=symfony" width="40" alt="Symfony"><br><sub>Symfony</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=django" width="40" alt="Django"><br><sub>Django</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=flask" width="40" alt="Flask"><br><sub>Flask</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=fastapi" width="40" alt="FastAPI"><br><sub>FastAPI</sub></td>
</tr>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=docker" width="40" alt="Docker"><br><sub>Docker</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=kubernetes" width="40" alt="Kubernetes"><br><sub>Kubernetes</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=nginx" width="40" alt="nginx"><br><sub>nginx</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=grafana" width="40" alt="Grafana"><br><sub>Grafana</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=linux" width="40" alt="Linux"><br><sub>Linux</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=git" width="40" alt="Git"><br><sub>Git</sub></td>
</tr>
</table>
### Bazy danych
<table>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=postgres" width="40" alt="PostgreSQL"><br><sub>PostgreSQL</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=mysql" width="40" alt="MySQL"><br><sub>MySQL</sub></td>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/mariadb.png" width="40" alt="MariaDB"><br><sub>MariaDB</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=sqlite" width="40" alt="SQLite"><br><sub>SQLite</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=redis" width="40" alt="Redis"><br><sub>Redis</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=mongodb" width="40" alt="MongoDB"><br><sub>MongoDB</sub></td>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/clickhouse.png" width="40" alt="ClickHouse"><br><sub>ClickHouse</sub></td>
</tr>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=cassandra" width="40" alt="Cassandra"><br><sub>Cassandra</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=prisma" width="40" alt="Prisma"><br><sub>Prisma</sub></td>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/json.png" width="40" alt="JSON"><br><sub>JSON</sub></td>
</tr>
</table>
### Frontend i aplikacje
<table>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=react" width="40" alt="React"><br><sub>React</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=nextjs" width="40" alt="Next.js"><br><sub>Next.js</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=vue" width="40" alt="Vue"><br><sub>Vue</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=angular" width="40" alt="Angular"><br><sub>Angular</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=astro" width="40" alt="Astro"><br><sub>Astro</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=vite" width="40" alt="Vite"><br><sub>Vite</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=tailwind" width="40" alt="Tailwind CSS"><br><sub>Tailwind CSS</sub></td>
</tr>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=bootstrap" width="40" alt="Bootstrap"><br><sub>Bootstrap</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=html" width="40" alt="HTML"><br><sub>HTML</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=css" width="40" alt="CSS"><br><sub>CSS</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=sass" width="40" alt="Sass"><br><sub>Sass</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=electron" width="40" alt="Electron"><br><sub>Electron</sub></td>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/tauri.png" width="40" alt="Tauri"><br><sub>Tauri</sub></td>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/avalonia.png" width="40" alt="Avalonia"><br><sub>Avalonia</sub></td>
</tr>
</table>
### Oprogramowanie
<table>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=vscode" width="40" alt="VS Code"><br><sub>VS Code</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=visualstudio" width="40" alt="Visual Studio"><br><sub>Visual Studio</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=idea" width="40" alt="JetBrains IDEs"><br><sub>JetBrains IDEs</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=androidstudio" width="40" alt="Android Studio"><br><sub>Android Studio</sub></td>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/xcode.png" width="40" alt="Xcode"><br><sub>Xcode</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=unity" width="40" alt="Unity"><br><sub>Unity</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=godot" width="40" alt="Godot"><br><sub>Godot</sub></td>
</tr>
<tr>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=unreal" width="40" alt="Unreal Engine"><br><sub>Unreal Engine</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=figma" width="40" alt="Figma"><br><sub>Figma</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=ps" width="40" alt="Photoshop"><br><sub>Photoshop</sub></td>
<td align="center" width="96"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/davinci.png" width="40" alt="DaVinci Resolve"><br><sub>DaVinci Resolve</sub></td>
<td align="center" width="96"><img src="https://skillicons.dev/icons?i=blender" width="40" alt="Blender"><br><sub>Blender</sub></td>
</tr>
</table>
<sub>Szczegóły z opisem, jak używam każdej technologii: [dualfroz.com/pl/stack](https://dualfroz.com/pl/stack)</sub>
## ♟️ Poza kodem
> Krótko: uwielbiam... myśleć. Lubię rozwiązywać nonogramy, sudoku o złożonych zasadach, a w szachy gram co najmniej godzinę dziennie. Regularnie przekraczam 2000+ elo na chess.com, lecz niestety moje konto notorycznie jest banowane przez chess.com (false-positive cheating). W najbliższym czasie będę walczył o tytuł FIDE (CM), co powinno oczyścić mnie z żałosnych zarzutów ze strony niekompetentnego personelu chesscom. Będę także aplikował do stowarzyszenia Mensa.
## 🤝 Współpraca
| Sprawa | Gdzie |
|---|---|
| Zlecenie komercyjne: strona, panel, aplikacja, platforma | [vulcode.com](https://vulcode.com) |
| Branding, design, grafika i wideo | [aphrodi.pl](https://aphrodi.pl) |
| Open source, rozmowa, rekrutacja, wszystko inne | [me@dualfroz.com](mailto:me@dualfroz.com) (lub sociale!)|