CV tuning and interests cleanup
This commit is contained in:
parent
d79f454b8d
commit
53f1cd59c5
51
data.json
51
data.json
@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
30
index.php
30
index.php
@ -21,28 +21,18 @@ $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);
|
||||
|
||||
$interests_showcase[] = [
|
||||
'name' => $config['name'] ?? basename($folder),
|
||||
'image' => $has_image ? 'interests/' . basename($folder) . '/' . $img_file : null,
|
||||
'caption' => $config['caption'] ?? ''
|
||||
];
|
||||
}
|
||||
if (!empty($cvData['interests'])) {
|
||||
foreach ($cvData['interests'] as $item) {
|
||||
$img = $item['image'] ?? null;
|
||||
$has_image = $img && file_exists(__DIR__ . '/' . $img);
|
||||
$interests_showcase[] = [
|
||||
'name' => $item['name'] ?? '',
|
||||
'image' => $has_image ? $img : null,
|
||||
'caption' => $item['caption'] ?? ''
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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."
|
||||
}
|
||||
@ -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."
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "Synthwave",
|
||||
"image": "image.png",
|
||||
"caption": "Neon-filled nostalgia. Fun to create, relaxing to listen to it."
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "3D Printing",
|
||||
"image": "image.png",
|
||||
"caption": ""
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "Mountain Biking",
|
||||
"image": "image.png",
|
||||
"caption": ""
|
||||
}
|
||||
@ -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."
|
||||
}
|
||||
|
Before Width: | Height: | Size: 751 KiB After Width: | Height: | Size: 751 KiB |
Loading…
Reference in New Issue
Block a user