This commit is contained in:
bronku 2026-01-07 22:23:24 +01:00
commit 2f3507a3c3
2 changed files with 204 additions and 0 deletions

139
index.html Normal file
View file

@ -0,0 +1,139 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="./style.css" rel="stylesheet" />
<title>Jakub Bronk | Portfolio</title>
</head>
<body>
<header>
<h1>Jakub Bronk</h1>
<div>
<a href="mailto:bronk.jakub@proton.me">Email</a>
<a href="https://github.com/Bronku">GitHub</a>
<span> Somonino, Poland </span>
</div>
</header>
<section>
<p>
Computer Science student at Gdańsk University of Technology with strong
foundations in algorithms, systems programming, and Linux environments.
Experienced in Go, C/C++, and C# as well as familiar with Java, Python,
Ruby, Rust, and TypeScript, through academic and personal projects,
including self-hosted infrastructure and low-level development.
</p>
</section>
<section>
<h2>SELECTED PROJECTS</h2>
<section>
<h3>B+ Tree Implementation <span>Rust</span></h3>
<p>
A B+ tree implementation focusing on memory-efficient data structures
and safety.
</p>
</section>
<section>
<h3>
Python-to-Ruby Transpiler
<span>Flex / Bison / C++ / Make</span>
</h3>
<p>
A simplified transpiler for converting Python scripts to Ruby. This
project allowed me to familiarize myself with lexer and parser design,
while effectively modeling real-world objects through class design. It
also required an in-depth study of Makefiles to automate a complex
build process involving circular dependencies between various files.
</p>
</section>
<section>
<h3>External Sorting Implementation <span>C++</span></h3>
<p>
An implementation for sorting files too large to fit in primary
memory. This project required efficient disk-write management and the
utilization of various data structures, such as a min-heap.
</p>
</section>
<section>
<h3>Order Tracker for Cake Shop <span>Go / SQLite</span></h3>
<p>
A full-stack solution for local business logistics. Focused on a fast,
dependency-light frontend. Fully managed and deployed independently.
</p>
</section>
<section>
<h3>
Self-Hosted Infrastructure
<span>Debian / Docker / NixOS</span>
</h3>
<p>
Management of a production environment for media, backups, and small
business order-tracking. Running in Docker, secured behind an overlay
VPN, and exposed via Cloudflare tunnels when required.
</p>
</section>
</section>
<section>
<h2>TECHNICAL PHILOSOPHY</h2>
<p>
I value <b>simplicity, ownership, and efficiency</b>. My preference for
languages like C and Go stems from a desire to understand the hardware
beneath the code. I apply this logic to my homelab, where I prioritize
self-hosting over third-party dependencies. This is why I prefer a
personal Gitea page over GitHub and strive to minimize dependencies in
my own code.
</p>
</section>
<section>
<h2>OTHER INTERESTS</h2>
<section>
<h3>Literary</h3>
<p>
I primarily read Science Fiction but also enjoy classic murder
mysteries. Some of my favorite books include:
</p>
<ul>
<li><i>Foundation</i> (Isaac Asimov)</li>
<li><i>God Emperor of Dune</i> (Frank Herbert)</li>
<li><i>The Three-Body Problem</i> (Cixin Liu)</li>
<li><i>The Murder of Roger Ackroyd</i> (Agatha Christie)</li>
</ul>
<h3>Gaming</h3>
<p>I mostly play automation games but also enjoy other indie titles:</p>
<ul>
<li>Factorio</li>
<li>Satisfactory</li>
<li>Celeste</li>
<li>Outer Wilds</li>
</ul>
<h3>Other</h3>
<ul>
<li>Bouldering</li>
<li>Motorcycling</li>
<li>Cubing (Rubik's Cube)</li>
<li>
Tinkering with hardware and building custom, hand-wired keyboards
</li>
</ul>
</section>
</section>
<footer>
<p>
Built with plain HTML/CSS. Hosted on Codeberg due to home bandwidth
limitations. Text on this site has been proofread with AI assistance.
</p>
</footer>
</body>
</html>

65
style.css Normal file
View file

@ -0,0 +1,65 @@
:root {
--bg: #ffffff;
--text: #1a1a1a;
--accent: #2563eb;
--dim: #666;
--code-bg: #f4f4f4;
}
body {
font-family: "Liberation Sans", sans-serif;
line-height: 1.6;
color: var(--text);
max-width: 800px;
margin: 0 auto;
padding: 2rem 1.5rem;
}
header {
border-bottom: 2px solid var(--text);
padding-bottom: 1rem;
margin-bottom: 2rem;
}
a {
color: var(--accent);
text-decoration: none;
font-weight: bold;
margin-right: 15px;
}
a:hover {
text-decoration: underline;
}
h2 {
font-size: 1.1rem;
text-transform: uppercase;
letter-spacing: 2px;
border-bottom: 1px solid #ddd;
padding-bottom: 0.3rem;
margin-top: 2.5rem;
}
h3 {
margin-bottom: 0.5rem;
font-size: 1.1rem;
}
h3 span {
font-family: monospace;
font-size: 0.85rem;
background: var(--code-bg);
padding: 2px 6px;
border-radius: 4px;
font-weight: normal;
margin-left: 10px;
color: var(--text);
}
footer {
margin-top: 4rem;
border-top: 1px solid #eee;
font-size: 0.85rem;
color: var(--dim);
}