# Michał „DualFroz” Fox
**Programista, deweloper gier i ekosystemów IT z Krakowa**
Założyciel @ [VulCode](https://vulcode.com)
CEO & CTO, współzałożyciel @ [Aphrodi](https://aphrodi.pl)
Współzałożyciel & Deweloper @ Lunatic Studios
Główny Deweloper @ Flaem, Plazer, Gyred
dualfroz.com |
X |
Discord |
| 🌱 Początki 2020 |
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ś. |
| 🎮 Serwery i społeczność SCP: Secret Laboratory |
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. |
| 🛠️ Support i marketing MatHost |
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. |
| 💼 Projekty dla klientów od 2024 |
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ń. |
| 🏢 Własny software house VulCode |
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 6 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." |
| 🎨 Branding i marketing Aphrodi |
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. |
| 🌍 Open source dziś |
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ść. |
| 🚀 Własne platformy dziś |
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. |
VulCode założycielVulCode to polski software house z wieloletnim doświadczeniem. Od 2020 roku dostarcza oprogramowanie wysokiej jakości i napisał już ponad 6 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. |
|
Aphrodi CEO i CTO, współzałożycielAgencja kreatywna: branding, identyfikacja wizualna, projektowanie stron, grafika 3D i wideo. |
|
Lunatic Studios współzałożycielNiezależne studio gier: szachy online z własnymi zasadami i zestaw mini gier. |
|
Querora założycielSEO i widoczność w odpowiedziach AI w abonamencie dla małych i średnich firm. |
|
Reelelle założycielSocial media w abonamencie: rolki, grafiki i karuzele co miesiąc. |
|
Kouryer założycielOutreach w abonamencie: zimne maile i umawianie spotkań. |
| Flaem 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. |
|
| Plazer 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ć. |
|
| Gyred 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. |
6 495 301linii kodu |
24 507commitów |
200+projektów |
|
610 000+gwiazdek projektów OSS |
74projektów open source |
26języków |
1 665dni pracy |
| Język | Linie kodu | Projekty | Udział | |
|---|---|---|---|---|
| TypeScript | 2 730 373 | 51 | 50,4% ██████████ | |
| Rust | 995 825 | 11 | 18,4% ████ | |
| Go | 285 889 | 13 | 5,3% █ | |
| Kotlin | 206 250 | 7 | 3,8% █ | |
| C# | 162 872 | 8 | 3,0% █ | |
| JavaScript | 143 081 | 38 | 2,6% █ | |
| PHP | 130 914 | 6 | 2,4% █ | |
| Swift | 116 812 | 4 | 2,2% █ | |
| Elixir | 91 810 | 2 | 1,7% █ | |
| Python | 85 560 | 35 | 1,6% █ | |
| HTML | 80 563 | 45 | 1,5% █ | |
| CSS | 65 916 | 39 | 1,2% █ | |
| inne (14) | 324 004 | 6,0% █ |
+293 -14 | [4](https://git.vulcode.com/dualfroz/mozilla-firefox-firefox) |
| [proxmox/proxmox-widget-toolkit](https://www.proxmox.com/) | – | Perl | +59 -31 | [6](https://git.vulcode.com/dualfroz/proxmox-git-proxmox-widget-toolkit) |
| [proxmox/pve-manager](https://www.proxmox.com/) | – | Perl | +497 -72 | [31](https://git.vulcode.com/dualfroz/proxmox-git-pve-manager) |
| [proxmox/pve-storage](https://www.proxmox.com/) | – | Perl | +1050 -13 | [8](https://git.vulcode.com/dualfroz/proxmox-git-pve-storage) |
| [proxmox/qemu-server](https://www.proxmox.com/) | – | Perl | +438 -34 | [12](https://git.vulcode.com/dualfroz/proxmox-git-qemu-server) |
| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91,8 tys. | Rust | +123 -10 | [11](https://git.vulcode.com/dualfroz/zed-industries-zed) |
| [telegramdesktop/tdesktop](https://github.com/telegramdesktop/tdesktop) | ⭐ 33,3 tys. | C++ | +24 -5 | [3](https://git.vulcode.com/dualfroz/telegramdesktop-tdesktop) |
| [composer/composer](https://github.com/composer/composer) | ⭐ 29,5 tys. | PHP | +142 -4 | [3](https://git.vulcode.com/dualfroz/composer-composer) |
| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26,7 tys. | C# | +4624 -13 | [16](https://git.vulcode.com/dualfroz/icsharpcode-ILSpy) |
| [urfave/cli](https://github.com/urfave/cli) | ⭐ 24,3 tys. | Go | +123 -12 | [3](https://git.vulcode.com/dualfroz/urfave-cli) |
| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22,3 tys. | PHP | +135 -4 | [6](https://git.vulcode.com/dualfroz/PHPMailer-PHPMailer) |
| [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22,2 tys. | JavaScript | +50 -4 | [5](https://git.vulcode.com/dualfroz/postcss-autoprefixer) |
| [gleam-lang/gleam](https://github.com/gleam-lang/gleam) | ⭐ 22 tys. | Rust | +134 -1 | [2](https://git.vulcode.com/dualfroz/gleam-lang-gleam) |
| [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | ⭐ 21,9 tys. | Go | +43 -17 | [2](https://git.vulcode.com/dualfroz/twpayne-chezmoi) |
| [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21,4 tys. | PHP | +41 -2 | [2](https://git.vulcode.com/dualfroz/Seldaek-monolog) |
| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21,4 tys. | Rust | +88 -20 | [6](https://git.vulcode.com/dualfroz/valeriansaliou-sonic) |
| [OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) | ⭐ 17,6 tys. | C# | +56 -5 | [2](https://git.vulcode.com/dualfroz/OpenRA-OpenRA) |
| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16,6 tys. | PHP | +87 -0 | [3](https://git.vulcode.com/dualfroz/briannesbitt-Carbon) |
| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15 tys. | Go | +183 -18 | [4](https://git.vulcode.com/dualfroz/PuerkitoBio-goquery) |
| [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14,2 tys. | C# | +19 -1 | [1](https://git.vulcode.com/dualfroz/App-vNext-Polly) |
| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13,6 tys. | Go | +19 -13 | [8](https://git.vulcode.com/dualfroz/hajimehoshi-ebiten) |
| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13,2 tys. | PHP | +115 -3 | [4](https://git.vulcode.com/dualfroz/filp-whoops) |
| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12,2 tys. | JavaScript | +124 -11 | [38](https://git.vulcode.com/dualfroz/spencermountain-compromise) |
| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11,1 tys. | PHP | +72 -2 | [2](https://git.vulcode.com/dualfroz/doctrine-lexer) |
| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9,9 tys. | PHP | +127 -7 | [7](https://git.vulcode.com/dualfroz/kanboard-kanboard) |
| [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9,8 tys. | C# | +14 -1 | [2](https://git.vulcode.com/dualfroz/FluentValidation-FluentValidation) |
| [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8,1 tys. | C# | +12 -0 | [2](https://git.vulcode.com/dualfroz/serilog-serilog) |
| [concourse/concourse](https://github.com/concourse/concourse) | ⭐ 7,9 tys. | Go | +154 -24 | [1](https://git.vulcode.com/dualfroz/concourse-concourse) |
| [predis/predis](https://github.com/predis/predis) | ⭐ 7,8 tys. | PHP | +410 -28 | [5](https://git.vulcode.com/dualfroz/predis-predis) |
| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7,8 tys. | TypeScript | +65 -2 | [6](https://git.vulcode.com/dualfroz/vscode-neovim-vscode-neovim) |
| [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6,5 tys. | C# | +19 -0 | [15](https://git.vulcode.com/dualfroz/NLog-NLog) |
| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6,1 tys. | TypeScript | +69 -13 | [8](https://git.vulcode.com/dualfroz/maildev-maildev) |
| [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5,5 tys. | Rust | +48 -2 | [10](https://git.vulcode.com/dualfroz/Pagefind-pagefind) |
| [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5,3 tys. | C# | +223 -7 | [8](https://git.vulcode.com/dualfroz/xoofx-markdig) |
| [dromara/carbon](https://github.com/dromara/carbon) | ⭐ 5,2 tys. | Go | +41 -4 | [1](https://git.vulcode.com/dualfroz/dromara-carbon) |
| [alecthomas/chroma](https://github.com/alecthomas/chroma) | ⭐ 5,1 tys. | Go | +90 -3 | [1](https://git.vulcode.com/dualfroz/alecthomas-chroma) |
| [olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) | ⭐ 4,8 tys. | Go | +16 -0 | [1](https://git.vulcode.com/dualfroz/olekukonko-tablewriter) |
| [knadh/koanf](https://github.com/knadh/koanf) | ⭐ 4,2 tys. | Go | +135 -10 | [2](https://git.vulcode.com/dualfroz/knadh-koanf) |
| [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4,1 tys. | JavaScript | +15 -40 | [7](https://git.vulcode.com/dualfroz/spencermountain-spacetime) |
| [itchyny/gojq](https://github.com/itchyny/gojq) | ⭐ 3,8 tys. | Go | +42 -5 | [9](https://git.vulcode.com/dualfroz/itchyny-gojq) |
| [Suor/funcy](https://github.com/Suor/funcy) | ⭐ 3,5 tys. | Python | +18 -2 | [2](https://git.vulcode.com/dualfroz/Suor-funcy) |
| [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3,5 tys. | PHP | +22 -9 | [2](https://git.vulcode.com/dualfroz/thephpleague-csv) |
| [composer/satis](https://github.com/composer/satis) | ⭐ 3,3 tys. | PHP | +55 -10 | [5](https://git.vulcode.com/dualfroz/composer-satis) |
| [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3 tys. | Go | +66 -23 | [3](https://git.vulcode.com/dualfroz/montanaflynn-stats) |
| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3 tys. | Go | +124 -14 | [24](https://git.vulcode.com/dualfroz/versity-versitygw) |
| [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3 tys. | PHP | +17 -0 | [2](https://git.vulcode.com/dualfroz/thephpleague-commonmark) |
| [mitsuhiko/insta](https://github.com/mitsuhiko/insta) | ⭐ 3 tys. | Rust | +8 -2 | [1](https://git.vulcode.com/dualfroz/mitsuhiko-insta) |
| [BurntSushi/jiff](https://github.com/BurntSushi/jiff) | ⭐ 3 tys. | Rust | +37 -5 | [1](https://git.vulcode.com/dualfroz/BurntSushi-jiff) |
| [zzzprojects/html-agility-pack](https://github.com/zzzprojects/html-agility-pack) | ⭐ 2,9 tys. | C# | +158 -2 | [2](https://git.vulcode.com/dualfroz/zzzprojects-html-agility-pack) |
| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2,7 tys. | PHP | +135 -11 | [4](https://git.vulcode.com/dualfroz/Paymenter-Paymenter) |
| [api-platform/core](https://github.com/api-platform/core) | ⭐ 2,6 tys. | PHP | +52 -27 | [2](https://git.vulcode.com/dualfroz/api-platform-core) |
| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2,4 tys. | PHP | +64 -3 | [3](https://git.vulcode.com/dualfroz/pelican-panel) |
| [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2,4 tys. | Go | +12 -0 | [4](https://git.vulcode.com/dualfroz/gookit-goutil) |
| [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2,2 tys. | PHP | +23 -0 | [2](https://git.vulcode.com/dualfroz/dedoc-scramble) |
| [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2,2 tys. | Go | +89 -2 | [5](https://git.vulcode.com/dualfroz/gocarina-gocsv) |
| [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1,9 tys. | PHP | +3 -2 | [6](https://git.vulcode.com/dualfroz/thephpleague-html-to-markdown) |
| [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1,6 tys. | Go | +99 -3 | [3](https://git.vulcode.com/dualfroz/AfterShip-email-verifier) |
| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1,6 tys. | Python | +66 -5 | [2](https://git.vulcode.com/dualfroz/fabiocaccamo-python-benedict) |
| [gookit/color](https://github.com/gookit/color) | ⭐ 1,6 tys. | Go | +12 -1 | [3](https://git.vulcode.com/dualfroz/gookit-color) |
| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1,5 tys. | Go | +45 -1 | [4](https://git.vulcode.com/dualfroz/olebedev-when) |
| [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1,4 tys. | Python | +18 -5 | [4](https://git.vulcode.com/dualfroz/dgilland-pydash) |
| [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1,4 tys. | PHP | +17 -2 | [2](https://git.vulcode.com/dualfroz/cakephp-chronos) |
| [go-playground/form](https://github.com/go-playground/form) | ⭐ 931 | Go | +35 -0 | [2](https://git.vulcode.com/dualfroz/go-playground-form) |
| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22 -1 | [2](https://git.vulcode.com/dualfroz/mkideal-cli) |
| [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29 -8 | [2](https://git.vulcode.com/dualfroz/gookit-config) |
| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 502 | Rust | +24 -2 | [2](https://git.vulcode.com/dualfroz/rust-syndication-rss) |
| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 385 | Assembly | +146 -12 | [5](https://git.vulcode.com/dualfroz/kelindar-bitmap) |
| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67 -36 | [3](https://git.vulcode.com/dualfroz/brick-date-time) |
| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124 -1 | [2](https://git.vulcode.com/dualfroz/pydantic-pydantic-extra-types) |
| [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32 -2 | [2](https://git.vulcode.com/dualfroz/rodaine-table) |
| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5 -1 | [3](https://git.vulcode.com/dualfroz/wroberts-pytimeparse) |
| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 88 | Rust | +22 -1 | [3](https://git.vulcode.com/dualfroz/QEDK-configparser-rs) |
| [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18 -2 | [4](https://git.vulcode.com/dualfroz/thephpleague-uri-src) |
| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255 -6 | [5](https://git.vulcode.com/dualfroz/spiral-testing) |
## 🛠️ Technologie
### Języki programowania
TypeScript |
Rust |
JavaScript |
Go |
PHP |
C# |
Python |
Kotlin |
Elixir |
Swift |
C++ |
Java |
C |
Dart |
Solidity |
Ruby |
Lua |
Zig |
Haskell |
Scala |
F# |
Assembly |
Node.js |
ASP.NET Core |
Laravel |
Symfony |
Django |
Flask |
FastAPI |
Docker |
Kubernetes |
nginx |
Grafana |
Linux |
Git |
PostgreSQL |
MySQL |
MariaDB |
SQLite |
Redis |
MongoDB |
ClickHouse |
Cassandra |
Prisma |
JSON |
React |
Next.js |
Vue |
Angular |
Astro |
Vite |
Tailwind CSS |
Bootstrap |
HTML |
CSS |
Sass |
Electron |
Tauri |
Avalonia |
VS Code |
Visual Studio |
JetBrains IDEs |
Android Studio |
Xcode |
Unity |
Godot |
Unreal Engine |
Figma |
Photoshop |
DaVinci Resolve |
Blender |