CV tuning and interests cleanup

This commit is contained in:
Dejvino 2026-07-27 16:56:38 +02:00
parent d79f454b8d
commit 53f1cd59c5
9 changed files with 46 additions and 65 deletions

View File

@ -36,9 +36,7 @@
{
"title": "UI Performance & Bootstrap Optimization",
"description": [
"Analyzed UI app bootstrap performance, driving improvements that gained 28% speed improvement.",
"Eliminated redundant network requests by introducing TanStack Query network caching.",
"Defined tiered JavaScript dependency loading mechanism for on-demand toolkit loading."
"Analyzed UI app bootstrap performance, driving improvements that gained 28% speed improvement. Eliminated redundant network requests by introducing TanStack Query network caching. Defined tiered JavaScript dependency loading mechanism for on-demand toolkit loading."
],
"date": "2025 2026"
},
@ -53,27 +51,18 @@
{
"title": "UI Testing Strategy & Architecture",
"description": [
"Led senior QA engineers in defining and executing the long-term UI testing architecture strategy across platform teams.",
"Established automated test suites, quality guardrails, and release visibility workflows to elevate testing standards across UI platform releases."
"Led senior QA engineers in defining and executing the long-term UI testing architecture strategy across platform teams. Established automated test suites and quality guardrails to elevate testing standards."
],
"date": "2021 2023"
},
{
"title": "Pluggable Tax Calculation Engine",
"description": [
"Architected and led the development of a pluggable tax calculation engine for NetSuite cloud ERP.",
"Coordinated technical strategy across 20+ software engineers in 4 squads, standardizing global tax calculation pipelines."
"Architected and led the development of a pluggable tax calculation engine for NetSuite cloud ERP. Coordinated technical strategy across 20+ software engineers in 4 squads, standardizing global tax calculation pipelines."
],
"date": "2017 2020"
}
],
"outside_work": [
"Mandolin",
"Synthwave",
"Electronics",
"3D Printing",
"Mountain Biking"
],
"cv": {
"experience": [
{
@ -175,5 +164,37 @@
}
],
"philosophy": "I design platform layers that stay out of the way while enabling everything else. Quiet infrastructure. Measurable value."
},
"interests": [
{
"name": "Mandolin",
"caption": "Octave mandolin is my instrument of choice. Wide range of tones, pleasant sound. Great way to relax your mind, explore melodies and harmonies.",
"image": null
},
{
"name": "Electronics tinkering",
"caption": "Building a useful device from scratch. Retrofitting modern brains into a broken vintage shell. Electronics is the magic that makes things alive.",
"image": null
},
{
"name": "Synthwave",
"caption": "Neon-filled nostalgia. Fun to create, relaxing to listen to it.",
"image": "interests/synthwave.png"
},
{
"name": "3D Printing & Design",
"caption": "Designing and printing custom parts that serve a purpose. Unique designs, useful accessories, toys or just repairs.",
"image": null
},
{
"name": "Mountain Biking",
"caption": "Going places under your own power. Exploring forests, trails and nature where cars aren't allowed.",
"image": null
},
{
"name": "RC Cars",
"caption": "Rock crawlers, construction trucks, military vehicles. Building a custom offroad course in the garden to trial them all.",
"image": null
}
]
}

View File

@ -21,30 +21,20 @@ $nav_links = [
$highlights = $cvData['highlights'] ?? [];
/**
* Sourced Interests Showcase (from filesystem)
* Sourced Interests Showcase (from data.json)
*/
$interests_showcase = [];
$interests_base = __DIR__ . '/interests';
if (is_dir($interests_base)) {
$folders = glob($interests_base . '/*', GLOB_ONLYDIR);
if ($folders) {
foreach ($folders as $folder) {
$config_path = $folder . '/interest.json';
$config = [];
if (file_exists($config_path)) {
$config = json_decode(file_get_contents($config_path), true);
}
$img_file = $config['image'] ?? 'image.png';
$has_image = file_exists($folder . '/' . $img_file);
if (!empty($cvData['interests'])) {
foreach ($cvData['interests'] as $item) {
$img = $item['image'] ?? null;
$has_image = $img && file_exists(__DIR__ . '/' . $img);
$interests_showcase[] = [
'name' => $config['name'] ?? basename($folder),
'image' => $has_image ? 'interests/' . basename($folder) . '/' . $img_file : null,
'caption' => $config['caption'] ?? ''
'name' => $item['name'] ?? '',
'image' => $has_image ? $img : null,
'caption' => $item['caption'] ?? ''
];
}
}
}
$site_url = "https://www.dejvino.cz/";
$site_title = $name;

View File

@ -1,5 +0,0 @@
{
"name": "Mandolin",
"image": "image.png",
"caption": "Octave mandolin is my instrument of choice. Wide range of tones, pleasant sound. Great way to relax your mind, explore melodies and harmonies."
}

View File

@ -1,5 +0,0 @@
{
"name": "Electronics tinkering",
"image": "image.png",
"caption": "Building a useful device from scratch. Retrofitting modern brains into a broken vintage shell. Electronics is the magic that makes things alive."
}

View File

@ -1,5 +0,0 @@
{
"name": "Synthwave",
"image": "image.png",
"caption": "Neon-filled nostalgia. Fun to create, relaxing to listen to it."
}

View File

@ -1,5 +0,0 @@
{
"name": "3D Printing",
"image": "image.png",
"caption": ""
}

View File

@ -1,5 +0,0 @@
{
"name": "Mountain Biking",
"image": "image.png",
"caption": ""
}

View File

@ -1,5 +0,0 @@
{
"name": "RC Cars",
"image": "image.png",
"caption": "Rock crawlers, construction trucks, military vehicles. There is a fun challenge awaiting an RC car on every corner."
}

View File

Before

Width:  |  Height:  |  Size: 751 KiB

After

Width:  |  Height:  |  Size: 751 KiB