changeset 234:1de6f553cbc0

[resume] Add Microsoft Member of Technical Staff role
author MrJuneJune <me@mrjunejune.com>
date Sun, 02 Aug 2026 18:27:15 -0700
parents d27054a14579
children 38bd030ebea4
files mrjunejune/BUILD mrjunejune/generate_resume_pdf.sh mrjunejune/src/public/resume.pdf mrjunejune/src/resume.css mrjunejune/src/resume.pdf mrjunejune/src/resume/index.html mrjunejune/test/snapshots/resume.snapshot
diffstat 7 files changed, 238 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mrjunejune/BUILD	Sun Aug 02 16:50:49 2026 -0700
+++ b/mrjunejune/BUILD	Sun Aug 02 18:27:15 2026 -0700
@@ -1,5 +1,6 @@
 load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
 load("@rules_cc//cc:cc_library.bzl", "cc_library")
+load("@rules_shell//shell:sh_binary.bzl", "sh_binary")
 load("//gui_ze:gui_ze.bzl", "move_files_into_dir", "bundle")
 
 # Files
@@ -134,3 +135,14 @@
   name = "mrjunejune_server_debug_bundle",
   binary = ":mrjunejune_server_debug",
 )
+
+sh_binary(
+  name = "generate_resume_pdf",
+  srcs = ["generate_resume_pdf.sh"],
+  data = [
+    ":mrjunejune_server",
+    "@bazel_tools//tools/bash/runfiles",
+    "@playwright_chromium_linux//:chrome",
+    "@playwright_chromium_linux//:chromium",
+  ],
+)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mrjunejune/generate_resume_pdf.sh	Sun Aug 02 18:27:15 2026 -0700
@@ -0,0 +1,86 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+if [[ -n "${RUNFILES_DIR:-}" ]]; then
+  source "$RUNFILES_DIR/bazel_tools/tools/bash/runfiles/runfiles.bash"
+elif [[ -n "${RUNFILES_MANIFEST_FILE:-}" ]]; then
+  runfiles_library="$(
+    grep -sm1 '^bazel_tools/tools/bash/runfiles/runfiles.bash ' \
+      "$RUNFILES_MANIFEST_FILE" | cut -d' ' -f2-
+  )"
+  source "$runfiles_library"
+elif [[ -d "$0.runfiles" ]]; then
+  RUNFILES_DIR="$0.runfiles"
+  export RUNFILES_DIR
+  source "$RUNFILES_DIR/bazel_tools/tools/bash/runfiles/runfiles.bash"
+elif [[ -f "$0.runfiles_manifest" ]]; then
+  RUNFILES_MANIFEST_FILE="$0.runfiles_manifest"
+  export RUNFILES_MANIFEST_FILE
+  runfiles_library="$(
+    grep -sm1 '^bazel_tools/tools/bash/runfiles/runfiles.bash ' \
+      "$RUNFILES_MANIFEST_FILE" | cut -d' ' -f2-
+  )"
+  source "$runfiles_library"
+else
+  echo "Bazel runfiles are unavailable." >&2
+  exit 1
+fi
+
+workspace="${BUILD_WORKSPACE_DIRECTORY:-}"
+if [[ -z "$workspace" || ! -d "$workspace/.hg" ]]; then
+  echo "Run this target from the Zenbu workspace." >&2
+  exit 1
+fi
+
+server="$(rlocation _main/mrjunejune/mrjunejune_server)"
+browser="$(rlocation playwright_chromium_linux/chrome)"
+runfiles_workspace="$(dirname "$(dirname "$server")")"
+output="$workspace/mrjunejune/src/public/resume.pdf"
+source_copy="$workspace/mrjunejune/src/resume.pdf"
+temporary_pdf="$(mktemp --suffix=.pdf)"
+browser_profile="$(mktemp -d)"
+server_pid=""
+
+cleanup() {
+  trap - EXIT INT TERM
+  if [[ -n "$server_pid" ]] && kill -0 "$server_pid" 2>/dev/null; then
+    kill "$server_pid" 2>/dev/null || true
+    wait "$server_pid" 2>/dev/null || true
+  fi
+  rm -f "$temporary_pdf"
+  rm -rf "$browser_profile"
+}
+trap cleanup EXIT
+trap 'exit 130' INT TERM
+
+(
+  cd "$runfiles_workspace"
+  exec "$server"
+) &
+server_pid=$!
+
+for _ in $(seq 1 100); do
+  if curl --fail --silent --max-time 1 http://127.0.0.1:6969/resume >/dev/null; then
+    break
+  fi
+  if ! kill -0 "$server_pid" 2>/dev/null; then
+    echo "Personal-site server exited before PDF generation." >&2
+    exit 1
+  fi
+  sleep 0.1
+done
+
+curl --fail --silent --max-time 1 http://127.0.0.1:6969/resume >/dev/null
+"$browser" \
+  --headless \
+  --no-sandbox \
+  --disable-gpu \
+  --no-pdf-header-footer \
+  --user-data-dir="$browser_profile" \
+  --print-to-pdf="$temporary_pdf" \
+  http://127.0.0.1:6969/resume
+
+test -s "$temporary_pdf"
+install -m 0644 "$temporary_pdf" "$output"
+install -m 0644 "$temporary_pdf" "$source_copy"
+echo "Updated $output"
Binary file mrjunejune/src/public/resume.pdf has changed
--- a/mrjunejune/src/resume.css	Sun Aug 02 16:50:49 2026 -0700
+++ b/mrjunejune/src/resume.css	Sun Aug 02 18:27:15 2026 -0700
@@ -174,6 +174,88 @@
   flex-wrap: wrap;
 }
 
+@media print {
+  @page {
+    size: A4;
+    margin: 10mm 12mm;
+  }
+
+  html,
+  body {
+    background: #fff;
+    color: #111;
+    font-size: 9pt;
+    line-height: 1.25;
+  }
+
+  header,
+  footer,
+  #themeToggle,
+  .info > a,
+  .info > hr {
+    display: none !important;
+  }
+
+  main {
+    width: auto;
+    max-width: none;
+    margin: 0;
+    padding: 0;
+  }
+
+  a {
+    color: inherit;
+    text-decoration: none;
+  }
+
+  a::before {
+    display: none !important;
+  }
+
+  .header-firstname-style,
+  .header-lastname-style {
+    font-size: 20pt;
+  }
+
+  .header-social-style {
+    font-size: 8.5pt;
+    line-height: 1.3;
+  }
+
+  .sub-header {
+    margin-top: 8px;
+  }
+
+  .section-style {
+    font-size: 12pt;
+  }
+
+  .paragraph-style,
+  .skill-type-style,
+  .entry-title-style,
+  .entry-location-style,
+  .entry-position-style,
+  .entry-date-style,
+  .description-style {
+    font-size: 8.5pt;
+    line-height: 1.3;
+  }
+
+  .description-style {
+    margin: 2px 0 5px;
+    padding-left: 16px;
+    text-align: left;
+  }
+
+  .description-style li {
+    margin-bottom: 2px;
+  }
+
+  .flex-box {
+    gap: 6px;
+  }
+}
+
 /* Mobile responsive styles */
 @media (max-width: 720px) {
   .header-firstname-style,
Binary file mrjunejune/src/resume.pdf has changed
--- a/mrjunejune/src/resume/index.html	Sun Aug 02 16:50:49 2026 -0700
+++ b/mrjunejune/src/resume/index.html	Sun Aug 02 18:27:15 2026 -0700
@@ -2,6 +2,7 @@
 <html lang="en">
   <head>
     {{/parts/base_head.html}}
+    <title>Juntae Park Resume</title>
     <link rel="preload" href="resume.css" as="style" />
     <link rel="stylesheet" href="resume.css" />
   </head>
@@ -75,13 +76,37 @@
       </div>
       <div class="flex-box">
         <p class="entry-title-style">
+          <a href="https://www.microsoft.com/">Microsoft</a>
+        </p>
+        <p class="entry-location-style">United States</p>
+      </div>
+      <div class="flex-box">
+        <p class="entry-position-style">MEMBER OF TECHNICAL STAFF</p>
+        <p class="entry-date-style">Oct 7, 2025 - Present</p>
+      </div>
+      <ul class="description-style">
+        <li>
+          Served as an engineering leader for <a href="https://blogs.microsoft.com/blog/copilot-tasks/">Copilot Tasks</a>, helping bring agentic workflows from answers to actions for millions of users.
+        </li>
+        <li>
+          Served as a technical leader and foundational engineer for AIX Harness, the execution layer powering the <a href="https://www.cio.com/article/3977098/microsoft-doubles-down-on-multi-model-ai-as-it-builds-a-copilot-super-app.html">Copilot SuperApp</a> through agent orchestration, context management, and multi-model coordination.
+        </li>
+        <li>
+          Created the repository and led engineering for two core SuperApp tabs built natively on AIX Harness.
+        </li>
+        <li>
+          Helped lead the SuperApp codebase while delivering foundational infrastructure and product features across multiple codebases in nine months.
+        </li>
+      </ul>
+      <div class="flex-box">
+        <p class="entry-title-style">
           <a href="https://www.meta.com/">Meta</a>
         </p>
         <p class="entry-location-style">San Francisco, CA, USA</p>
       </div>
       <div class="flex-box">
         <p class="entry-position-style">SOFTWARE ENGINEER</p>
-        <p class="entry-date-style">Oct, 2024 - Present</p>
+        <p class="entry-date-style">Oct, 2024 - Oct, 2025</p>
       </div>
       <ul class="description-style">
         <li>
--- a/mrjunejune/test/snapshots/resume.snapshot	Sun Aug 02 16:50:49 2026 -0700
+++ b/mrjunejune/test/snapshots/resume.snapshot	Sun Aug 02 18:27:15 2026 -0700
@@ -3,7 +3,10 @@
   <head>
     <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="theme-color" content="#544e43">
 <link rel="icon" type="image/svg+xml" href="/public/epi_all_colors.svg">
+<link rel="manifest" href="/public/manifest.json">
+<link rel="apple-touch-icon" href="/public/epi_all_colors.svg">
 
 <link rel="preload" href="/public/fonts/Roboto-Regular.ttf" as="font"  crossorigin>
 <link rel="preload" href="/public/fonts/Roboto-Thin.ttf"as="font" crossorigin>
@@ -19,7 +22,10 @@
 <link rel="preload" href="/base.css" as="style" />
 <link rel="stylesheet" href="/base.css" />
 
+<script src="/public/pwa-register.js" defer></script>
 
+
+    <title>Juntae Park Resume</title>
     <link rel="preload" href="resume.css" as="style" />
     <link rel="stylesheet" href="resume.css" />
   </head>
@@ -182,7 +188,7 @@
             <a href="mailto:[email protected]">[email protected]</a>
           </div>
           <div>
-            <a href="https://www.linkedin.com/in/junepark"><svg width="12" height="12" fill="currentColor" class="bi bi-linkedin" viewBox="0 0 16 16">
+            <a href="https://www.linkedin.com/in/june-park-61721215b"><svg width="12" height="12" fill="currentColor" class="bi bi-linkedin" viewBox="0 0 16 16">
                <path d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854zm4.943 12.248V6.169H2.542v7.225zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248S2.4 3.226 2.4 3.934c0 .694.521 1.248 1.327 1.248zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016l.016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225z"/>
              </svg> June Park
             </a>
@@ -230,13 +236,37 @@
       </div>
       <div class="flex-box">
         <p class="entry-title-style">
+          <a href="https://www.microsoft.com/">Microsoft</a>
+        </p>
+        <p class="entry-location-style">United States</p>
+      </div>
+      <div class="flex-box">
+        <p class="entry-position-style">MEMBER OF TECHNICAL STAFF</p>
+        <p class="entry-date-style">Oct 7, 2025 - Present</p>
+      </div>
+      <ul class="description-style">
+        <li>
+          Served as an engineering leader for <a href="https://blogs.microsoft.com/blog/copilot-tasks/">Copilot Tasks</a>, helping bring agentic workflows from answers to actions for millions of users.
+        </li>
+        <li>
+          Served as a technical leader and foundational engineer for AIX Harness, the execution layer powering the <a href="https://www.cio.com/article/3977098/microsoft-doubles-down-on-multi-model-ai-as-it-builds-a-copilot-super-app.html">Copilot SuperApp</a> through agent orchestration, context management, and multi-model coordination.
+        </li>
+        <li>
+          Created the repository and led engineering for two core SuperApp tabs built natively on AIX Harness.
+        </li>
+        <li>
+          Helped lead the SuperApp codebase while delivering foundational infrastructure and product features across multiple codebases in nine months.
+        </li>
+      </ul>
+      <div class="flex-box">
+        <p class="entry-title-style">
           <a href="https://www.meta.com/">Meta</a>
         </p>
         <p class="entry-location-style">San Francisco, CA, USA</p>
       </div>
       <div class="flex-box">
         <p class="entry-position-style">SOFTWARE ENGINEER</p>
-        <p class="entry-date-style">Oct, 2024 - Present</p>
+        <p class="entry-date-style">Oct, 2024 - Oct, 2025</p>
       </div>
       <ul class="description-style">
         <li>