82e5378658
The app is in active development, not yet public — replace the "Launch app" CTAs with a "Private beta — coming soon" state (nav, hero, and final CTA). Add a "Built by" section crediting the team, each name linking to their LinkedIn, plus JSON-LD SoftwareApplication + Person author markup, an author meta tag, and a canonical link for name/entity SEO. Team: Karti Tripathi, Ramis Hasanli, Yahya Alhinai, Shakthi Bachala. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
98 lines
4.0 KiB
HTML
98 lines
4.0 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<meta name="theme-color" content="#0b0f17" />
|
||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||
<title>PodMan — the teammate that sees what git can’t</title>
|
||
<meta
|
||
name="description"
|
||
content="PodMan is an ambient AI teammate that watches your pod's screens in realtime and catches merge collisions before anyone pushes. Top 3 at the AI Engineer World's Fair 2026 Hackathon — built by Karti Tripathi, Ramis Hasanli, Yahya Alhinai, and Shakthi Bachala."
|
||
/>
|
||
<meta name="author" content="Karti Tripathi, Ramis Hasanli, Yahya Alhinai, Shakthi Bachala" />
|
||
<link rel="canonical" href="https://podman.live/" />
|
||
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:site_name" content="PodMan" />
|
||
<meta property="og:url" content="https://www.podman.live/" />
|
||
<meta property="og:title" content="PodMan — the teammate that sees what git can’t" />
|
||
<meta
|
||
property="og:description"
|
||
content="Ambient AI teammate that watches your pod's screens in realtime and catches merge collisions before anyone pushes."
|
||
/>
|
||
<meta property="og:image" content="https://www.podman.live/og.png" />
|
||
<meta property="og:image:width" content="1200" />
|
||
<meta property="og:image:height" content="630" />
|
||
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:title" content="PodMan — the teammate that sees what git can’t" />
|
||
<meta
|
||
name="twitter:description"
|
||
content="Ambient AI teammate that catches merge collisions before anyone pushes."
|
||
/>
|
||
<meta name="twitter:image" content="https://www.podman.live/og.png" />
|
||
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "SoftwareApplication",
|
||
"name": "PodMan",
|
||
"url": "https://podman.live",
|
||
"applicationCategory": "DeveloperApplication",
|
||
"operatingSystem": "Web",
|
||
"description": "An ambient AI teammate that watches your pod's screens in realtime and catches merge collisions, duplicated work, and missed handoffs before anyone pushes.",
|
||
"award": "Top 3 — AI Engineer World's Fair 2026 Hackathon (2nd overall of 95+ teams, LiveKit track winner, DigitalOcean Best Use)",
|
||
"author": [
|
||
{
|
||
"@type": "Person",
|
||
"name": "Karti Tripathi",
|
||
"url": "https://karti.ai",
|
||
"sameAs": "https://www.linkedin.com/in/kartitripathi/"
|
||
},
|
||
{
|
||
"@type": "Person",
|
||
"name": "Ramis Hasanli",
|
||
"sameAs": "https://www.linkedin.com/in/hasanliramis/"
|
||
},
|
||
{
|
||
"@type": "Person",
|
||
"name": "Yahya Alhinai",
|
||
"sameAs": "https://www.linkedin.com/in/yhinai/"
|
||
},
|
||
{
|
||
"@type": "Person",
|
||
"name": "Shakthi Bachala",
|
||
"sameAs": "https://www.linkedin.com/in/shakthi-bachala-09401510a/"
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
|
||
<script>
|
||
// Tear down any service worker we shipped earlier (vite-plugin-pwa).
|
||
// PodMan runs no PWA in production: we deploy continuously and SW-driven
|
||
// reloads break the live demo. This unregisters leftover workers and
|
||
// clears their caches on every load so previously-affected browsers
|
||
// self-heal — no manual DevTools needed. It does NOT reload the page and
|
||
// is a no-op once nothing is registered.
|
||
if ('serviceWorker' in navigator) {
|
||
navigator.serviceWorker
|
||
.getRegistrations()
|
||
.then((regs) => regs.forEach((r) => r.unregister()))
|
||
.catch(() => {});
|
||
if (window.caches && caches.keys) {
|
||
caches
|
||
.keys()
|
||
.then((keys) => keys.forEach((k) => caches.delete(k)))
|
||
.catch(() => {});
|
||
}
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<div id="root"></div>
|
||
<script type="module" src="/src/main.tsx"></script>
|
||
</body>
|
||
</html>
|