Vercel
tcp/443
GraphQL introspection is enabled.
This could leak to data leak if not properly configured.
Severity: medium
Fingerprint: c2db3a1c40d490db1a0bbaa3685e5cd824cba73cd99e588cf8cca35cf8cca35c
GraphQL introspection enabled at /graphql Types: 18 (by kind: ENUM: 2, OBJECT: 14, SCALAR: 2) Operations: - Query: Query | fields: me Directives: deprecated, include, oneOf, skip, specifiedBy (total: 5)
Open service 76.76.21.22:443 · cv.ptrcklehmann.com
2026-01-09 21:00
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 365127
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 102440
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Jan 2026 21:00:54 GMT
Etag: "e3266ede4f4556b85d9de7f79dd9e451"
Server: Vercel
Strict-Transport-Security: max-age=63072000
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch
X-Matched-Path: /
X-Nextjs-Prerender: 1
X-Nextjs-Stale-Time: 300
X-Vercel-Cache: HIT
X-Vercel-Id: sin1::fgg6q-1767992453898-d3059a7fca0b
Connection: close
Page title: Patrick Lehmann - ResumeLinkedIn
<!DOCTYPE html><html lang="en" class="__variable_c8f0e5 __variable_5a2c47"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/2827c87b8c01358e-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/424fd90f474e7e92-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/715c784fcb0702d4-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/728b260bd12fed00-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/a4ff206bb6fe11c5-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="stylesheet" href="/_next/static/css/6d2a9405e0acf5a1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5ee536b827e84562.js"/><script src="/_next/static/chunks/4bd1b696-4ff0514a2523e841.js" async=""></script><script src="/_next/static/chunks/684-59425da287492bb4.js" async=""></script><script src="/_next/static/chunks/main-app-d9794b1200c643e4.js" async=""></script><script src="/_next/static/chunks/app/layout-3535b34cebcb04e6.js" async=""></script><script src="/_next/static/chunks/791-2479e62ffcbdf0c8.js" async=""></script><script src="/_next/static/chunks/app/page-475eb89f09b17556.js" async=""></script><script src="/_next/static/chunks/app/global-error-77831c94ce6434a6.js" async=""></script><meta name="next-size-adjust" content=""/><title>Patrick Lehmann - Resume</title><meta name="description" content="Frontend Developer"/><meta property="og:title" content="Patrick Lehmann - Resume"/><meta property="og:description" content="Frontend Developer"/><meta property="og:url" content="https://cv.ptrcklehmann.com"/><meta property="og:site_name" content="Patrick Lehmann - Resume"/><meta property="og:locale" content="en_UK"/><meta property="og:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Patrick Lehmann's profile picture"/><meta property="og:type" content="profile"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Patrick Lehmann - Resume"/><meta name="twitter:description" content="Frontend Developer"/><meta name="twitter:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><link rel="apple-touch-icon" href="/apple-icon.png?7e6755ca3021a68d" type="image/png" sizes="180x180"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main role="main" class="relative container mx-auto scroll-my-12 overflow-auto p-4 md:p-16 print:p-8"><div class="sr-only"><h1>Patrick Lehmann<!-- -->'s Resume</h1></div><section class="mx-auto w-full max-w-3xl space-y-6 print:space-y-4" aria-label="Resume Content"><header role="banner" class="flex items-center justify-between"><div class="flex-1"><h1 class="text-muted-foreground my-0! text-3xl/none font-bold uppercase" id="resume-name">Patrick Lehmann</h1><p class="text-muted-foreground max-w-md text-sm text-pretty print:text-[12px]" aria-labelledby="resume-name">Frontend Developer</p><p class="mt-3 max-w-md items-center text-pretty text-xs text-foreground"><a class="inline-flex gap-x-1.5 align-baseline font-mono leading-none hover:underline" href="https://www.google.com/maps/place/Berlin,+Germany" target="_blank" rel="noopener noreferrer" aria-label="Location: Berlin, Germany CET"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe
Open service 66.33.60.35:443 · cv.ptrcklehmann.com
2026-01-09 01:02
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 293220
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 102440
Content-Type: text/html; charset=utf-8
Date: Fri, 09 Jan 2026 01:02:27 GMT
Etag: "e3266ede4f4556b85d9de7f79dd9e451"
Server: Vercel
Strict-Transport-Security: max-age=63072000
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch
X-Matched-Path: /
X-Nextjs-Prerender: 1
X-Nextjs-Stale-Time: 300
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::k5q48-1767920547335-d0e48f480708
Connection: close
Page title: Patrick Lehmann - ResumeLinkedIn
<!DOCTYPE html><html lang="en" class="__variable_c8f0e5 __variable_5a2c47"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/2827c87b8c01358e-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/424fd90f474e7e92-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/715c784fcb0702d4-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/728b260bd12fed00-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/a4ff206bb6fe11c5-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="stylesheet" href="/_next/static/css/6d2a9405e0acf5a1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5ee536b827e84562.js"/><script src="/_next/static/chunks/4bd1b696-4ff0514a2523e841.js" async=""></script><script src="/_next/static/chunks/684-59425da287492bb4.js" async=""></script><script src="/_next/static/chunks/main-app-d9794b1200c643e4.js" async=""></script><script src="/_next/static/chunks/app/layout-3535b34cebcb04e6.js" async=""></script><script src="/_next/static/chunks/791-2479e62ffcbdf0c8.js" async=""></script><script src="/_next/static/chunks/app/page-475eb89f09b17556.js" async=""></script><script src="/_next/static/chunks/app/global-error-77831c94ce6434a6.js" async=""></script><meta name="next-size-adjust" content=""/><title>Patrick Lehmann - Resume</title><meta name="description" content="Frontend Developer"/><meta property="og:title" content="Patrick Lehmann - Resume"/><meta property="og:description" content="Frontend Developer"/><meta property="og:url" content="https://cv.ptrcklehmann.com"/><meta property="og:site_name" content="Patrick Lehmann - Resume"/><meta property="og:locale" content="en_UK"/><meta property="og:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Patrick Lehmann's profile picture"/><meta property="og:type" content="profile"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Patrick Lehmann - Resume"/><meta name="twitter:description" content="Frontend Developer"/><meta name="twitter:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><link rel="apple-touch-icon" href="/apple-icon.png?7e6755ca3021a68d" type="image/png" sizes="180x180"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main role="main" class="relative container mx-auto scroll-my-12 overflow-auto p-4 md:p-16 print:p-8"><div class="sr-only"><h1>Patrick Lehmann<!-- -->'s Resume</h1></div><section class="mx-auto w-full max-w-3xl space-y-6 print:space-y-4" aria-label="Resume Content"><header role="banner" class="flex items-center justify-between"><div class="flex-1"><h1 class="text-muted-foreground my-0! text-3xl/none font-bold uppercase" id="resume-name">Patrick Lehmann</h1><p class="text-muted-foreground max-w-md text-sm text-pretty print:text-[12px]" aria-labelledby="resume-name">Frontend Developer</p><p class="mt-3 max-w-md items-center text-pretty text-xs text-foreground"><a class="inline-flex gap-x-1.5 align-baseline font-mono leading-none hover:underline" href="https://www.google.com/maps/place/Berlin,+Germany" target="_blank" rel="noopener noreferrer" aria-label="Location: Berlin, Germany CET"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe
Open service 66.33.60.35:443 · cv.ptrcklehmann.com
2026-01-02 03:35
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 2460194
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 102440
Content-Type: text/html; charset=utf-8
Date: Fri, 02 Jan 2026 03:35:55 GMT
Etag: "e3266ede4f4556b85d9de7f79dd9e451"
Server: Vercel
Strict-Transport-Security: max-age=63072000
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch
X-Matched-Path: /
X-Nextjs-Prerender: 1
X-Nextjs-Stale-Time: 300
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::jzjcq-1767324955963-224a8cf2e614
Connection: close
Page title: Patrick Lehmann - ResumeLinkedIn
<!DOCTYPE html><html lang="en" class="__variable_c8f0e5 __variable_5a2c47"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/2827c87b8c01358e-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/424fd90f474e7e92-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/715c784fcb0702d4-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/728b260bd12fed00-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/a4ff206bb6fe11c5-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="stylesheet" href="/_next/static/css/6d2a9405e0acf5a1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5ee536b827e84562.js"/><script src="/_next/static/chunks/4bd1b696-4ff0514a2523e841.js" async=""></script><script src="/_next/static/chunks/684-59425da287492bb4.js" async=""></script><script src="/_next/static/chunks/main-app-d9794b1200c643e4.js" async=""></script><script src="/_next/static/chunks/app/layout-3535b34cebcb04e6.js" async=""></script><script src="/_next/static/chunks/791-2479e62ffcbdf0c8.js" async=""></script><script src="/_next/static/chunks/app/page-475eb89f09b17556.js" async=""></script><script src="/_next/static/chunks/app/global-error-77831c94ce6434a6.js" async=""></script><meta name="next-size-adjust" content=""/><title>Patrick Lehmann - Resume</title><meta name="description" content="Frontend Developer"/><meta property="og:title" content="Patrick Lehmann - Resume"/><meta property="og:description" content="Frontend Developer"/><meta property="og:url" content="https://cv.ptrcklehmann.com"/><meta property="og:site_name" content="Patrick Lehmann - Resume"/><meta property="og:locale" content="en_UK"/><meta property="og:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Patrick Lehmann's profile picture"/><meta property="og:type" content="profile"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Patrick Lehmann - Resume"/><meta name="twitter:description" content="Frontend Developer"/><meta name="twitter:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><link rel="apple-touch-icon" href="/apple-icon.png?7e6755ca3021a68d" type="image/png" sizes="180x180"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main role="main" class="relative container mx-auto scroll-my-12 overflow-auto p-4 md:p-16 print:p-8"><div class="sr-only"><h1>Patrick Lehmann<!-- -->'s Resume</h1></div><section class="mx-auto w-full max-w-3xl space-y-6 print:space-y-4" aria-label="Resume Content"><header role="banner" class="flex items-center justify-between"><div class="flex-1"><h1 class="text-muted-foreground my-0! text-3xl/none font-bold uppercase" id="resume-name">Patrick Lehmann</h1><p class="text-muted-foreground max-w-md text-sm text-pretty print:text-[12px]" aria-labelledby="resume-name">Frontend Developer</p><p class="mt-3 max-w-md items-center text-pretty text-xs text-foreground"><a class="inline-flex gap-x-1.5 align-baseline font-mono leading-none hover:underline" href="https://www.google.com/maps/place/Berlin,+Germany" target="_blank" rel="noopener noreferrer" aria-label="Location: Berlin, Germany CET"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe
Open service 66.33.60.35:443 · cv.ptrcklehmann.com
2025-12-30 10:52
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 2227201
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 102440
Content-Type: text/html; charset=utf-8
Date: Tue, 30 Dec 2025 10:52:42 GMT
Etag: "e3266ede4f4556b85d9de7f79dd9e451"
Server: Vercel
Strict-Transport-Security: max-age=63072000
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch
X-Matched-Path: /
X-Nextjs-Prerender: 1
X-Nextjs-Stale-Time: 300
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::l68lw-1767091962366-bbf367236985
Connection: close
Page title: Patrick Lehmann - ResumeLinkedIn
<!DOCTYPE html><html lang="en" class="__variable_c8f0e5 __variable_5a2c47"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/2827c87b8c01358e-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/424fd90f474e7e92-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/715c784fcb0702d4-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/728b260bd12fed00-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/a4ff206bb6fe11c5-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="stylesheet" href="/_next/static/css/6d2a9405e0acf5a1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5ee536b827e84562.js"/><script src="/_next/static/chunks/4bd1b696-4ff0514a2523e841.js" async=""></script><script src="/_next/static/chunks/684-59425da287492bb4.js" async=""></script><script src="/_next/static/chunks/main-app-d9794b1200c643e4.js" async=""></script><script src="/_next/static/chunks/app/layout-3535b34cebcb04e6.js" async=""></script><script src="/_next/static/chunks/791-2479e62ffcbdf0c8.js" async=""></script><script src="/_next/static/chunks/app/page-475eb89f09b17556.js" async=""></script><script src="/_next/static/chunks/app/global-error-77831c94ce6434a6.js" async=""></script><meta name="next-size-adjust" content=""/><title>Patrick Lehmann - Resume</title><meta name="description" content="Frontend Developer"/><meta property="og:title" content="Patrick Lehmann - Resume"/><meta property="og:description" content="Frontend Developer"/><meta property="og:url" content="https://cv.ptrcklehmann.com"/><meta property="og:site_name" content="Patrick Lehmann - Resume"/><meta property="og:locale" content="en_UK"/><meta property="og:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Patrick Lehmann's profile picture"/><meta property="og:type" content="profile"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Patrick Lehmann - Resume"/><meta name="twitter:description" content="Frontend Developer"/><meta name="twitter:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><link rel="apple-touch-icon" href="/apple-icon.png?7e6755ca3021a68d" type="image/png" sizes="180x180"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main role="main" class="relative container mx-auto scroll-my-12 overflow-auto p-4 md:p-16 print:p-8"><div class="sr-only"><h1>Patrick Lehmann<!-- -->'s Resume</h1></div><section class="mx-auto w-full max-w-3xl space-y-6 print:space-y-4" aria-label="Resume Content"><header role="banner" class="flex items-center justify-between"><div class="flex-1"><h1 class="text-muted-foreground my-0! text-3xl/none font-bold uppercase" id="resume-name">Patrick Lehmann</h1><p class="text-muted-foreground max-w-md text-sm text-pretty print:text-[12px]" aria-labelledby="resume-name">Frontend Developer</p><p class="mt-3 max-w-md items-center text-pretty text-xs text-foreground"><a class="inline-flex gap-x-1.5 align-baseline font-mono leading-none hover:underline" href="https://www.google.com/maps/place/Berlin,+Germany" target="_blank" rel="noopener noreferrer" aria-label="Location: Berlin, Germany CET"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe
Open service 66.33.60.35:443 · cv.ptrcklehmann.com
2025-12-22 16:12
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 1555203
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 102440
Content-Type: text/html; charset=utf-8
Date: Mon, 22 Dec 2025 16:12:44 GMT
Etag: "e3266ede4f4556b85d9de7f79dd9e451"
Server: Vercel
Strict-Transport-Security: max-age=63072000
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch
X-Matched-Path: /
X-Nextjs-Prerender: 1
X-Nextjs-Stale-Time: 300
X-Vercel-Cache: HIT
X-Vercel-Id: fra1::n2cfz-1766419964790-8260b966611c
Connection: close
Page title: Patrick Lehmann - ResumeLinkedIn
<!DOCTYPE html><html lang="en" class="__variable_c8f0e5 __variable_5a2c47"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/2827c87b8c01358e-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/424fd90f474e7e92-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/715c784fcb0702d4-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/728b260bd12fed00-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/a4ff206bb6fe11c5-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="stylesheet" href="/_next/static/css/6d2a9405e0acf5a1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5ee536b827e84562.js"/><script src="/_next/static/chunks/4bd1b696-4ff0514a2523e841.js" async=""></script><script src="/_next/static/chunks/684-59425da287492bb4.js" async=""></script><script src="/_next/static/chunks/main-app-d9794b1200c643e4.js" async=""></script><script src="/_next/static/chunks/app/layout-3535b34cebcb04e6.js" async=""></script><script src="/_next/static/chunks/791-2479e62ffcbdf0c8.js" async=""></script><script src="/_next/static/chunks/app/page-475eb89f09b17556.js" async=""></script><script src="/_next/static/chunks/app/global-error-77831c94ce6434a6.js" async=""></script><meta name="next-size-adjust" content=""/><title>Patrick Lehmann - Resume</title><meta name="description" content="Frontend Developer"/><meta property="og:title" content="Patrick Lehmann - Resume"/><meta property="og:description" content="Frontend Developer"/><meta property="og:url" content="https://cv.ptrcklehmann.com"/><meta property="og:site_name" content="Patrick Lehmann - Resume"/><meta property="og:locale" content="en_UK"/><meta property="og:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Patrick Lehmann's profile picture"/><meta property="og:type" content="profile"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Patrick Lehmann - Resume"/><meta name="twitter:description" content="Frontend Developer"/><meta name="twitter:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><link rel="apple-touch-icon" href="/apple-icon.png?7e6755ca3021a68d" type="image/png" sizes="180x180"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main role="main" class="relative container mx-auto scroll-my-12 overflow-auto p-4 md:p-16 print:p-8"><div class="sr-only"><h1>Patrick Lehmann<!-- -->'s Resume</h1></div><section class="mx-auto w-full max-w-3xl space-y-6 print:space-y-4" aria-label="Resume Content"><header role="banner" class="flex items-center justify-between"><div class="flex-1"><h1 class="text-muted-foreground my-0! text-3xl/none font-bold uppercase" id="resume-name">Patrick Lehmann</h1><p class="text-muted-foreground max-w-md text-sm text-pretty print:text-[12px]" aria-labelledby="resume-name">Frontend Developer</p><p class="mt-3 max-w-md items-center text-pretty text-xs text-foreground"><a class="inline-flex gap-x-1.5 align-baseline font-mono leading-none hover:underline" href="https://www.google.com/maps/place/Berlin,+Germany" target="_blank" rel="noopener noreferrer" aria-label="Location: Berlin, Germany CET"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe
Open service 66.33.60.35:443 · cv.ptrcklehmann.com
2025-12-20 16:46
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 1384418
Cache-Control: public, max-age=0, must-revalidate
Content-Disposition: inline
Content-Length: 102440
Content-Type: text/html; charset=utf-8
Date: Sat, 20 Dec 2025 16:46:19 GMT
Etag: "e3266ede4f4556b85d9de7f79dd9e451"
Server: Vercel
Strict-Transport-Security: max-age=63072000
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Router-Segment-Prefetch
X-Matched-Path: /
X-Nextjs-Prerender: 1
X-Nextjs-Stale-Time: 300
X-Vercel-Cache: HIT
X-Vercel-Id: iad1::kfjmz-1766249179243-ac6bffd9adc3
Connection: close
Page title: Patrick Lehmann - ResumeLinkedIn
<!DOCTYPE html><html lang="en" class="__variable_c8f0e5 __variable_5a2c47"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/2827c87b8c01358e-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/424fd90f474e7e92-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/715c784fcb0702d4-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/728b260bd12fed00-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="preload" href="/_next/static/media/a4ff206bb6fe11c5-s.p.woff" as="font" crossorigin="" type="font/woff"/><link rel="stylesheet" href="/_next/static/css/6d2a9405e0acf5a1.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-5ee536b827e84562.js"/><script src="/_next/static/chunks/4bd1b696-4ff0514a2523e841.js" async=""></script><script src="/_next/static/chunks/684-59425da287492bb4.js" async=""></script><script src="/_next/static/chunks/main-app-d9794b1200c643e4.js" async=""></script><script src="/_next/static/chunks/app/layout-3535b34cebcb04e6.js" async=""></script><script src="/_next/static/chunks/791-2479e62ffcbdf0c8.js" async=""></script><script src="/_next/static/chunks/app/page-475eb89f09b17556.js" async=""></script><script src="/_next/static/chunks/app/global-error-77831c94ce6434a6.js" async=""></script><meta name="next-size-adjust" content=""/><title>Patrick Lehmann - Resume</title><meta name="description" content="Frontend Developer"/><meta property="og:title" content="Patrick Lehmann - Resume"/><meta property="og:description" content="Frontend Developer"/><meta property="og:url" content="https://cv.ptrcklehmann.com"/><meta property="og:site_name" content="Patrick Lehmann - Resume"/><meta property="og:locale" content="en_UK"/><meta property="og:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Patrick Lehmann's profile picture"/><meta property="og:type" content="profile"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Patrick Lehmann - Resume"/><meta name="twitter:description" content="Frontend Developer"/><meta name="twitter:image" content="https://cv.ptrcklehmann.com/opengraph-image"/><link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="48x48"/><link rel="apple-touch-icon" href="/apple-icon.png?7e6755ca3021a68d" type="image/png" sizes="180x180"/><script>document.querySelectorAll('body link[rel="icon"], body link[rel="apple-touch-icon"]').forEach(el => document.head.appendChild(el))</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><main role="main" class="relative container mx-auto scroll-my-12 overflow-auto p-4 md:p-16 print:p-8"><div class="sr-only"><h1>Patrick Lehmann<!-- -->'s Resume</h1></div><section class="mx-auto w-full max-w-3xl space-y-6 print:space-y-4" aria-label="Resume Content"><header role="banner" class="flex items-center justify-between"><div class="flex-1"><h1 class="text-muted-foreground my-0! text-3xl/none font-bold uppercase" id="resume-name">Patrick Lehmann</h1><p class="text-muted-foreground max-w-md text-sm text-pretty print:text-[12px]" aria-labelledby="resume-name">Frontend Developer</p><p class="mt-3 max-w-md items-center text-pretty text-xs text-foreground"><a class="inline-flex gap-x-1.5 align-baseline font-mono leading-none hover:underline" href="https://www.google.com/maps/place/Berlin,+Germany" target="_blank" rel="noopener noreferrer" aria-label="Location: Berlin, Germany CET"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe