Currently, custom apps are created using React. Is there a roadmap to allow Vue also? Or can we create custom apps in Vue right now?
I tested it and this is what Claude as a conclusion: Fibery custom apps can be written in Vue, even though Fiberyâs platform is built around React and builds every app with its own fixed, React-oriented setup. Fiberyâs build canât read Vueâs single-file .vue components, so the simplest option is to write components as plain TypeScript with HTML template strings, which Vue compiles in the browser. For full .vue support, you compile them yourself before uploading, using Vueâs official compiler, so Fibery only ever receives ordinary TypeScript and CSS it can build. That compile step runs on your own computer and needs Node.js installed, but once itâs part of the upload script, writing and deploying Vue apps works the same as for React.
A few limits remain:
- Fiberyâs build setup stays fixed. You canât add other Vite plugins, such as auto-imports, Vue JSX or Vue-specific i18n tooling, unless your own pre-compile step does that work too.
- Fiberyâs ready-made UI pieces are React. Its rich-text editor, for example, is a React component, so using it in a Vue app means mounting a bit of React just for that part.
- Fiberyâs built-in AI app builder expects React. It canât help with a Vue app and may try to rewrite it.
- The app runs embedded inside Fibery. Thatâs true for any framework, and it means browser tools like Vue Devtools may not connect as easily as on a standalone site.
So you get all of Vue itself, but not Fiberyâs React-specific extras or a customizable build.
My conversation with Claude to make this app and ask about Vue.js support and limitations.
Me: can you create a simple app in the volcano workspace about volcanoes with vue.js?
Claude: Fiberyâs app template is React + Vite, so Iâm extending the deploy setup to swap in Vue. Next Iâll check the Volcano schema and the tool that creates apps.
Created the âVolcano Explorerâ app in the Volcanoes space and taught deploy.py to swap React for Vue. Now writing the Vue sources.
The first build failed: Fibery ignored my Vue build config. Iâm checking Fiberyâs dev guide to see which files it controls.
Fiberyâs guide says vite.config.ts is platform-owned, so the Vue SFC plugin canât be added. Iâm switching to Vueâs in-browser template compiler, which needs no build plugin.
The build succeeded. Leftover files from the failed first attempt are still on the server, so Iâm redeploying once to remove them.
Deployed. Now checking it in the browser.
The browser pane isnât signed in to Fibery, and I canât sign in for you. Instead Iâll run the appâs exact query through the Fibery connector to confirm the data side works.
Data shape matches what the app expects. Saving the Vue setup notes to memory.
Iâve built Volcano Explorer, a Vue 3 app in the Volcanoes space: Fibery
Fiberyâs build succeeded, but I havenât seen the app running. The in-app browser isnât signed in to Fibery, so I ran the appâs data query through the Fibery connector instead, and it returned the fields the app expects. Please reload the page and check it.
What it does:
- Header: total volcanoes, how many are erupting now, number of countries, and the highest volcano.
- Finding volcanoes: search by name, country or type. Filter buttons for All, Erupting now, Holocene and Pleistocene, plus a region dropdown and sorting (name, highest, most recent eruption, most eruptions, largest VEI).
- Cards: photo (or a lava-coloured placeholder), an âEruptingâ badge, elevation, last eruption, eruption count, max VEI and population within 30 km. Clicking a card opens that volcano in Fibery.
- Theme: it follows your workspaceâs light/dark theme.
One thing thatâs different from a typical Vue project: Fibery builds apps with React and wonât accept a changed build config, so the standard Vue build plugin canât be added. That means no .vue files. Instead, the components are .ts files with template strings that Vue compiles in the browser. Itâs still normal Vue (defineComponent, ref, computed, v-for, v-model), and its source is in apps/volcano-explorer/src.
Changes to deploy.py:
- It has a new
explorerapp entry. - It can now upload files outside
src/, such asindex.html. - It can remove Fiberyâs starting React files.
To redeploy after you edit the app (get a fresh dev token first; they last about an hour):
python3 deploy.py --only explorer --token explorer=TOKEN
Me: does this app use no react at all?
does it use vue entirely and does everything from vue work?
Claude: No React in the app itself. None of my code imports React, and the build only bundles packages that are actually imported, so no React code should be shipped. React does remain in two places I canât remove:
package.json: Fiberyâs template lists React and its UI packages. They get installed during the build but go unused.vite.config.ts: It still loads the React build plugin. Fibery controls this file and ignores uploaded changes. The plugin only acts on.tsx/.jsxfiles, and the app has none.
Vue runs everything, but not every Vue feature is available. Because the Vue build plugin canât be added:
- No
.vuefiles. That rules out<script setup>,<style scoped>, CSS modules, and thedefineProps/defineEmitsshortcuts. Components usedefineComponent({ setup, template })instead, and the styles are in one shared CSS file. - Templates compile in the browser. That adds roughly 15â20 KB (gzipped) to the download and a little startup time. It also relies on
new Function, which a strict browser security policy (CSP) would block. I couldnât watch the app render because Iâm not signed in, so I havenât confirmed Fibery allows it. If you see a blank page, this is the likely cause. - Templates arenât type-checked. TypeScript checks the
.tscode but not the template strings, so a typo in the HTML only shows up in the browser. - Vue JSX/TSX wonât work. The TypeScript config Fibery controls is set up for React JSX.
What works normally: reactivity (ref, computed, watch), the Composition and Options APIs, all template directives (v-for, v-model, events, slots), components, and lifecycle hooks. Vue libraries like Pinia, Vue Router or VueUse can be added through package.json.
Fibery-specific limits:
- Fiberyâs rich-text editor (
@fibery/custom-app-text-editor) is a React component. Showing or editing a volcanoâs Description in the Vue app would require mounting React just for that part. - Fiberyâs built-in AI app builder expects React, so let it edit this app only with care.
So far none of these limits matter for this app. If you want full SFC-style Vue, the only path is building it somewhere Vueâs build plugin can run and uploading the finished files. Fiberyâs upload process doesnât support that today.
Me: So, can we create custom apps in Vue right now?
Claude: Yes, mostly. Fibery doesnât officially support Vue (its tooling and docs assume React), but you can get Vue apps running on it today. There are three ways, from simplest to most complete:
-
Templates compiled in the browser (what Volcano Explorer uses). This works today and Fiberyâs build passes. One thing is still unconfirmed: whether Fiberyâs browser security settings allow the in-browser compiler. Opening Fibery settles it. If you see volcano cards, this approach is good to go.
-
Render functions instead of templates. If the page comes up blank, components can be written with Vueâs
h()function instead of HTML templates. No compilation happens in the browser, so the security settings canât block it. The downside is that itâs more verbose and harder to read than templates. -
Real
.vuefiles, compiled on your Mac before upload.deploy.pywould compile your.vuefiles into plain TypeScript locally, using Vueâs official compiler, and upload the result. Fiberyâs build then sees ordinary.tsfiles. Youâd write proper Vue with<script setup>and scoped styles, and templates would compile ahead of time, so nothing needs compiling in the browser. The catch is a one-time setup: Node isnât installed on your Mac, so Iâd install it with Homebrew.
Whichever you pick, these limits remain:
- React stays in Fiberyâs template and build config. Itâs unused but you canât remove it.
- Fiberyâs rich-text editor is React-only.
- Fiberyâs built-in AI app builder expects React, so it may try to âfixâ a Vue app back into React.
If you plan to build more Vue apps, option 3 is the one Iâd recommend. Open the Explorer page first; whether it renders tells us if option 1 is already enough for simple apps.
Thanks, this is really nice to see at least the Vue reactivity works. Next, maybe can check if Nuxt works too, including Nuxt UI components and server routes.
Server routes wonât work, because as of right now the apps donât have a backend that you can install and run code on.
and I asked Claude about Nuxt and Nuxt UI:
Fibery builds every app itself with plain Vite and fixed settings. Nuxt needs its own build step, and Fibery has no way to run it.
Nuxt UI can likely work, but not out of the box:
- It needs a build plugin. Nuxt UI needs its own Vite plugin, and Fiberyâs fixed build wonât load it. The workaround is to build the app on your own computer first and upload the result.
- It doesnât need a server. Its components run entirely in the browser, so Fiberyâs lack of a backend isnât a problem.


