Profile README with links to my commits
This commit is contained in:
1 parent
37a1f882ee
commit
bbad2ade55
13 files changed
+986
-599
No files matched your search
+461
@@ -0,0 +1,461 @@
|
||||
<div align="center">
|
||||
|
||||
<img src="https://git.dualfroz.com/dualfroz.png" width="112" alt="Michał DualFroz Fox, software developer from Kraków">
|
||||
|
||||
# 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
|
||||
|
||||
<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="Email"><br><sub>Email</sub></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<sub>[Polski](README.md) · **English**</sub>
|
||||
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
> _Hi, I'm Michał. I'm 18 and I'm from Kraków. I've been building all kinds of software projects regularly since 2020. For most of that time I focused on backend logic, but lately I've been shifting more towards design and UI/UX, fields that are far more resistant to the impact of LLMs. I believe creativity and ideas are two things that will stay untouched forever._
|
||||
>
|
||||
> _I contribute to all kinds of open source projects often and actively. I like helping and supporting communities wherever I can. I know my work isn't always perfect, so I always review it carefully, making sure that only the highest-quality additions and fixes land in projects used by thousands or even millions of people._
|
||||
>
|
||||
> _I have over 6 years of programming experience. In that time I've written **over 5,000,000** lines of code across **200+** projects. Altogether I've contributed to **53** open source repositories with a combined **410,000+** stars on GitHub._
|
||||
>
|
||||
> _Outside of programming I'm interested in a lot of things: art, history, linguistics, mathematics, chess, music... the list goes on._
|
||||
|
||||
> **Now:** I've recently been working on finishing the first version of Flaem, a hosting panel. The project is written in several languages (TypeScript, Rust, Elixir, Golang, plus microservices in Java, Python and C) and adds up to almost a million lines of code. I'm planning the first release of Flaem for around October/November 2026.
|
||||
|
||||
## 📫 Contact
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
|
||||
- 🌐 Website: [dualfroz.com](https://dualfroz.com)
|
||||
- ✉️ Email: [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)
|
||||
- 🏢 Company: [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="My live Discord profile: status and activity"></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## 📖 Story
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="150" valign="top">🌱 <b>Beginnings</b><br><sub>2020</sub></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150" valign="top">🎮 <b>Servers and community</b><br><sub>SCP: Secret Laboratory</sub></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150" valign="top">🛠️ <b>Support and marketing</b><br><sub>MatHost</sub></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150" valign="top">💼 <b>Client projects</b><br><sub>since 2024</sub></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150" valign="top">🏢 <b>My own software house</b><br><sub>VulCode</sub></td>
|
||||
<td>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."</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150" valign="top">🎨 <b>Branding and marketing</b><br><sub>Aphrodi</sub></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150" valign="top">🌍 <b>Open source</b><br><sub>today</sub></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="150" valign="top">🚀 <b>My own platforms</b><br><sub>today</sub></td>
|
||||
<td>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## 🏢 Companies and roles
|
||||
|
||||
<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="VulCode logo"></td>
|
||||
<td><b><a href="https://vulcode.com">VulCode</a></b> <code>founder</code><br>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="https://git.dualfroz.com/dualfroz/.profile/raw/branch/main/assets/projects/aphrodi.webp" width="40" alt="Aphrodi logo"></td>
|
||||
<td><b><a href="https://aphrodi.pl">Aphrodi</a></b> <code>co-founder</code><br>A creative agency: branding, visual identity, web design, 3D graphics and video.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="https://git.dualfroz.com/dualfroz/.profile/raw/branch/main/assets/projects/lunatic.png" width="40" alt="Lunatic Studios logo"></td>
|
||||
<td><b>Lunatic Studios</b> <code>co-founder</code><br>An independent game studio: online chess with custom rules and a collection of mini games.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## ⭐ Main projects
|
||||
|
||||
<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> <br>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/plazer.png" width="40" alt="Plazer logo"></td>
|
||||
<td><b>Plazer</b> <br>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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><img src="https://docs.vulcode.com/uploads/images/gallery/2026-09/gyred.png" width="40" alt="Gyred logo"></td>
|
||||
<td><b>Gyred</b> <br>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.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<details>
|
||||
<summary><b>Smaller projects, with descriptions</b></summary>
|
||||
<br>
|
||||
|
||||
- **Vulp**: a Rust terminal app for managing an entire workspace of repositories (repo state, sync, projects, pull requests, statistics)
|
||||
- **Atrium**: a hotel panel with a live floor and room plan, reservations, housekeeping and room service
|
||||
- **Lokal**: a panel for restaurants, bars and cafés with reservations on a floor plan, orders and staff scheduling
|
||||
- **VulBio**: personal landing pages assembled from a panel, without touching code
|
||||
- **Nebula**: plugins for SCP: Secret Laboratory, including server moderation and analytics
|
||||
- **Pharos**: uptime monitoring with a public status page and incidents, a single Go binary
|
||||
- **Frostbyte**: a hobby x86_64 operating system kernel in C and assembly
|
||||
- **Cobalt**: an embedded key-value store built on an LSM tree, written in Zig
|
||||
- **Gambit**: an alpha-beta chess engine in Scala 3
|
||||
- **Lumen**: a dynamically typed scripting language in Kotlin
|
||||
- **Voxelforge**: a voxel engine in C++17 with a playable in-browser demo
|
||||
- **Cellar**: a spreadsheet engine with a formula language, in Dart
|
||||
- **Prism**: a Ruby web framework with no external dependencies
|
||||
- **Bazaar**: an online store on a custom PHP microframework with Stripe
|
||||
- **Chip8Sharp** and **GameBoySharp**: CHIP-8 and Game Boy emulators in C#
|
||||
|
||||
</details>
|
||||
|
||||
## 🧰 What I do day to day
|
||||
|
||||
Besides the main projects I do a lot of smaller things, both for clients and for myself:
|
||||
|
||||
| | Area | Examples |
|
||||
|---|---|---|
|
||||
| 🌐 | **Websites, panels and apps for clients** | company websites with a CMS, client panels, dashboards, online stores, integrations and automations |
|
||||
| ☁️ | **SaaS platforms** | I'm building platforms for the hosting, hotel and restaurant industries, and in the future I'd like to expand into more industries. |
|
||||
| 🖥️ | **Hosting and infrastructure** | game servers, Pterodactyl, Docker, monitoring, my own stats API [ghapi](https://ghapi.dualfroz.com/v2/public), and above all Flaem. |
|
||||
| ⚙️ | **Systems and low-level** | a hobby x86_64 kernel in C and assembly, a key-value database engine (LSM) in Zig, Game Boy and CHIP-8 emulators in C#. In short, I build all sorts of things just to learn how they work. |
|
||||
| 🧪 | **Languages and engines** | a scripting language in Kotlin, a chess engine in Scala, a voxel engine in C++ with a WebAssembly demo, a spreadsheet engine in Dart. |
|
||||
| 🎮 | **Games and plugins** | plugins for SCP: Secret Laboratory (Nebula), browser mini games and more.|
|
||||
| 🤖 | **Bots and tools** | Discord bots, the Vulp terminal app for managing repositories, CLI tools, tools for AI agents. |
|
||||
| 📱 | **Desktop and mobile** | apps for Windows, macOS, iOS and Android in Swift, Kotlin and C# |
|
||||
|
||||
|
||||
|
||||
## 📊 In numbers
|
||||
|
||||
<!-- stats:summary -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center" colspan="2" width="50%"><h3>5,994,022</h3>lines of code</td>
|
||||
<td align="center" width="25%"><h3>23,830</h3>commits</td>
|
||||
<td align="center" width="25%"><h3>200+</h3>projects</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" width="25%"><h3>410,000+</h3>OSS project stars</td>
|
||||
<td align="center" width="25%"><h3>53</h3>open source projects</td>
|
||||
<td align="center" width="25%"><h3>26</h3>languages</td>
|
||||
<td align="center" width="25%"><h3>1,655</h3>working days</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
```diff
|
||||
+ 5,994,022 lines added
|
||||
- 778,721 lines removed
|
||||
! 5,215,301 net lines
|
||||
```
|
||||
<!-- /stats:summary -->
|
||||
|
||||
### Languages
|
||||
|
||||
<p align="center">
|
||||
<img src="https://ghapi.dualfroz.com/v2/public/cards/top-langs.svg?lang=en" width="495" alt="Programming languages pie chart">
|
||||
</p>
|
||||
|
||||
<!-- stats:languages -->
|
||||
<table align="center">
|
||||
<tr><th></th><th align="left">Language</th><th align="right">Lines of code</th><th align="right">Commits</th><th align="right">Share</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>
|
||||
|
||||
**Frameworks and tools detected in my projects** <sub>(number of repositories)</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>Counted by my own API [ghapi.dualfroz.com](https://ghapi.dualfroz.com/v2/public) across all repositories, private ones included. Updated every 24 hours.</sub>
|
||||
|
||||
## 🌍 Open source
|
||||
|
||||
<!-- stats:opensource -->
|
||||
> Below is a list of projects I've contributed to (only those with accepted changes), sorted by star count. 610,000+ ⭐ in total across 74 repositories. The “Commits” column links to a repository with my commits (author, date and diff).
|
||||
|
||||
| Project | Stars | Language | Changes | Commits |
|
||||
|---|---|---|---|---|
|
||||
| [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.8k | Rust | <code>+123</code> <code>-10</code> | [11](https://git.dualfroz.com/dualfroz/zed-industries-zed) |
|
||||
| [telegramdesktop/tdesktop](https://github.com/telegramdesktop/tdesktop) | ⭐ 33.3k | C++ | <code>+24</code> <code>-5</code> | [3](https://git.dualfroz.com/dualfroz/telegramdesktop-tdesktop) |
|
||||
| [composer/composer](https://github.com/composer/composer) | ⭐ 29.5k | PHP | <code>+142</code> <code>-4</code> | [3](https://git.dualfroz.com/dualfroz/composer-composer) |
|
||||
| [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) | ⭐ 26.7k | C# | <code>+4624</code> <code>-13</code> | [16](https://git.dualfroz.com/dualfroz/icsharpcode-ILSpy) |
|
||||
| [urfave/cli](https://github.com/urfave/cli) | ⭐ 24.3k | Go | <code>+123</code> <code>-12</code> | [3](https://git.dualfroz.com/dualfroz/urfave-cli) |
|
||||
| [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) | ⭐ 22.3k | PHP | <code>+135</code> <code>-4</code> | [6](https://git.dualfroz.com/dualfroz/PHPMailer-PHPMailer) |
|
||||
| [postcss/autoprefixer](https://github.com/postcss/autoprefixer) | ⭐ 22.2k | JavaScript | <code>+50</code> <code>-4</code> | [5](https://git.dualfroz.com/dualfroz/postcss-autoprefixer) |
|
||||
| [gleam-lang/gleam](https://github.com/gleam-lang/gleam) | ⭐ 22k | Rust | <code>+134</code> <code>-1</code> | [2](https://git.dualfroz.com/dualfroz/gleam-lang-gleam) |
|
||||
| [twpayne/chezmoi](https://github.com/twpayne/chezmoi) | ⭐ 21.9k | Go | <code>+43</code> <code>-17</code> | [2](https://git.dualfroz.com/dualfroz/twpayne-chezmoi) |
|
||||
| [Seldaek/monolog](https://github.com/Seldaek/monolog) | ⭐ 21.4k | PHP | <code>+41</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/Seldaek-monolog) |
|
||||
| [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) | ⭐ 21.4k | Rust | <code>+88</code> <code>-20</code> | [6](https://git.dualfroz.com/dualfroz/valeriansaliou-sonic) |
|
||||
| [OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) | ⭐ 17.6k | C# | <code>+56</code> <code>-5</code> | [2](https://git.dualfroz.com/dualfroz/OpenRA-OpenRA) |
|
||||
| [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) | ⭐ 16.6k | PHP | <code>+87</code> <code>-0</code> | [3](https://git.dualfroz.com/dualfroz/briannesbitt-Carbon) |
|
||||
| [PuerkitoBio/goquery](https://github.com/PuerkitoBio/goquery) | ⭐ 15k | 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.2k | C# | <code>+19</code> <code>-1</code> | [1](https://git.dualfroz.com/dualfroz/App-vNext-Polly) |
|
||||
| [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) | ⭐ 13.6k | Go | <code>+19</code> <code>-13</code> | [8](https://git.dualfroz.com/dualfroz/hajimehoshi-ebiten) |
|
||||
| [filp/whoops](https://github.com/filp/whoops) | ⭐ 13.2k | PHP | <code>+115</code> <code>-3</code> | [4](https://git.dualfroz.com/dualfroz/filp-whoops) |
|
||||
| [spencermountain/compromise](https://github.com/spencermountain/compromise) | ⭐ 12.2k | JavaScript | <code>+124</code> <code>-11</code> | [38](https://git.dualfroz.com/dualfroz/spencermountain-compromise) |
|
||||
| [doctrine/lexer](https://github.com/doctrine/lexer) | ⭐ 11.1k | PHP | <code>+72</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/doctrine-lexer) |
|
||||
| [kanboard/kanboard](https://github.com/kanboard/kanboard) | ⭐ 9.9k | PHP | <code>+127</code> <code>-7</code> | [7](https://git.dualfroz.com/dualfroz/kanboard-kanboard) |
|
||||
| [FluentValidation/FluentValidation](https://github.com/FluentValidation/FluentValidation) | ⭐ 9.8k | C# | <code>+14</code> <code>-1</code> | [2](https://git.dualfroz.com/dualfroz/FluentValidation-FluentValidation) |
|
||||
| [serilog/serilog](https://github.com/serilog/serilog) | ⭐ 8.1k | C# | <code>+12</code> <code>-0</code> | [2](https://git.dualfroz.com/dualfroz/serilog-serilog) |
|
||||
| [concourse/concourse](https://github.com/concourse/concourse) | ⭐ 7.9k | Go | <code>+154</code> <code>-24</code> | [1](https://git.dualfroz.com/dualfroz/concourse-concourse) |
|
||||
| [predis/predis](https://github.com/predis/predis) | ⭐ 7.8k | 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.8k | 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.5k | C# | <code>+19</code> <code>-0</code> | [15](https://git.dualfroz.com/dualfroz/NLog-NLog) |
|
||||
| [maildev/maildev](https://github.com/maildev/maildev) | ⭐ 6.1k | TypeScript | <code>+69</code> <code>-13</code> | [8](https://git.dualfroz.com/dualfroz/maildev-maildev) |
|
||||
| [Pagefind/pagefind](https://github.com/Pagefind/pagefind) | ⭐ 5.5k | Rust | <code>+48</code> <code>-2</code> | [10](https://git.dualfroz.com/dualfroz/Pagefind-pagefind) |
|
||||
| [xoofx/markdig](https://github.com/xoofx/markdig) | ⭐ 5.3k | C# | <code>+223</code> <code>-7</code> | [8](https://git.dualfroz.com/dualfroz/xoofx-markdig) |
|
||||
| [dromara/carbon](https://github.com/dromara/carbon) | ⭐ 5.2k | Go | <code>+41</code> <code>-4</code> | [1](https://git.dualfroz.com/dualfroz/dromara-carbon) |
|
||||
| [alecthomas/chroma](https://github.com/alecthomas/chroma) | ⭐ 5.1k | Go | <code>+90</code> <code>-3</code> | [1](https://git.dualfroz.com/dualfroz/alecthomas-chroma) |
|
||||
| [olekukonko/tablewriter](https://github.com/olekukonko/tablewriter) | ⭐ 4.8k | Go | <code>+16</code> <code>-0</code> | [1](https://git.dualfroz.com/dualfroz/olekukonko-tablewriter) |
|
||||
| [knadh/koanf](https://github.com/knadh/koanf) | ⭐ 4.2k | Go | <code>+135</code> <code>-10</code> | [2](https://git.dualfroz.com/dualfroz/knadh-koanf) |
|
||||
| [spencermountain/spacetime](https://github.com/spencermountain/spacetime) | ⭐ 4.1k | JavaScript | <code>+15</code> <code>-40</code> | [7](https://git.dualfroz.com/dualfroz/spencermountain-spacetime) |
|
||||
| [itchyny/gojq](https://github.com/itchyny/gojq) | ⭐ 3.8k | Go | <code>+42</code> <code>-5</code> | [9](https://git.dualfroz.com/dualfroz/itchyny-gojq) |
|
||||
| [Suor/funcy](https://github.com/Suor/funcy) | ⭐ 3.5k | Python | <code>+18</code> <code>-2</code> | [2](https://git.dualfroz.com/dualfroz/Suor-funcy) |
|
||||
| [thephpleague/csv](https://github.com/thephpleague/csv) | ⭐ 3.5k | PHP | <code>+22</code> <code>-9</code> | [2](https://git.dualfroz.com/dualfroz/thephpleague-csv) |
|
||||
| [composer/satis](https://github.com/composer/satis) | ⭐ 3.3k | PHP | <code>+55</code> <code>-10</code> | [5](https://git.dualfroz.com/dualfroz/composer-satis) |
|
||||
| [montanaflynn/stats](https://github.com/montanaflynn/stats) | ⭐ 3k | Go | <code>+66</code> <code>-23</code> | [3](https://git.dualfroz.com/dualfroz/montanaflynn-stats) |
|
||||
| [versity/versitygw](https://github.com/versity/versitygw) | ⭐ 3k | Go | <code>+124</code> <code>-14</code> | [24](https://git.dualfroz.com/dualfroz/versity-versitygw) |
|
||||
| [thephpleague/commonmark](https://github.com/thephpleague/commonmark) | ⭐ 3k | PHP | <code>+17</code> <code>-0</code> | [2](https://git.dualfroz.com/dualfroz/thephpleague-commonmark) |
|
||||
| [mitsuhiko/insta](https://github.com/mitsuhiko/insta) | ⭐ 3k | Rust | <code>+8</code> <code>-2</code> | [1](https://git.dualfroz.com/dualfroz/mitsuhiko-insta) |
|
||||
| [BurntSushi/jiff](https://github.com/BurntSushi/jiff) | ⭐ 3k | 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.9k | 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.7k | 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.6k | PHP | <code>+52</code> <code>-27</code> | [2](https://git.dualfroz.com/dualfroz/api-platform-core) |
|
||||
| [pelican/panel](https://github.com/pelican/panel) | ⭐ 2.4k | PHP | <code>+64</code> <code>-3</code> | [3](https://git.dualfroz.com/dualfroz/pelican-panel) |
|
||||
| [gookit/goutil](https://github.com/gookit/goutil) | ⭐ 2.4k | Go | <code>+12</code> <code>-0</code> | [4](https://git.dualfroz.com/dualfroz/gookit-goutil) |
|
||||
| [dedoc/scramble](https://github.com/dedoc/scramble) | ⭐ 2.2k | PHP | <code>+23</code> <code>-0</code> | [2](https://git.dualfroz.com/dualfroz/dedoc-scramble) |
|
||||
| [gocarina/gocsv](https://github.com/gocarina/gocsv) | ⭐ 2.2k | 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.9k | 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.6k | 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.6k | Python | <code>+66</code> <code>-5</code> | [2](https://git.dualfroz.com/dualfroz/fabiocaccamo-python-benedict) |
|
||||
| [gookit/color](https://github.com/gookit/color) | ⭐ 1.6k | Go | <code>+12</code> <code>-1</code> | [3](https://git.dualfroz.com/dualfroz/gookit-color) |
|
||||
| [olebedev/when](https://github.com/olebedev/when) | ⭐ 1.5k | Go | <code>+45</code> <code>-1</code> | [4](https://git.dualfroz.com/dualfroz/olebedev-when) |
|
||||
| [dgilland/pydash](https://github.com/dgilland/pydash) | ⭐ 1.4k | Python | <code>+18</code> <code>-5</code> | [4](https://git.dualfroz.com/dualfroz/dgilland-pydash) |
|
||||
| [cakephp/chronos](https://github.com/cakephp/chronos) | ⭐ 1.4k | 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 -->
|
||||
|
||||
|
||||
## 🛠️ Technologies
|
||||
|
||||
### Programming languages
|
||||
|
||||
<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 and 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>
|
||||
|
||||
### Databases
|
||||
|
||||
<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 and apps
|
||||
|
||||
<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>
|
||||
|
||||
### Software
|
||||
|
||||
<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>Details on how I use each technology: [dualfroz.com/en/stack](https://dualfroz.com/en/stack)</sub>
|
||||
|
||||
## ♟️ Beyond code
|
||||
|
||||
> In short: I love... thinking. I enjoy solving nonograms and sudoku with complex rules, and I play chess for at least an hour a day. I regularly go past 2000+ elo on chess.com, but unfortunately my account keeps getting banned by chess.com (false-positive cheating flags). Soon I'll be going for a FIDE title (CM), which should clear me of the ridiculous accusations from chess.com's incompetent staff. I'm also going to apply to Mensa.
|
||||
|
||||
## 🤝 Working together
|
||||
|
||||
| Topic | Where |
|
||||
|---|---|
|
||||
| Commercial work: website, panel, app, platform | [vulcode.com](https://vulcode.com) |
|
||||
| Branding, design, graphics and video | [aphrodi.pl](https://aphrodi.pl) |
|
||||
| Open source, a chat, recruitment, anything else | [me@dualfroz.com](mailto:me@dualfroz.com) (or socials!)|
|
||||
Reference in new issue
Block a user