Skip to content

Commit cbed759

Browse files
committed
feat(landing): add the openscience.sh marketing site source
Standalone Vite + React + Tailwind project behind openscience.sh. Kept out of the bun workspace so its deps stay isolated. Single-file page (Landing.tsx) with real workspace screenshots and the public install script served at /install.
1 parent 1f8cbee commit cbed759

24 files changed

Lines changed: 2685 additions & 0 deletions

frontend/landing/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
dist
3+
.vercel

frontend/landing/README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# landing
2+
3+
Marketing site for OpenScience — the source behind [openscience.sh](https://openscience.sh).
4+
5+
Standalone Vite + React + Tailwind project (not part of the monorepo bun
6+
workspace, so its deps stay isolated). The whole page is one file:
7+
`src/pages/Landing.tsx`, styled by `src/index.css` (warm-dark palette,
8+
self-hosted CMU Concrete, dither/grain/atmosphere utilities, scroll reveals).
9+
10+
```bash
11+
bun install
12+
bun run dev # local preview
13+
bun run build # production build → dist/
14+
```
15+
16+
`public/install` is served at `openscience.sh/install`, so
17+
`curl -fsSL https://openscience.sh/install | bash` works. Screenshots in
18+
`src/assets/` are captured from the real workspace UI.
19+
20+
Deployed via Vercel (project `openscience-landing-page`, which owns the
21+
`openscience.sh` domain): `vercel deploy --prod`.

frontend/landing/bun.lock

Lines changed: 356 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/landing/index.html

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6+
<title>OpenScience. The open-source AI workbench for scientific research.</title>
7+
<meta name="description" content="Literature, code, experiments, and the write-up, in one place. Runs in your browser, on any model, with your keys. Open source, Apache 2.0." />
8+
<meta name="author" content="Synthetic Sciences" />
9+
<meta name="theme-color" content="#14110d" />
10+
<link rel="canonical" href="https://openscience.sh/" />
11+
12+
<meta property="og:type" content="website" />
13+
<meta property="og:title" content="OpenScience. The open-source AI workbench for scientific research." />
14+
<meta property="og:description" content="Literature, code, experiments, and the write-up, in one place. Open source and model-agnostic, on your keys." />
15+
<meta property="og:url" content="https://openscience.sh" />
16+
<meta property="og:site_name" content="OpenScience" />
17+
<meta property="og:image" content="https://openscience.sh/og.png" />
18+
<meta property="og:image:secure_url" content="https://openscience.sh/og.png" />
19+
<meta property="og:image:type" content="image/png" />
20+
<meta property="og:image:width" content="1200" />
21+
<meta property="og:image:height" content="630" />
22+
<meta property="og:image:alt" content="OpenScience. The open-source AI workbench for scientific research." />
23+
<meta name="twitter:card" content="summary_large_image" />
24+
<meta name="twitter:title" content="OpenScience. The open-source AI workbench for scientific research." />
25+
<meta name="twitter:description" content="Literature, code, experiments, and the write-up, in one place. On any model, with your keys." />
26+
<meta name="twitter:image" content="https://openscience.sh/og.png" />
27+
<meta name="twitter:image:alt" content="OpenScience. The open-source AI workbench for scientific research." />
28+
<meta name="twitter:site" content="@SynScience" />
29+
30+
<link rel="preconnect" href="https://fonts.googleapis.com" />
31+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
32+
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
33+
34+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
35+
</head>
36+
<body>
37+
<div id="root"></div>
38+
<script type="module" src="/src/main.tsx"></script>
39+
</body>
40+
</html>

frontend/landing/package.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"name": "openscience-landing",
3+
"private": true,
4+
"version": "1.0.0",
5+
"type": "module",
6+
"scripts": {
7+
"dev": "vite",
8+
"build": "vite build",
9+
"preview": "vite preview"
10+
},
11+
"dependencies": {
12+
"@vercel/analytics": "^2.0.1",
13+
"react": "^18.3.1",
14+
"react-dom": "^18.3.1"
15+
},
16+
"devDependencies": {
17+
"@types/node": "^22.16.5",
18+
"@types/react": "^18.3.23",
19+
"@types/react-dom": "^18.3.7",
20+
"@vitejs/plugin-react-swc": "^3.11.0",
21+
"autoprefixer": "^10.4.21",
22+
"postcss": "^8.5.6",
23+
"tailwindcss": "^3.4.17",
24+
"typescript": "^5.8.3",
25+
"vite": "^5.4.19"
26+
}
27+
}

frontend/landing/postcss.config.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export default {
2+
plugins: {
3+
tailwindcss: {},
4+
autoprefixer: {},
5+
},
6+
};
Lines changed: 17 additions & 0 deletions
Loading
104 KB
Binary file not shown.
106 KB
Binary file not shown.

0 commit comments

Comments
 (0)