Een softwareontwikkelaar met een pragmatische aanpak en een sterke focus op C# en JavaScript. Ik ben gedreven door het bouwen van functionele en goed gestructureerde applicaties. Het analyseren van een complex probleem en dit vertalen naar een solide, technische oplossing is waar mijn kracht ligt.
Buiten het toetsenbord om ben ik een fanatiek gamer en volg ik de nieuwste anime. Deze werelden bieden niet alleen ontspanning, maar ook een constante bron van inspiratie voor creatieve oplossingen.
Dit portfolio dient als een showcase van mijn werk.
# Mijn technische vaardigheden en favoriete tools
languages:
- C#
- JavaScript
- Java
- PHP
- SQL
frameworks_libraries:
- .NET Core & ASP.NET
- Node.js & Express
- Entity Framework
databases:
- MySQL
- MongoDB
tools_platforms:
- Git & GitHub
- Docker
- JetBrains Rider
- JetBrains PHPStorm
- Visual Studio Code
[Heden] [INFO] Actief in opleiding Software Developer bij ROC van Twente, Almelo.
[2024-02-01] [INFO] Start stage en bijbaan als Web Developer bij Boekwinkeltjes.nl, Nijverdal.
[2022-09-01] [INFO] Start opleiding Software Developer (MBO 4) bij ROC van Twente, Almelo.
[2022-07-01] [SUCCESS] Diploma Verspaner behaald bij ROC van Twente, Hengelo.
[2020-08-01] [INFO] Start BBL opleiding Verspaner bij Metal Machinebouwers, Nijverdal.
[2020-08-01] [SUCCESS] Diploma middelbare school (PI) behaald bij CSG Reggesteyn, Rijssen.
[2020-02-01] [INFO] Start eindstage middelbare school bij Metal Machinebouwers, Nijverdal.
[2018-05-01] [INFO] Start stage en bijbaan als Metaalbewerker bij Broeze, Nijverdal.
[2015-08-01] [INFO] Start middelbare school bij CSG Reggesteyn, Rijssen.
a8fbc12 (HEAD -> main) Bryan Piek - 2 dagen geleden
feat: Git history log toegevoegd
3c4d5e6 Bryan Piek - 3 dagen geleden
feat: Thema-wisselaar (licht/donker) geïmplementeerd
9f1a2b3 Bryan Piek - 4 dagen geleden
feat: Carrière tijdlijn toegevoegd als 'carriere.log'
b4c5d6e Bryan Piek - 5 dagen geleden
fix: Responsiviteit en mobiele weergave verbeterd
1e2f3g4 Bryan Piek - 1 week geleden
refactor: Layout omgezet naar PHPStorm stijl
7h8i9j0 Bryan Piek - 1 week geleden
feat: Projecten worden dynamisch geladen via GitHub API
k1l2m3n Bryan Piek - 2 weken geleden
initial commit
function getGamingLibrary() {
return {
currently_playing: "Modded Minecraft: ATM 10 To The Skies",
platforms: [
"PC",
"Nintendo Switch"
],
top_5_all_time: [
"Minecraft",
"Assassin's Creed IV: Black Flag",
"Call of Duty (Series)",
"Satisfactory",
"Dying Light"
]
};
}
Een overzicht van series die ik heb gezien
En een bult meer. :)
// Een overzicht van mijn muzieksmaak
const myMusic = {
favorite_genres: [
"K-pop",
"90s Classics",
"2010-2016 Hits",
"Rock",
"Rap"
],
top_artists: [
"BLACKPINK",
"Stray Kids",
"Linkin Park",
"Evanescence",
"Lady Gaga",
"Ariana Grande",
"Vana",
"Spiritbox",
"Rihanna",
"Rammstein",
],
currently_listening: "Een mix van K-pop, rock en classics."
};
A graphical user interface overlay for Minescript using CustomTkinter
BlockyTK is a graphical user interface (GUI) overlay for Minescript, allowing you to manage, configure, and run your Python automation scripts directly from within Minecraft.
customtkinter) that sits on top of your Minecraft window.minescript/scripts/ folder.lib/ folder for dependencies, keeping your installation clean and self-contained.config.txt.Download: Download this repository and place the contents into your Minescript folder.
%appdata%\.minecraft\minescript\ (or your specific profile's minescript folder).Install Dependencies:
BlockyTK relies on customtkinter, which is not included by default. To make installation easy and portable, we've provided a helper script.
Open a terminal in your minescript folder and run:
python install_dependencies.py
This will install the required libraries into a local lib/ folder, ensuring the Hub works immediately without needing to modify your global Python environment or Minescript's PYTHONPATH.
Start the Hub: In Minecraft, open the chat and type:
\gui_launcher
Note: The first time you run this, it might take a moment to initialize.
Toggle the Menu: Once loaded, you will see a message: "BlockyTK loaded. Press R-Shift to toggle." Press Right Shift to open/close the menu.
Running Scripts:
Shortcuts:
To make your own scripts appear in the Hub, they must export a UI_CONFIG using the ScriptUI helper.
Here is an example using bridge.py (found in scripts/bridge.py):
.py file in minescript/scripts/.minescript and minescript_ui.run function:import minescript
import time
import math
from minescript_ui import ScriptUI
# 1. Define UI
ui = ScriptUI("Auto Bridge", category="Travel", description="Automatically places blocks under your feet if there is air.")
ui.dropdown("material", "Material", ["stone", "cobblestone", "dirt", "oak_planks", "glass"], default="cobblestone")
ui.float("delay", "Check Delay", default=0.05, min=0.01, max=0.5)
# 2. Export Config
UI_CONFIG = ui.export()
# 3. Main Logic
def run(params, stop_event):
mat = params['material']
delay = params['delay']
minescript.echo(f"🌉 Bridge Builder Active ({mat}). Walk carefully!")
while not stop_event.is_set():
px, py, pz = minescript.player_position()
# Block immediately below feet
# Use math.floor(py) - 1 for block under feet
bx, by, bz = round(px), math.floor(py) - 1, round(pz)
# "setblock x y z block keep" only places if air.
minescript.execute(f"setblock {bx} {by} {bz} {mat} keep")
if stop_event.wait(delay): break
minescript.echo("🛑 Bridge Builder Stopped.")
config.txt: Standard Minescript configuration.gui_config.py: Generated file storing your shortcuts and Hub preferences. Do not edit manually unless necessary.python install_dependencies.py again to ensure lib/ is populated.\gui_launcher, not \gui_launcher.py.A web ui module for the Minecraft mod Minescript
Minescript C2 is a powerful, web-based dashboard for Minescript that allows you to control your Minecraft automation scripts remotely.
It features a modern "Command and Control" interface with live chat, real-time inventory monitoring, and one-click script execution—all from your browser.
scripts/ folder.lib/ folder installation.Download the Code: Clone this repository or download the source code.
Install Dependencies: Run the setup script once to install necessary libraries (websocket-server and websocket-client) into the local lib/ folder.
# In your Minescript console
\setup
Note: The dashboard is self-contained. It installs dependencies locally so you don't need to mess with your global Python environment.
Best for single-player or local testing. The dashboard runs on your PC.
start.py file:from dashboard import Dashboard
# Starts Web Server on port 8000 and WebSocket on 8999
dash = Dashboard(
external=False,
script_folder="./scripts",
auto_open=True # Automatically opens your browser
)
dash.start()
\start in Minecraft.http://localhost:8000.Best for controlling your account remotely or sharing access.
python relay_server.py
from dashboard import Dashboard
dash = Dashboard(
external=True,
host="localhost", # Or your VPS IP / ngrok URL
port=9000, # Relay WebSocket port
script_folder="./scripts"
)
dash.start()
http://localhost:3000 (or your relay URL) to control your Minecraft client.minescript-c2/
├── dashboard.py # Core library (Web & WebSocket servers)
├── job_manager.py # Handles loading and running background jobs
├── setup.py # Dependency installer
├── relay_server.py # (Optional) Standalone server for External Mode
├── ui/ # (Generated) Web frontend files
├── lib/ # (Generated) Local Python dependencies
└── scripts/ # PUT YOUR SCRIPTS HERE
├── mining.py
├── fishing.py
└── ...
Add any .py file to the scripts/ folder. It must have a run(stop_event) function.
Example: scripts/hello.py
import minescript
import time
def run(stop_event):
minescript.echo("Job started!")
while not stop_event.is_set():
# Do work here
minescript.echo("Working...")
# Use wait() on the event instead of time.sleep() for responsive stopping
if stop_event.wait(5):
break
minescript.echo("Job stopped.")
Feel free to submit issues or pull requests.
A lightweight path-finding Minecraft bot for the Minescript modloader. AShortPath uses the Theta* algorithm to produce smooth, short routes in voxel worlds—often shorter than classic A* paths thanks to line-of-sight shortcuts.
Credit & inspiration: hyshenn/thetaSTAR
path_find, path_walk_to)(x, y, z) block coordinatesCreate a small Minescript script and run it in your world:
from AShortPath.thetastar import path_walk_to, path_find
import minescript
# Start at player position; set your target coordinates here:
start = minescript.player_position()
goal = (600, 72, 1200)
path = path_find(start, goal)
if not path:
minescript.echo("No path found.")
else:
minescript.echo(f"Path length: {len(path)}")
# Walk the computed path.
path_walk_to(path=path, distance=1)
AShortPath is a pure-script drop-in.
Copy the AShortPath/ folder into your Minescript scripts directory (or any location that is on your Minescript/Python path).
Import it from your script:
from AShortPath.thetastar import path_find, path_walk_to
If your environment uses a custom loader, make sure
AShortPathis importable (e.g., added toPYTHONPATHor your Minescript modules directory).
path_find(start, goal) -> list[tuple[int, int, int]] | NoneCompute a path between two block coordinates.
(x, y, z) – typically minescript.player_position()(x, y, z) – your destination(x, y, z) waypoints, including start/goal, or None if unreachable.path_walk_to(path, distance: int = 1) -> NoneWalk an existing path.
path_find1)Separation of concerns: compute once with
path_find, then hand the path topath_walk_to. This lets you inspect/modify the path before moving (e.g., visualize or trim it).
AShortPath uses Theta, an any-angle variant of A:
(x, y, z) block positions.Bug reports and improvements are welcome! Please keep contributions focused and well-scoped (small PRs are easier to review and test).
Change the LiteMatica material list.txt to an excel variant.
TXT to Excel parser for Litematica's material list.

Thanks to this amazing contributor:
![]() |
|---|
| @tlorius |
| 🛠️ |
Protect and secure your files effortlessly
FileSafe is a versatile program designed to protect and secure your files effortlessly. Below, you'll find an overview of its powerful features and capabilities.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature

The FileSafe project is a robust file protection application designed to safeguard your important files. It offers a range of powerful features to ensure your data's privacy and security. Whether you want to simply hide files, encrypt them, or even secure the binary files, FileSafe has you covered.
Hide Files: FileSafe can make all files within its directory invisible and inaccessible through regular file explorers.
EncryptBinFile: This feature encrypts the entire binary file containing the file binaries, ensuring that even if someone tries to access the binary file directly, the contents remain secure and unreadable without the correct password.
Change Password: Easily modify the password used to lock and unlock the hidden files for enhanced security.
If you want to experience the security and convenience of FileSafe, follow these simple steps to get started:
Download:
Run the Executable:
Password Setup:
FileSafe provides a straightforward user interface with the following key features:
Lock: This feature hides all files within the directory where the FileSafe executable is placed. It makes them invisible and inaccessible through regular file explorers.
Unlock: Use this feature to access your hidden files. You'll be prompted to enter the correct password set during the initial setup. Once the correct password is provided, all hidden files become visible and accessible again.
Change Password: Easily modify your password by accessing the "Change Password" option within FileSafe.
FileSafe offers three settings to customize your file protection preferences:
Strictly Hide Files: Select this option to only hide the files within the directory without encrypting them. The files remain in their original state.
Hide and Encrypt Files: This option not only hides the selected files but also encrypts them using a secure encryption algorithm, providing a higher level of security for your sensitive data.
EncryptBinFile: By choosing this option, FileSafe encrypts the entire binary file containing the file binaries, ensuring the contents remain secure and unreadable without the correct password.
Remember to keep your password secure and avoid sharing it with unauthorized individuals. If you forget your password, it might be impossible to recover the hidden files, especially if they are encrypted. So, always keep a backup of important files outside of FileSafe if needed.
Enjoy using FileSafe to protect your valuable files and maintain your privacy!
A sudoku solver made in C#
A working sudoku solver where you can also ask for random sudoku's to play
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
[
]
The Sudoku Solver is a software application that solves Sudoku puzzles using a backtracking algorithm. It provides a graphical user interface (GUI) for users to interact with and solve Sudoku puzzles.
This Sudoku Solver project provides an interactive and efficient way to solve Sudoku puzzles using a desktop application. It is designed to enhance the puzzle-solving experience by automating the solution process and offering a user-friendly interface.
This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
To install and run the Sudoku Solver application on your machine, follow these steps:
Prerequisites:
Download:
Extract the Files:
Run the Application:
User Interface:
Enjoy solving Sudoku puzzles with the Sudoku Solver application!
See the open issues for a full list of proposed features (and known issues).
Distributed under the MIT License. See LICENSE.txt for more information.
Easy and Customizable voice assistant
Easy and Customizable voice assistant.
Make a .cs file in the Commands directory.
After making that, Restart Voczel or ask Voczel to "Reload Commands"
Close all Chrome processes:
using System;
using System.Diagnostics;
using System.Speech.Synthesis;
class MyScript
{
static SpeechSynthesizer speech = new SpeechSynthesizer();
public void ExecuteAFunction()
{
Process[] chromeInstances = Process.GetProcessesByName("chrome");
foreach (Process p in chromeInstances) {
p.Kill();
}
speech.SpeakAsync("Closed all chrome windows for you.");
}
}
{
"naam": "Bryan Piek",
"beroep": "Software Ontwikkelaar",
"contact": {
"email": "[email protected]",
"github": "github.com/BitMap7487"
},
"beschikbaar_voor_werk": false,
"locatie": "Nijverdal, Nederland"
}