The next round: four new sculpture openings →
An Astro starting point
A place for working ideas.
Research, writing, and experiments people can explore. Make a little space on the web for yours.
Interactive sculpture loads when visible.
Fold study · live geometryHow this opening was made ↗
Static ribbon study · the live field loads when visible.
An Astro starting point
A place for working ideas.
a small change, a different pattern
Research, writing, and experiments people can explore. Make a little space on the web for yours.
Ink currents · live fragment shaderHow this opening was made ↗

An Astro starting point
A place for working ideas.
leave room for the next question ↗
Research, writing, and experiments people can explore. Make a little space on the web for yours.
Working surface · AI-generated illustrationImage and process notes ↗
Now, show the working
The interesting part
is what you make.
Write an article. Drop in a dataset. Let a reader turn a model over. Alkemist brings the useful pieces together, so your subject can take the lead.
Synthetic dataset · line
A signal finding its quiet
A synthetic damped oscillator. Explore the data at any scale.
Data table
The table loads alongside the chart.
Show sourceoscillation.csv
---
import AlkChart from '@alkemist/ui/AlkChart.astro';
---
<AlkChart
src="/test/oscillation.csv"
type="line"
x="time"
y="position"
title="A signal finding its quiet"
description="A synthetic damped oscillator. Explore the data at any scale."
xLabel="Time (s)"
yLabel="Position (m)"
height={170}
grid={true}
sample={true}
/>The CSV is included with this demo. Use your own URL and column names.
3D model · glTF 2.0
A knot, from every angle
An Alkemist-generated specimen. Uncompressed GLB / glTF 2.0.
Show sourcetorus-knot.glb
---
import AlkModel from '@alkemist/ui/AlkModel.astro';
---
<AlkModel
src="/test/torus-knot.glb"
title="A knot, from every angle"
poster="/test/torus-knot.svg"
description="An Alkemist-generated specimen. Uncompressed GLB / glTF 2.0."
/>The model is included with this demo. This viewer supports uncompressed GLB and glTF; NeRF and splat viewers are planned.
Mathematical writing
An equation you can explore.
AlkMath renders the equation; this small site widget draws the signal.
Show equation sourcesignal.astro
---
import AlkMath from '@alkemist/ui/AlkMath.astro';
---
<AlkMath
tex={"s_\\omega(t)=\\sin(\\omega t)"}
label="A family of signals, one parameter."
/>This source renders the equation. The slider and SVG plot are ordinary site-owned HTML and TypeScript.
Start using Alkemist
Choose your hosting provider, then copy the setup instructions.
Connect your Git repository. Main publishes your site; other branches get previews.
Use GitLab CI for Pages. The starter deploys main and checks other branches; parallel previews need a paid GitLab tier.
Build ordinary static files. Keep your provider’s deployment command, domain, and preview setup in your own repository.
Use Node 24.20.0. Choose an empty destination for your new site.
git clone https://github.com/alkemdev/alkemist.git alkemist-source
cd alkemist-source
npm ci
npm run create:site -- ../my-lab --provider cloudflare
cd ../my-lab
npm install
npm run verify
npm run devgit clone https://github.com/alkemdev/alkemist.git alkemist-source
cd alkemist-source
npm ci
npm run create:site -- ../my-lab --provider gitlab
cd ../my-lab
npm install
npm run verify
npm run devgit clone https://github.com/alkemdev/alkemist.git alkemist-source
cd alkemist-source
npm ci
npm run create:site -- ../my-lab --provider custom
cd ../my-lab
npm install
npm run verify
npm run devDesign review / stays in Labs
Which opening feels right?
The same type, inks, and practical content sit beneath each take. Choose the first impression, then tune the details.
My starting point: A, Sculpture. It invites interaction and feels connected to what you can publish. C is the quieter, more tactile alternative.
Compare the earlier homepage layouts →