Official open-source website for Alkinum, an organization fusing code with creativity to spark digital alchemy.
The site is a full-viewport Astro experience with a Svelte and Three.js interactive rendering of the Alkinum mark.
- Server-rendered, crawlable Astro HTML
- Svelte-powered navigation and About drawer
- Three.js sphere model based on the official GitHub organization icon
- Off-main-thread Three.js and procedural grain rendering with OffscreenCanvas
- Responsive desktop and mobile composition
- Fine, low-saturation procedural color film grain with no repeating motion path
- Open Graph, Twitter Card, JSON-LD, sitemap, robots, and canonical metadata
- Cloudflare Workers Static Assets deployment and GitHub Actions workflow
- Astro 7
- Svelte 5
- Three.js
- TypeScript
- Cloudflare Workers Static Assets and Wrangler
Node.js 24 or newer is recommended.
npm install
npm run devThe Astro development server is available at http://localhost:4321 by default.
| Command | Purpose |
|---|---|
npm run dev |
Start the Astro development server |
npm run build |
Type-check and build the production site |
npm run preview |
Preview the Astro production build |
npm run format |
Format project files |
npm run cloudflare:whoami |
Verify Cloudflare authentication |
npm run cloudflare:dev |
Run the production output in the local Workers runtime |
npm run cloudflare:deploy |
Build and deploy to Cloudflare Workers |
The final site is intended to be served directly from both root domains:
https://alkinum.iohttps://alkinum.com
Both domains are configured as Custom Domains for the same alkinum-official-site Worker. Cloudflare creates and manages their DNS records and certificates. No domain redirect is configured. alkinum.io remains the canonical SEO URL so search engines treat both hosts as one site.
The generated sitemap and structured data also use https://alkinum.io as the canonical origin.
The project is configured through wrangler.jsonc. Account identifiers and credentials are intentionally excluded from the repository.
Authenticate once:
npm run cloudflare:whoami
npx wrangler loginSelect the deployment account at runtime without writing it to a tracked file:
export CLOUDFLARE_ACCOUNT_ID="your-account-id"Preview the production output locally:
npm run cloudflare:devDeploy:
npm run cloudflare:deployThe wrangler.jsonc file deploys dist/ through Workers Static Assets with nearest 404.html handling. Its Custom Domain routes attach both alkinum.io and alkinum.com directly, while _headers configures security headers and long-lived caching for hashed assets.
For CI, add CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID to the GitHub repository secrets. The token needs Account Read, Workers Scripts Edit, and Workers Routes Edit permissions. The included workflow builds every push to main and deploys when both secrets are available.
src/components/Experience.svelte Interactive Svelte UI
src/lib/ Rendering controllers and Three.js scene
src/workers/ OffscreenCanvas rendering workers
src/layouts/BaseLayout.astro Shared SEO and document metadata
src/pages/index.astro Home page and structured data
src/pages/404.astro Custom noindex error page
public/ Static assets, headers, robots, and manifest
The production UI is server-rendered so core content remains visible before JavaScript loads. Three.js shader compilation and continuously randomized grain generation run in workers on supported browsers, keeping the main thread available for navigation and drawer interactions. Browsers without OffscreenCanvas use a dynamically loaded fallback.
Issues and pull requests are welcome. Keep changes focused, preserve accessibility and responsive behavior, and run the following before submitting:
npm run format
npm run buildCopyright (c) 2026 Alkinum.
The source code and repository-owned site assets are released under the MIT License. Third-party packages remain under their respective licenses.