VIIO is an experimental Astro landing page theme that uses interactive Three.js elements to create a distinct single-page site. It provides a minimal starting point where the index page and layout live in two editable files: src/pages/index.astro and src/layouts/Layout.astro. The theme is built for Astro, the static site generator, and ships with a standard npm workflow for development and production builds. A live preview is hosted at viio.pages.dev, and the project is maintained by a developer reachable at hi[at]hashemian.me.
What is VIIO?
VIIO is a landing page theme built with Astro and Three.js. It takes a minimal set of Astro files and produces a static landing page with interactive 3D visuals. The theme's documentation indicates that customization happens by editing the index page and the layout component. The project is distributed under a non-commercial license, meaning it can be used only for non-commercial purposes.
Key Features
- Astro-based — Built on the Astro static site generator, so the output is plain HTML and assets, deployable to any static host.
- Three.js integration — Includes interactive Three.js elements, giving the landing page 3D visuals without requiring a separate setup.
- Two-file customization — All content and layout changes happen in src/pages/index.astro and src/layouts/Layout.astro, keeping the learning curve small.
- Standard npm workflow — Use npm install to get started, npm run dev for local development, and npm run build to output the site to ./dist/.
- Live preview — The theme has a public preview at https://viio.pages.dev/ so you can see the behavior before installing.
- Non-commercial license — Free to use for non-commercial projects, but not for commercial or paid work.
Who is it for?
- Astro developers looking for a quick landing page starter that already includes Three.js, so they can skip the integration work.
- Creators and hobbyists who need a single-page site for a non-commercial project and want something visually experimental.
- Learners who want to study how Three.js can be embedded into Astro components, since the theme exposes the relevant files directly.
- Designers who prefer a minimal codebase and want to build a custom landing page without a full-featured framework.
What can you do with VIIO?
- Create a project landing page: Build a single-page site for an open-source or personal project, using the provided index and layout files to change text, links, and structure.
- Prototype interactive 3D marketing pages: Use the Three.js elements as a starting point to experiment with 3D visuals for a product or event page.
- Learn Astro and Three.js integration: Study the included .astro files to see how the 3D scene is wired into the page.
- Deploy a static site: Run npm run build to generate a ./dist/ directory ready for any static hosting service.
How does VIIO work?
Install dependencies with npm install, then run the development server with npm run dev to see the page locally. To customize, edit src/pages/index.astro for the page's content and src/layouts/Layout.astro for the overall layout, then build the production version with npm run build, which outputs the site to ./dist/.
FAQ
Is VIIO free?
Yes, VIIO is available for free, but its license restricts use to non-commercial purposes only. Commercial projects are not permitted under this license.
What frameworks does VIIO use?
VIIO uses Astro as its static site framework and Three.js for the interactive 3D elements. The theme's structure is built around Astro components, which are .astro files.
Can I use VIIO for a commercial project?
No. The theme's license states that it and all included components may be used for non-commercial purposes only. There is no commercial option mentioned in the documentation.
How do I customize the content of the theme?
You customize the theme by editing two files: src/pages/index.astro controls the page content, and src/layouts/Layout.astro controls the layout details. The documentation recommends these edits for changing links, content, and layout.
Does VIIO include a blog or additional pages?
Based on the provided documentation, VIIO is a single landing page theme. It does not document blog support or additional page templates. You would need to add those yourself.








