diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..ded4851 --- /dev/null +++ b/README.en.md @@ -0,0 +1,461 @@ +
+
+# Michał "DualFroz" Fox
+
+**Software developer building games and IT ecosystems, based in Kraków**
+
+Founder @ [VulCode](https://vulcode.com)
+
+Co-founder @ [Aphrodi](https://aphrodi.pl)
+
+Co-founder & Developer @ Lunatic Studios
+
+Lead Developer @ Flaem, Plazer, Gyred
+
+dualfroz.com |
+ X |
+ Discord |
+
| 🌱 Beginnings 2020 |
+ My first lines of code. Simple static websites, each one teaching me something more interesting than the last. Nothing advanced yet, but everyone starts somewhere. | +
| 🎮 Servers and community SCP: Secret Laboratory |
+ I ran SCP:SL servers and wrote add-ons for them in C#. That work grew into Nebula: a set of plugins with a moderation tool and server statistics aggregation. | +
| 🛠️ Support and marketing MatHost |
+ Technical support across hundreds of tickets: game servers, Discord bots, Pterodactyl. This is where I really grew, and it shows. Between 2023 and 2025 I gained a huge amount of knowledge precisely by helping MatHost's customers. | +
| 💼 Client projects since 2024 |
+ Serious freelance work: projects from start to finish, with a focus on system design, architecture and how everything works from the ground up. This is where I learned many of the things I use every day now. | +
| 🏢 My own software house VulCode |
+ I founded VulCode. Quoting the website: "VulCode is a Polish software house with years of experience. Since 2020 it has been delivering high-quality software and has written over 3 million lines of code. It specializes in websites, panels, dashboards and applications, as well as building scalable platforms. It actively contributes to dozens of open source projects." | +
| 🎨 Branding and marketing Aphrodi |
+ I co-run Aphrodi, a branding, digital and marketing studio that complements what VulCode builds in code. I regularly work on marketing and graphic design there, which rounds out my stack a little more every day. | +
| 🌍 Open source today |
+ I contribute to open source projects used by millions of people, from developer tools to libraries. As I said above, I simply like helping others. It gives me a lot of joy. | +
| 🚀 My own platforms today |
+ I build my own products: Flaem, Plazer, Gyred and the SaaS products Atrium and Lokal. There will be more over time, but for now I'm focused on polishing the existing projects rather than starting new ones. | +
VulCode founderVulCode is a Polish software house with years of experience. Since 2020 it has been delivering high-quality software and has written over 3 million lines of code. It specializes in websites, panels, dashboards and applications, as well as building scalable platforms. It actively contributes to dozens of open source projects. |
+ |
Aphrodi co-founderA creative agency: branding, visual identity, web design, 3D graphics and video. |
+ |
Lunatic Studios co-founderAn independent game studio: online chess with custom rules and a collection of mini games. |
+
| Flaem A hosting and infrastructure platform: game servers and containers, VPS and LXC, network services (tunnels, transit, IP blocks, integrations with routers and anti-DDoS protection) and IPMI. Seven independent modules in Rust, Elixir and Go, a React panel, and apps for desktop, iOS and Android. |
+ |
| Plazer An end-to-end encrypted messenger: private, lightweight, highly customizable and self-hostable by anyone. Built around privacy, a small footprint and customization. Something I want to use myself. |
+ |
| Gyred A panel for complex, long-running autonomous AI agent sessions, with an assistant that keeps long-term context in indexed text files. A useful tool for developers when used well. |
+
5,994,022lines of code |
+ 23,830commits |
+ 200+projects |
+ |
410,000+OSS project stars |
+ 53open source projects |
+ 26languages |
+ 1,655working days |
+
+
+
| Language | Lines of code | Commits | Share | |
|---|---|---|---|---|
| TypeScript | 2,274,503 | 6,203 | 46.0% ██████████ | |
| Rust | 988,753 | 2,516 | 20.0% ████ | |
| Go | 281,782 | 907 | 5.7% █ | |
| Kotlin | 206,250 | 796 | 4.2% █ | |
| C# | 162,872 | 752 | 3.3% █ | |
| JavaScript | 140,024 | 500 | 2.8% █ | |
| PHP | 130,914 | 149 | 2.6% █ | |
| Swift | 116,812 | 437 | 2.4% █ | |
| Elixir | 91,810 | 438 | 1.9% █ | |
| Python | 84,375 | 317 | 1.7% █ | |
| HTML | 80,555 | 145 | 1.6% █ | |
| CSS | 61,717 | 502 | 1.2% █ | |
| C++ | 57,275 | 358 | 1.2% █ | |
| C | 49,346 | 355 | 1.0% █ | |
| Zig | 44,583 | 284 | 0.9% █ | |
| SQL | 38,114 | 590 | 0.8% █ | |
| Ruby | 37,655 | 263 | 0.8% █ | |
| Lua | 32,053 | 206 | 0.6% █ | |
| Shell | 29,411 | 263 | 0.6% █ | |
| Java | 13,788 | 75 | 0.3% █ | |
| Dart | 6,013 | 40 | 0.1% █ | |
| Solidity | 4,688 | 33 | 0.1% █ | |
| Haskell | 3,609 | 28 | 0.1% █ | |
| Scala | 3,133 | 29 | 0.1% █ | |
| F# | 3,017 | 18 | 0.1% █ | |
| Assembly | 397 | 6 | 0.0% █ |
+293 -14 | [4](https://git.dualfroz.com/dualfroz/mozilla-firefox-firefox) |
+| [proxmox/proxmox-widget-toolkit](https://www.proxmox.com/) | – | Perl | +59 -31 | [6](https://git.dualfroz.com/dualfroz/proxmox-git-proxmox-widget-toolkit) |
+| [proxmox/pve-manager](https://www.proxmox.com/) | – | Perl | +497 -72 | [31](https://git.dualfroz.com/dualfroz/proxmox-git-pve-manager) |
+| [proxmox/pve-storage](https://www.proxmox.com/) | – | Perl | +1050 -13 | [8](https://git.dualfroz.com/dualfroz/proxmox-git-pve-storage) |
+| [proxmox/qemu-server](https://www.proxmox.com/) | – | Perl | +438 -34 | [12](https://git.dualfroz.com/dualfroz/proxmox-git-qemu-server) |
+| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91.8k | Rust | +123 -10 | [11](https://git.dualfroz.com/dualfroz/zed-industries-zed) |
+| [telegramdesktop/tdesktop](https://github.com/telegramdesktop/tdesktop) | ⭐ 33.3k | C++ | +24 -5 | [3](https://git.dualfroz.com/dualfroz/telegramdesktop-tdesktop) |
+| [composer/composer](https://github.com/composer/composer) | ⭐ 29.5k | PHP | +142 -4 | [3](https://git.dualfroz.com/dualfroz/composer-composer) |
+| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26.7k | C# | +4624 -13 | [16](https://git.dualfroz.com/dualfroz/icsharpcode-ILSpy) |
+| [urfave/cli](https://github.com/urfave/cli) | ⭐ 24.3k | Go | +123 -12 | [3](https://git.dualfroz.com/dualfroz/urfave-cli) |
+| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22.3k | PHP | +135 -4 | [6](https://git.dualfroz.com/dualfroz/PHPMailer-PHPMailer) |
+| [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22.2k | JavaScript | +50 -4 | [5](https://git.dualfroz.com/dualfroz/postcss-autoprefixer) |
+| [gleam-lang/gleam](https://github.com/gleam-lang/gleam) | ⭐ 22k | Rust | +134 -1 | [2](https://git.dualfroz.com/dualfroz/gleam-lang-gleam) |
+| [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | ⭐ 21.9k | Go | +43 -17 | [2](https://git.dualfroz.com/dualfroz/twpayne-chezmoi) |
+| [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21.4k | PHP | +41 -2 | [2](https://git.dualfroz.com/dualfroz/Seldaek-monolog) |
+| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21.4k | Rust | +88 -20 | [6](https://git.dualfroz.com/dualfroz/valeriansaliou-sonic) |
+| [OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) | ⭐ 17.6k | C# | +56 -5 | [2](https://git.dualfroz.com/dualfroz/OpenRA-OpenRA) |
+| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16.6k | PHP | +87 -0 | [3](https://git.dualfroz.com/dualfroz/briannesbitt-Carbon) |
+| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15k | Go | +183 -18 | [4](https://git.dualfroz.com/dualfroz/PuerkitoBio-goquery) |
+| [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14.2k | C# | +19 -1 | [1](https://git.dualfroz.com/dualfroz/App-vNext-Polly) |
+| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13.6k | Go | +19 -13 | [8](https://git.dualfroz.com/dualfroz/hajimehoshi-ebiten) |
+| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13.2k | PHP | +115 -3 | [4](https://git.dualfroz.com/dualfroz/filp-whoops) |
+| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12.2k | JavaScript | +124 -11 | [38](https://git.dualfroz.com/dualfroz/spencermountain-compromise) |
+| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11.1k | PHP | +72 -2 | [2](https://git.dualfroz.com/dualfroz/doctrine-lexer) |
+| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9.9k | PHP | +127 -7 | [7](https://git.dualfroz.com/dualfroz/kanboard-kanboard) |
+| [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9.8k | C# | +14 -1 | [2](https://git.dualfroz.com/dualfroz/FluentValidation-FluentValidation) |
+| [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8.1k | C# | +12 -0 | [2](https://git.dualfroz.com/dualfroz/serilog-serilog) |
+| [concourse/concourse](https://github.com/concourse/concourse) | ⭐ 7.9k | Go | +154 -24 | [1](https://git.dualfroz.com/dualfroz/concourse-concourse) |
+| [predis/predis](https://github.com/predis/predis) | ⭐ 7.8k | PHP | +410 -28 | [5](https://git.dualfroz.com/dualfroz/predis-predis) |
+| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7.8k | TypeScript | +65 -2 | [6](https://git.dualfroz.com/dualfroz/vscode-neovim-vscode-neovim) |
+| [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6.5k | C# | +19 -0 | [15](https://git.dualfroz.com/dualfroz/NLog-NLog) |
+| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6.1k | TypeScript | +69 -13 | [8](https://git.dualfroz.com/dualfroz/maildev-maildev) |
+| [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5.5k | Rust | +48 -2 | [10](https://git.dualfroz.com/dualfroz/Pagefind-pagefind) |
+| [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5.3k | C# | +223 -7 | [8](https://git.dualfroz.com/dualfroz/xoofx-markdig) |
+| [dromara/carbon](https://github.com/dromara/carbon) | ⭐ 5.2k | Go | +41 -4 | [1](https://git.dualfroz.com/dualfroz/dromara-carbon) |
+| [alecthomas/chroma](https://github.com/alecthomas/chroma) | ⭐ 5.1k | Go | +90 -3 | [1](https://git.dualfroz.com/dualfroz/alecthomas-chroma) |
+| [olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) | ⭐ 4.8k | Go | +16 -0 | [1](https://git.dualfroz.com/dualfroz/olekukonko-tablewriter) |
+| [knadh/koanf](https://github.com/knadh/koanf) | ⭐ 4.2k | Go | +135 -10 | [2](https://git.dualfroz.com/dualfroz/knadh-koanf) |
+| [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4.1k | JavaScript | +15 -40 | [7](https://git.dualfroz.com/dualfroz/spencermountain-spacetime) |
+| [itchyny/gojq](https://github.com/itchyny/gojq) | ⭐ 3.8k | Go | +42 -5 | [9](https://git.dualfroz.com/dualfroz/itchyny-gojq) |
+| [Suor/funcy](https://github.com/Suor/funcy) | ⭐ 3.5k | Python | +18 -2 | [2](https://git.dualfroz.com/dualfroz/Suor-funcy) |
+| [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3.5k | PHP | +22 -9 | [2](https://git.dualfroz.com/dualfroz/thephpleague-csv) |
+| [composer/satis](https://github.com/composer/satis) | ⭐ 3.3k | PHP | +55 -10 | [5](https://git.dualfroz.com/dualfroz/composer-satis) |
+| [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3k | Go | +66 -23 | [3](https://git.dualfroz.com/dualfroz/montanaflynn-stats) |
+| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3k | Go | +124 -14 | [24](https://git.dualfroz.com/dualfroz/versity-versitygw) |
+| [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3k | PHP | +17 -0 | [2](https://git.dualfroz.com/dualfroz/thephpleague-commonmark) |
+| [mitsuhiko/insta](https://github.com/mitsuhiko/insta) | ⭐ 3k | Rust | +8 -2 | [1](https://git.dualfroz.com/dualfroz/mitsuhiko-insta) |
+| [BurntSushi/jiff](https://github.com/BurntSushi/jiff) | ⭐ 3k | Rust | +37 -5 | [1](https://git.dualfroz.com/dualfroz/BurntSushi-jiff) |
+| [zzzprojects/html-agility-pack](https://github.com/zzzprojects/html-agility-pack) | ⭐ 2.9k | C# | +158 -2 | [2](https://git.dualfroz.com/dualfroz/zzzprojects-html-agility-pack) |
+| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2.7k | PHP | +135 -11 | [4](https://git.dualfroz.com/dualfroz/Paymenter-Paymenter) |
+| [api-platform/core](https://github.com/api-platform/core) | ⭐ 2.6k | PHP | +52 -27 | [2](https://git.dualfroz.com/dualfroz/api-platform-core) |
+| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2.4k | PHP | +64 -3 | [3](https://git.dualfroz.com/dualfroz/pelican-panel) |
+| [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2.4k | Go | +12 -0 | [4](https://git.dualfroz.com/dualfroz/gookit-goutil) |
+| [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2.2k | PHP | +23 -0 | [2](https://git.dualfroz.com/dualfroz/dedoc-scramble) |
+| [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2.2k | Go | +89 -2 | [5](https://git.dualfroz.com/dualfroz/gocarina-gocsv) |
+| [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1.9k | PHP | +3 -2 | [6](https://git.dualfroz.com/dualfroz/thephpleague-html-to-markdown) |
+| [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1.6k | Go | +99 -3 | [3](https://git.dualfroz.com/dualfroz/AfterShip-email-verifier) |
+| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1.6k | Python | +66 -5 | [2](https://git.dualfroz.com/dualfroz/fabiocaccamo-python-benedict) |
+| [gookit/color](https://github.com/gookit/color) | ⭐ 1.6k | Go | +12 -1 | [3](https://git.dualfroz.com/dualfroz/gookit-color) |
+| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1.5k | Go | +45 -1 | [4](https://git.dualfroz.com/dualfroz/olebedev-when) |
+| [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1.4k | Python | +18 -5 | [4](https://git.dualfroz.com/dualfroz/dgilland-pydash) |
+| [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1.4k | PHP | +17 -2 | [2](https://git.dualfroz.com/dualfroz/cakephp-chronos) |
+| [go-playground/form](https://github.com/go-playground/form) | ⭐ 931 | Go | +35 -0 | [2](https://git.dualfroz.com/dualfroz/go-playground-form) |
+| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22 -1 | [2](https://git.dualfroz.com/dualfroz/mkideal-cli) |
+| [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29 -8 | [2](https://git.dualfroz.com/dualfroz/gookit-config) |
+| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 502 | Rust | +24 -2 | [2](https://git.dualfroz.com/dualfroz/rust-syndication-rss) |
+| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 385 | Assembly | +146 -12 | [5](https://git.dualfroz.com/dualfroz/kelindar-bitmap) |
+| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67 -36 | [3](https://git.dualfroz.com/dualfroz/brick-date-time) |
+| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124 -1 | [2](https://git.dualfroz.com/dualfroz/pydantic-pydantic-extra-types) |
+| [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32 -2 | [2](https://git.dualfroz.com/dualfroz/rodaine-table) |
+| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5 -1 | [3](https://git.dualfroz.com/dualfroz/wroberts-pytimeparse) |
+| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 88 | Rust | +22 -1 | [3](https://git.dualfroz.com/dualfroz/QEDK-configparser-rs) |
+| [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18 -2 | [4](https://git.dualfroz.com/dualfroz/thephpleague-uri-src) |
+| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255 -6 | [5](https://git.dualfroz.com/dualfroz/spiral-testing) |
+
+
+
+## 🛠️ Technologies
+
+### Programming languages
+
+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 |
+
-[dualfroz.com](https://dualfroz.com) · [vulcode.com](https://vulcode.com) · me@dualfroz.com
+# Michał „DualFroz” Fox
-## Open source contributions
+**Programista, deweloper gier i ekosystemów IT z Krakowa**
-**147 merged pull requests** in **74 projects** with **610 420 GitHub stars** combined.
+Założyciel @ [VulCode](https://vulcode.com)
-Every project links to a repository here with my commits to it (original author, date and diff). Pull request links point to the upstream project.
+Współzałożyciel @ [Aphrodi](https://aphrodi.pl)
-| Project | Merged |
+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 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." | +
| 🎨 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 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. |
+ |
Aphrodi 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. |
+
| 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. |
+
5 994 022linii kodu |
+ 23 830commitów |
+ 200+projektów |
+ |
410 000+gwiazdek projektów OSS |
+ 53projektów open source |
+ 26języków |
+ 1 655dni pracy |
+
+
+
| Język | Linie kodu | Commity | Udział | |
|---|---|---|---|---|
| TypeScript | 2 274 503 | 6 203 | 46,0% ██████████ | |
| Rust | 988 753 | 2 516 | 20,0% ████ | |
| Go | 281 782 | 907 | 5,7% █ | |
| Kotlin | 206 250 | 796 | 4,2% █ | |
| C# | 162 872 | 752 | 3,3% █ | |
| JavaScript | 140 024 | 500 | 2,8% █ | |
| PHP | 130 914 | 149 | 2,6% █ | |
| Swift | 116 812 | 437 | 2,4% █ | |
| Elixir | 91 810 | 438 | 1,9% █ | |
| Python | 84 375 | 317 | 1,7% █ | |
| HTML | 80 555 | 145 | 1,6% █ | |
| CSS | 61 717 | 502 | 1,2% █ | |
| C++ | 57 275 | 358 | 1,2% █ | |
| C | 49 346 | 355 | 1,0% █ | |
| Zig | 44 583 | 284 | 0,9% █ | |
| SQL | 38 114 | 590 | 0,8% █ | |
| Ruby | 37 655 | 263 | 0,8% █ | |
| Lua | 32 053 | 206 | 0,6% █ | |
| Shell | 29 411 | 263 | 0,6% █ | |
| Java | 13 788 | 75 | 0,3% █ | |
| Dart | 6 013 | 40 | 0,1% █ | |
| Solidity | 4 688 | 33 | 0,1% █ | |
| Haskell | 3 609 | 28 | 0,1% █ | |
| Scala | 3 133 | 29 | 0,1% █ | |
| F# | 3 017 | 18 | 0,1% █ | |
| Assembly | 397 | 6 | 0,0% █ |
+293 -14 | [4](https://git.dualfroz.com/dualfroz/mozilla-firefox-firefox) |
+| [proxmox/proxmox-widget-toolkit](https://www.proxmox.com/) | – | Perl | +59 -31 | [6](https://git.dualfroz.com/dualfroz/proxmox-git-proxmox-widget-toolkit) |
+| [proxmox/pve-manager](https://www.proxmox.com/) | – | Perl | +497 -72 | [31](https://git.dualfroz.com/dualfroz/proxmox-git-pve-manager) |
+| [proxmox/pve-storage](https://www.proxmox.com/) | – | Perl | +1050 -13 | [8](https://git.dualfroz.com/dualfroz/proxmox-git-pve-storage) |
+| [proxmox/qemu-server](https://www.proxmox.com/) | – | Perl | +438 -34 | [12](https://git.dualfroz.com/dualfroz/proxmox-git-qemu-server) |
+| [zed-industries/zed](https://github.com/zed-industries/zed) | ⭐ 91,8 tys. | Rust | +123 -10 | [11](https://git.dualfroz.com/dualfroz/zed-industries-zed) |
+| [telegramdesktop/tdesktop](https://github.com/telegramdesktop/tdesktop) | ⭐ 33,3 tys. | C++ | +24 -5 | [3](https://git.dualfroz.com/dualfroz/telegramdesktop-tdesktop) |
+| [composer/composer](https://github.com/composer/composer) | ⭐ 29,5 tys. | PHP | +142 -4 | [3](https://git.dualfroz.com/dualfroz/composer-composer) |
+| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26,7 tys. | C# | +4624 -13 | [16](https://git.dualfroz.com/dualfroz/icsharpcode-ILSpy) |
+| [urfave/cli](https://github.com/urfave/cli) | ⭐ 24,3 tys. | Go | +123 -12 | [3](https://git.dualfroz.com/dualfroz/urfave-cli) |
+| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22,3 tys. | PHP | +135 -4 | [6](https://git.dualfroz.com/dualfroz/PHPMailer-PHPMailer) |
+| [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22,2 tys. | JavaScript | +50 -4 | [5](https://git.dualfroz.com/dualfroz/postcss-autoprefixer) |
+| [gleam-lang/gleam](https://github.com/gleam-lang/gleam) | ⭐ 22 tys. | Rust | +134 -1 | [2](https://git.dualfroz.com/dualfroz/gleam-lang-gleam) |
+| [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | ⭐ 21,9 tys. | Go | +43 -17 | [2](https://git.dualfroz.com/dualfroz/twpayne-chezmoi) |
+| [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21,4 tys. | PHP | +41 -2 | [2](https://git.dualfroz.com/dualfroz/Seldaek-monolog) |
+| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21,4 tys. | Rust | +88 -20 | [6](https://git.dualfroz.com/dualfroz/valeriansaliou-sonic) |
+| [OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) | ⭐ 17,6 tys. | C# | +56 -5 | [2](https://git.dualfroz.com/dualfroz/OpenRA-OpenRA) |
+| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16,6 tys. | PHP | +87 -0 | [3](https://git.dualfroz.com/dualfroz/briannesbitt-Carbon) |
+| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15 tys. | Go | +183 -18 | [4](https://git.dualfroz.com/dualfroz/PuerkitoBio-goquery) |
+| [App-vNext/Polly](https://github.com/App-vNext/Polly) | ⭐ 14,2 tys. | C# | +19 -1 | [1](https://git.dualfroz.com/dualfroz/App-vNext-Polly) |
+| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13,6 tys. | Go | +19 -13 | [8](https://git.dualfroz.com/dualfroz/hajimehoshi-ebiten) |
+| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13,2 tys. | PHP | +115 -3 | [4](https://git.dualfroz.com/dualfroz/filp-whoops) |
+| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12,2 tys. | JavaScript | +124 -11 | [38](https://git.dualfroz.com/dualfroz/spencermountain-compromise) |
+| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11,1 tys. | PHP | +72 -2 | [2](https://git.dualfroz.com/dualfroz/doctrine-lexer) |
+| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9,9 tys. | PHP | +127 -7 | [7](https://git.dualfroz.com/dualfroz/kanboard-kanboard) |
+| [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9,8 tys. | C# | +14 -1 | [2](https://git.dualfroz.com/dualfroz/FluentValidation-FluentValidation) |
+| [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8,1 tys. | C# | +12 -0 | [2](https://git.dualfroz.com/dualfroz/serilog-serilog) |
+| [concourse/concourse](https://github.com/concourse/concourse) | ⭐ 7,9 tys. | Go | +154 -24 | [1](https://git.dualfroz.com/dualfroz/concourse-concourse) |
+| [predis/predis](https://github.com/predis/predis) | ⭐ 7,8 tys. | PHP | +410 -28 | [5](https://git.dualfroz.com/dualfroz/predis-predis) |
+| [vscode-neovim/vscode-neovim](https://github.com/vscode-neovim/vscode-neovim) | ⭐ 7,8 tys. | TypeScript | +65 -2 | [6](https://git.dualfroz.com/dualfroz/vscode-neovim-vscode-neovim) |
+| [NLog/NLog](https://github.com/NLog/NLog) | ⭐ 6,5 tys. | C# | +19 -0 | [15](https://git.dualfroz.com/dualfroz/NLog-NLog) |
+| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6,1 tys. | TypeScript | +69 -13 | [8](https://git.dualfroz.com/dualfroz/maildev-maildev) |
+| [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5,5 tys. | Rust | +48 -2 | [10](https://git.dualfroz.com/dualfroz/Pagefind-pagefind) |
+| [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5,3 tys. | C# | +223 -7 | [8](https://git.dualfroz.com/dualfroz/xoofx-markdig) |
+| [dromara/carbon](https://github.com/dromara/carbon) | ⭐ 5,2 tys. | Go | +41 -4 | [1](https://git.dualfroz.com/dualfroz/dromara-carbon) |
+| [alecthomas/chroma](https://github.com/alecthomas/chroma) | ⭐ 5,1 tys. | Go | +90 -3 | [1](https://git.dualfroz.com/dualfroz/alecthomas-chroma) |
+| [olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) | ⭐ 4,8 tys. | Go | +16 -0 | [1](https://git.dualfroz.com/dualfroz/olekukonko-tablewriter) |
+| [knadh/koanf](https://github.com/knadh/koanf) | ⭐ 4,2 tys. | Go | +135 -10 | [2](https://git.dualfroz.com/dualfroz/knadh-koanf) |
+| [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4,1 tys. | JavaScript | +15 -40 | [7](https://git.dualfroz.com/dualfroz/spencermountain-spacetime) |
+| [itchyny/gojq](https://github.com/itchyny/gojq) | ⭐ 3,8 tys. | Go | +42 -5 | [9](https://git.dualfroz.com/dualfroz/itchyny-gojq) |
+| [Suor/funcy](https://github.com/Suor/funcy) | ⭐ 3,5 tys. | Python | +18 -2 | [2](https://git.dualfroz.com/dualfroz/Suor-funcy) |
+| [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3,5 tys. | PHP | +22 -9 | [2](https://git.dualfroz.com/dualfroz/thephpleague-csv) |
+| [composer/satis](https://github.com/composer/satis) | ⭐ 3,3 tys. | PHP | +55 -10 | [5](https://git.dualfroz.com/dualfroz/composer-satis) |
+| [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3 tys. | Go | +66 -23 | [3](https://git.dualfroz.com/dualfroz/montanaflynn-stats) |
+| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3 tys. | Go | +124 -14 | [24](https://git.dualfroz.com/dualfroz/versity-versitygw) |
+| [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3 tys. | PHP | +17 -0 | [2](https://git.dualfroz.com/dualfroz/thephpleague-commonmark) |
+| [mitsuhiko/insta](https://github.com/mitsuhiko/insta) | ⭐ 3 tys. | Rust | +8 -2 | [1](https://git.dualfroz.com/dualfroz/mitsuhiko-insta) |
+| [BurntSushi/jiff](https://github.com/BurntSushi/jiff) | ⭐ 3 tys. | Rust | +37 -5 | [1](https://git.dualfroz.com/dualfroz/BurntSushi-jiff) |
+| [zzzprojects/html-agility-pack](https://github.com/zzzprojects/html-agility-pack) | ⭐ 2,9 tys. | C# | +158 -2 | [2](https://git.dualfroz.com/dualfroz/zzzprojects-html-agility-pack) |
+| [Paymenter/Paymenter](https://github.com/Paymenter/Paymenter) | ⭐ 2,7 tys. | PHP | +135 -11 | [4](https://git.dualfroz.com/dualfroz/Paymenter-Paymenter) |
+| [api-platform/core](https://github.com/api-platform/core) | ⭐ 2,6 tys. | PHP | +52 -27 | [2](https://git.dualfroz.com/dualfroz/api-platform-core) |
+| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2,4 tys. | PHP | +64 -3 | [3](https://git.dualfroz.com/dualfroz/pelican-panel) |
+| [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2,4 tys. | Go | +12 -0 | [4](https://git.dualfroz.com/dualfroz/gookit-goutil) |
+| [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2,2 tys. | PHP | +23 -0 | [2](https://git.dualfroz.com/dualfroz/dedoc-scramble) |
+| [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2,2 tys. | Go | +89 -2 | [5](https://git.dualfroz.com/dualfroz/gocarina-gocsv) |
+| [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown) | ⭐ 1,9 tys. | PHP | +3 -2 | [6](https://git.dualfroz.com/dualfroz/thephpleague-html-to-markdown) |
+| [AfterShip/email-verifier](https://github.com/AfterShip/email-verifier) | ⭐ 1,6 tys. | Go | +99 -3 | [3](https://git.dualfroz.com/dualfroz/AfterShip-email-verifier) |
+| [fabiocaccamo/python-benedict](https://github.com/fabiocaccamo/python-benedict) | ⭐ 1,6 tys. | Python | +66 -5 | [2](https://git.dualfroz.com/dualfroz/fabiocaccamo-python-benedict) |
+| [gookit/color](https://github.com/gookit/color) | ⭐ 1,6 tys. | Go | +12 -1 | [3](https://git.dualfroz.com/dualfroz/gookit-color) |
+| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1,5 tys. | Go | +45 -1 | [4](https://git.dualfroz.com/dualfroz/olebedev-when) |
+| [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1,4 tys. | Python | +18 -5 | [4](https://git.dualfroz.com/dualfroz/dgilland-pydash) |
+| [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1,4 tys. | PHP | +17 -2 | [2](https://git.dualfroz.com/dualfroz/cakephp-chronos) |
+| [go-playground/form](https://github.com/go-playground/form) | ⭐ 931 | Go | +35 -0 | [2](https://git.dualfroz.com/dualfroz/go-playground-form) |
+| [mkideal/cli](https://github.com/mkideal/cli) | ⭐ 723 | Go | +22 -1 | [2](https://git.dualfroz.com/dualfroz/mkideal-cli) |
+| [gookit/config](https://github.com/gookit/config) | ⭐ 585 | Go | +29 -8 | [2](https://git.dualfroz.com/dualfroz/gookit-config) |
+| [rust-syndication/rss](https://github.com/rust-syndication/rss) | ⭐ 502 | Rust | +24 -2 | [2](https://git.dualfroz.com/dualfroz/rust-syndication-rss) |
+| [kelindar/bitmap](https://github.com/kelindar/bitmap) | ⭐ 385 | Assembly | +146 -12 | [5](https://git.dualfroz.com/dualfroz/kelindar-bitmap) |
+| [brick/date-time](https://github.com/brick/date-time) | ⭐ 361 | PHP | +67 -36 | [3](https://git.dualfroz.com/dualfroz/brick-date-time) |
+| [pydantic/pydantic-extra-types](https://github.com/pydantic/pydantic-extra-types) | ⭐ 338 | Python | +124 -1 | [2](https://git.dualfroz.com/dualfroz/pydantic-pydantic-extra-types) |
+| [rodaine/table](https://github.com/rodaine/table) | ⭐ 324 | Go | +32 -2 | [2](https://git.dualfroz.com/dualfroz/rodaine-table) |
+| [wroberts/pytimeparse](https://github.com/wroberts/pytimeparse) | ⭐ 299 | Python | +5 -1 | [3](https://git.dualfroz.com/dualfroz/wroberts-pytimeparse) |
+| [QEDK/configparser-rs](https://github.com/QEDK/configparser-rs) | ⭐ 88 | Rust | +22 -1 | [3](https://git.dualfroz.com/dualfroz/QEDK-configparser-rs) |
+| [thephpleague/uri-src](https://github.com/thephpleague/uri-src) | ⭐ 51 | PHP | +18 -2 | [4](https://git.dualfroz.com/dualfroz/thephpleague-uri-src) |
+| [spiral/testing](https://github.com/spiral/testing) | ⭐ 7 | PHP | +255 -6 | [5](https://git.dualfroz.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 |
+