## Summary - Logged-out `/` is a public landing page. Signed-in `/` still opens chat. - Adds `/pricing/`, `/privacy/`, and `/changelog/`, plus header and footer links. - Primary path is **Create account** when registration is on, and an email **waitlist** when it is off. - Titles, canonicals, Organization and Product JSON-LD, `sitemap.xml`, `robots.txt`, and `llms.txt`. - Usage counts render only from `GET /api/public/usage/`. No avatars. No founder block. No testimonials. - Closes #113, #114, #115, and #116. Needs [chat_backend#75](https://git.aimloperations.com/ai_ml_operations/chat_backend/pulls) for the waitlist and usage API, and the server-infra crawler-file change so those root files are not the SPA shell. The account and document numbers in the screenshots come from a local mock of the usage API, not production. ## Screenshots ### Landing, registration off  ### Landing, mobile  ### Landing, registration on  ### Pricing  ### Privacy  ### Changelog  ### Sign in unchanged  ## Test plan - [x] `react-scripts test` — 234 passed - [ ] Incognito `/` shows the landing page, not Sign In - [ ] Signed-in `/` still opens chat - [ ] `/account/` still redirects to `/signin/` when logged out - [ ] Waitlist POST and usage GET against the new API - [ ] `/robots.txt`, `/sitemap.xml`, and `/llms.txt` return plain text, not HTML Reviewed-on: #117
85 lines
3.4 KiB
HTML
85 lines
3.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" sizes="any" />
|
|
<link rel="icon" type="image/png" sizes="32x32" href="%PUBLIC_URL%/favicon-32x32.png" />
|
|
<link rel="icon" type="image/png" sizes="16x16" href="%PUBLIC_URL%/favicon-16x16.png" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
<meta name="theme-color" content="#000000" />
|
|
<meta name="description" content="Hesychia is a calm AI assistant. Quiet, focused AI chat — private by default. $10/month from AI ML Operations, LLC." />
|
|
<meta name="application-name" content="Hesychia" />
|
|
<link rel="canonical" href="https://hesychia.ai/" />
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:title" content="Hesychia — quiet, focused AI chat" />
|
|
<meta property="og:description" content="Hesychia is a calm AI assistant. Quiet, focused AI chat — private by default. $10/month." />
|
|
<meta property="og:url" content="https://hesychia.ai/" />
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "Organization",
|
|
"name": "Hesychia",
|
|
"url": "https://hesychia.ai/",
|
|
"logo": "https://hesychia.ai/apple-touch-icon.png",
|
|
"parentOrganization": {
|
|
"@type": "Organization",
|
|
"name": "AI ML Operations, LLC",
|
|
"url": "https://www.aimloperations.com"
|
|
}
|
|
}
|
|
</script>
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "SoftwareApplication",
|
|
"name": "Hesychia",
|
|
"applicationCategory": "BusinessApplication",
|
|
"operatingSystem": "Web",
|
|
"url": "https://hesychia.ai/",
|
|
"description": "A calm AI assistant. Quiet, focused AI chat — private by default.",
|
|
"offers": {
|
|
"@type": "Offer",
|
|
"price": "10.00",
|
|
"priceCurrency": "USD"
|
|
},
|
|
"provider": {
|
|
"@type": "Organization",
|
|
"name": "AI ML Operations, LLC",
|
|
"url": "https://www.aimloperations.com"
|
|
}
|
|
}
|
|
</script>
|
|
<link rel="apple-touch-icon" sizes="180x180" href="%PUBLIC_URL%/apple-touch-icon.png" />
|
|
<!--
|
|
manifest.json provides metadata used when your web app is installed on a
|
|
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
|
-->
|
|
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
|
<!--
|
|
Notice the use of %PUBLIC_URL% in the tags above.
|
|
It will be replaced with the URL of the `public` folder during the build.
|
|
Only files inside the `public` folder can be referenced from the HTML.
|
|
|
|
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
|
|
work correctly both with client-side routing and a non-root public URL.
|
|
Learn how to configure a non-root public URL by running `npm run build`.
|
|
-->
|
|
<title>Hesychia — quiet, focused AI chat</title>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="root"></div>
|
|
<!--
|
|
This HTML file is a template.
|
|
If you open it directly in the browser, you will see an empty page.
|
|
|
|
You can add webfonts, meta tags, or analytics to this file.
|
|
The build step will place the bundled scripts into the <body> tag.
|
|
|
|
To begin the development, run `npm start` or `yarn start`.
|
|
To create a production bundle, use `npm run build` or `yarn build`.
|
|
-->
|
|
</body>
|
|
|
|
</html> |