Industry Context — Common BS Fingerprints in Software, SaaS & Tech Products
Vue.js
(https://vuejs.org) 📸 Data Snapshot: May 24, 2026Analyze the raw signals below. How would a machine score this business’s credibility?
Here are the exact signals captured from up to six pages of the site — the same raw inputs the evaluation engine analyzed. They are grouped by signal type so you can weigh each the way the machine does.
🏗️ Semantic Structure — heading hierarchy & page identity (Info Density · Commodity Fingerprint)
HOMEPAGE Vue.js – The Progressive JavaScript Framework | Vue.js (https://vuejs.org)
Vue.js – The Progressive JavaScript Framework | Vue.js
Vue.js – The Progressive JavaScript Framework
NAV_HEADER_HEADING_REPEATED_BODY Become a Vue.js Sponsor | Vue.js (https://vuejs.org/sponsor/)
Become a Vue.js Sponsor | Vue.js
Vue.js – The Progressive JavaScript Framework
NAV_HEADER_HEADING_REPEATED_BODY Quick Start | Vue.js (https://vuejs.org/guide/quick-start/)
Quick Start | Vue.js
Vue.js – The Progressive JavaScript Framework
NAV_HEADER_HEADING_REPEATED_BODY Introduction | Vue.js (https://vuejs.org/guide/introduction/)
Introduction | Vue.js
Vue.js – The Progressive JavaScript Framework
📝 The Narrative — clean text per page (Info Density · Semantic Coherence)
HOMEPAGE (https://vuejs.org) Vue.js – The Progressive JavaScript Framework | Vue.js
Are you an LLM? View /llms.txt for optimized Markdown documentation, or /llms-full.txt for full documentation bundle [IMG: Vue.js Kawaii Logo by @icarusgkx] [H1] The ProgressiveJavaScript Framework An approachable, performant and versatile framework for building web user interfaces. Why Vue Get Started Install Get Security Updates for Vue 2 Special Sponsor slot is now vacant - Inquire now [H2] Approachable Builds on top of standard HTML, CSS and JavaScript with intuitive API and world-class documentation. [H2] Performant Truly reactive, compiler-optimized rendering system that rarely requires manual optimization. [H2] Versatile A rich, incrementally adoptable ecosystem that scales between a library and a full-featured framework. [H2] Platinum Sponsors Become a Sponsor [H2] Gold Sponsors Become a Sponsor [H4] Docs Quick StartGuideTutorialExamplesAPIGlossaryError ReferenceVue 2 DocsMigration from Vue 2 [H4] About FAQTeamReleasesCommunity GuideCode of ConductPrivacy PolicyThe Documentary [H4] Support SponsorPartners [H4] Resources ThemesUI ComponentsPlugins CollectionCertificationJobsT-Shirt Shop [H4] Official Libraries Vue RouterPiniaTooling Guide [H4] Video Courses Vue MasteryVue School [H4] Help Discord ChatGitHub DiscussionsDEV Community [H4] News BlogTwitterEventsNewsletters
SUB-PAGE (https://vuejs.org/sponsor/) Become a Vue.js Sponsor | Vue.js
[H1] Become a Vue.js Sponsor Vue.js is an MIT licensed open source project and completely free to use. The tremendous amount of effort needed to maintain such a large ecosystem and develop new features for the project is only made sustainable thanks to the generous financial backing of our sponsors. [H2] How to Sponsor Sponsorships can be done via GitHub Sponsors or OpenCollective. Invoices can be obtained via GitHub's payment system. Both monthly-recurring sponsorships and one-time donations are accepted. Recurring sponsorships are entitled to logo placements as specified in Sponsorship Tiers.If you have questions regarding tiers, payment logistics, or sponsor exposure data, please reach out to sponsor@vuejs.org. [H2] Sponsoring Vue as a Business Sponsoring Vue gives you great exposure to over 2 million Vue developers around the world through our website and GitHub project READMEs. This not only directly generates leads, but also improves your brand recognition as a business that cares about Open Source. This is an intangible but extremely important asset for companies building products for developers, as it improves your conversion rate.If you are using Vue to build a revenue-generating product, it makes business sense to sponsor Vue's development: it ensures the project that your product relies on stays healthy and actively maintained. The exposure and positive brand image in the Vue community also makes it easier to attract and recruit Vue developers.If you are building a product where your target customers are developers, you will gain high quality traffic through the sponsorship exposure, since all our visitors are developers. The sponsorship also builds brand recognition and improves conversion. [H2] Sponsoring Vue as an Individual If you are an individual user and have enjoyed the productivity of using Vue, consider donating as a sign of appreciation - like buying us coffee once in a while. Many of our team members accept sponsorships and donations via GitHub Sponsors. Look for the "Sponsor" button on each team member's profile on our team page.You can also try to convince your employer to sponsor Vue as a business. This may not be easy, but business sponsorships typically make a much larger impact on the sustainability of OSS projects than individual donations, so you will help us much more if you succeed. [H2] Tier Benefits Global Special Sponsor: Limited to one sponsor globally. Currently vacant. Get in touch!(Exclusive) Above the fold logo placement on the front page of vuejs.org.(Exclusive) Special shoutout and regular retweets of major product launches via Vue's official X account (320k followers).Most prominent logo placement in all locations from tiers below.Platinum (USD$2,000/mo): Prominent logo placement on the front page of vuejs.org.Prominent logo placement in sidebar of all content pages.Prominent logo placement in the README of vuejs/core and vuejs/vue.Gold (USD$500/mo): Large logo placement on the front page of vuejs.org.Large logo placement in the README of vuejs/core and vuejs/vue.Silver (USD$250/mo): Medium logo placement in the BACKERS.md file of vuejs/core and vuejs/vue.Bronze (USD$100/mo): Small logo placement in the BACKERS.md file of vuejs/core and vuejs/vue.Generous Backer (USD$50/mo): Name listed in the BACKERS.md file of vuejs/core and vuejs/vue, above other individual backers.Individual Backer (USD$5/mo): Name listed in the BACKERS.md file of vuejs/core and vuejs/vue. [H2] Current Sponsors [H3] Special Global Sponsor [H3] Platinum [H3] Platinum (China) [H3] Gold [H3] Silver
SUB-PAGE (https://vuejs.org/guide/quick-start/) Quick Start | Vue.js
Are you an LLM? You can read better optimized documentation at /guide/quick-start.md for this page in Markdown format
[H1] Quick Start
[H2] Try Vue Online
To quickly get a taste of Vue, you can try it directly in our Playground.If you prefer a plain HTML setup without any build steps, you can use this JSFiddle as your starting point.If you are already familiar with Node.js and the concept of build tools, you can also try a complete build setup right within your browser on StackBlitz.To get a walkthrough of the recommended setup, watch this interactive Scrimba tutorial that shows you how to run, edit, and deploy your first Vue app.
[H2] Creating a Vue Application
PrerequisitesFamiliarity with the command lineInstall Node.js version ^20.19.0 || >=22.12.0In this section we will introduce how to scaffold a Vue Single Page Application on your local machine. The created project will be using a build setup based on Vite and allow us to use Vue Single-File Components (SFCs).Make sure you have an up-to-date version of Node.js installed and your current working directory is the one where you intend to create a project. Run the following command in your command line (without the $ sign):npmpnpmyarnbunsh$ npm create vue@latestsh$ pnpm create vue@latestsh# For Yarn (v1+)
$ yarn create vue
# For Yarn Modern (v2+)
$ yarn create vue@latest
# For Yarn ^v4.11
$ yarn dlx create-vue@latestsh$ bun create vue@latestThis command will install and execute create-vue, the official Vue project scaffolding tool. You will be presented with prompts for several optional features such as TypeScript and testing support:✔ Project name: … <your-project-name>
✔ Add TypeScript? … No / Yes
✔ Add JSX Support? … No / Yes
✔ Add Vue Router for Single Page Application development? … No / Yes
✔ Add Pinia for state management? … No / Yes
✔ Add Vitest for Unit testing? … No / Yes
✔ Add an End-to-End Testing Solution? … No / Cypress / Nightwatch / Playwright
✔ Add ESLint for code quality? … No / Yes
✔ Add Prettier for code formatting? … No / Yes
✔ Add Vue DevTools 7 extension for debugging? (experimental) … No / Yes
Scaffolding project in ./<your-project-name>...
Done.If you are unsure about an option, simply choose No by hitting enter for now. Once the project is created, follow the instructions to install dependencies and start the dev server:npmpnpmyarnbunsh$ cd <your-project-name>
$ npm install
$ npm run devsh$ cd <your-project-name>
$ pnpm install
$ pnpm run devsh$ cd <your-project-name>
$ yarn
$ yarn devsh$ cd <your-project-name>
$ bun install
$ bun run devYou should now have your first Vue project running! Note that the example components in the generated project are written using the Composition API and <script setup>, rather than the Options API. Here are some additional tips:The recommended IDE setup is Visual Studio Code + Vue - Official extension. If you use other editors, check out the IDE support section.More tooling details, including integration with backend frameworks, are discussed in the Tooling Guide.To learn more about the underlying build tool Vite, check out the Vite docs.If you choose to use TypeScript, check out the TypeScript Usage Guide.When you are ready to ship your app to production, run the following:npmpnpmyarnbunsh$ npm run buildsh$ pnpm run buildsh$ yarn buildsh$ bun run buildThis will create a production-ready build of your app in the project's ./dist directory. Check out the Production Deployment Guide to learn more about shipping your app to production.Next Steps >
[H2] Using Vue from CDN
You can use Vue directly from a CDN via a script tag:html<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>Here we are using unpkg, but you can also use any CDN that serves npm packages, for example jsdelivr or cdnjs. Of course, you can also download this file and serve it yourself.When using Vue from a CDN, there is no "build step" involved. This makes the setup a lot simpler, and is suitable for enhancing static HTML or integrating with a backend framework. However, you won't be able to use the Single-File Component (SFC) syntax.
[H3] Using the Global Build
The above link loads the global build of Vue, where all top-level APIs are exposed as properties on the global Vue object. Here is a full example using the global build:html<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app">{{ message }}</div>
<script>
const { createApp } = Vue
createApp({
data() {
return {
message: 'Hello Vue!'
}
}
}).mount('#app')
</script>CodePen Demo >html<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app">{{ message }}</div>
<script>
const { createApp, ref } = Vue
createApp({
setup() {
const message = ref('Hello vue!')
return {
message
}
}
}).mount('#app')
</script>CodePen Demo >TIPMany of the examples for Composition API throughout the guide will be using the <script setup> syntax, which requires build tools. If you intend to use Composition API without a build step, consult the usage of the setup() option.
[H3] Using the ES Module Build
Throughout the rest of the documentation, we will be primarily using ES modules syntax. Most modern browsers now support ES modules natively, so we can use Vue from a CDN via native ES modules like this:html<div id="app">{{ message }}</div>
<script type="module">
import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
createApp({
data() {
return {
message: 'Hello Vue!'
}
}
}).mount('#app')
</script>html<div id="app">{{ message }}</div>
<script type="module">
import { createApp, ref } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
createApp({
setup() {
const message = ref('Hello Vue!')
return {
message
}
}
}).mount('#app')
</script>Notice that we are using <script type="module">, and the imported CDN URL is pointing to the ES modules build of Vue instead.CodePen Demo >CodePen Demo >
[H3] Enabling Import maps
In the above example, we are importing from the full CDN URL, but in the rest of the documentation you will see code like this:jsimport { createApp } from 'vue'We can teach the browser where to locate the vue import by using Import Maps:html<script type="importmap">
{
"imports": {
"vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
}
}
</script>
<div id="app">{{ message }}</div>
<script type="module">
import { createApp } from 'vue'
createApp({
data() {
return {
message: 'Hello Vue!'
}
}
}).mount('#app')
</script>CodePen Demo >html<script type="importmap">
{
"imports": {
"vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
}
}
</script>
<div id="app">{{ message }}</div>
<script type="module">
import { createApp, ref } from 'vue'
createApp({
setup() {
const message = ref('Hello Vue!')
return {
message
}
}
}).mount('#app')
</script>CodePen Demo >You can also add entries for other dependencies to the import map - but make sure they point to the ES modules version of the library you intend to use.Import Maps Browser SupportImport Maps is a relatively new browser feature. Make sure to use a browser within its support range. In particular, it is only supported in Safari 16.4+.Notes on Production UseThe examples so far are using the development build of Vue - if you intend to use Vue from a CDN in production, make sure to check out the Production Deployment Guide.While it is possible to use Vue without a build system, an alternative approach to consider is using vuejs/petite-vue that could better suit the context where jquery/jquery (in the past) or alpinejs/alpine (in the present) might be used instead.
[H3] Splitting Up the Modules
As we dive deeper into the guide, we may need to split our code into separate JavaScript files so that they are easier to manage. For example:index.htmlhtml<div id="app"></div>
<script type="module">
import { createApp } from 'vue'
import MyComponent from './my-component.js'
createApp(MyComponent).mount('#app')
</script>my-component.jsjsexport default {
data() {
return { count: 0 }
},
template: `<div>Count is: {{ count }}</div>`
}my-component.jsjsimport { ref } from 'vue'
export default {
setup() {
const count = ref(0)
return { count }
},
template: `<div>Count is: {{ count }}</div>`
}If you directly open the above index.html in your browser, you will find that it throws an error because ES modules cannot work over the file:// protocol, which is the protocol the browser uses when you open a local file.Due to security reasons, ES modules can only work over the http:// protocol, which is what the browsers use when opening pages on the web. In order for ES modules to work on our local machine, we need to serve the index.html over the http:// protocol, with a local HTTP server.To start a local HTTP server, first make sure you have Node.js installed, then run npx serve from the command line in the same directory where your HTML file is. You can also use any other HTTP server that can serve static files with the correct MIME types.You may have noticed that the imported component's template is inlined as a JavaScript string. If you are using VS Code, you can install the es6-string-html extension and prefix the strings with a /*html*/ comment to get syntax highlighting for them.
[H2] Next Steps
If you skipped the Introduction, we strongly recommend reading it before moving on to the rest of the documentation.Continue with the GuideThe guide walks you through every aspect of the framework in full detail.Try the TutorialFor those who prefer learning things hands-on.Check out the ExamplesExplore examples of core features and common UI tasks.Edit this page on GitHub
SUB-PAGE (https://vuejs.org/guide/introduction/) Introduction | Vue.js
Are you an LLM? You can read better optimized documentation at /guide/introduction.md for this page in Markdown format
[H1] Introduction
You are reading the documentation for Vue 3!Vue 2 support has ended on Dec 31, 2023. Learn more about Vue 2 EOL.Upgrading from Vue 2? Check out the Migration Guide.
[IMG: Vue Mastery banner]
Learn Vue with video tutorials on VueMastery.com
[IMG: Vue Mastery Logo]
[H2] What is Vue?
Vue (pronounced /vjuː/, like view) is a JavaScript framework for building user interfaces. It builds on top of standard HTML, CSS, and JavaScript and provides a declarative, component-based programming model that helps you efficiently develop user interfaces of any complexity.Here is a minimal example:jsimport { createApp } from 'vue'
createApp({
data() {
return {
count: 0
}
}
}).mount('#app')jsimport { createApp, ref } from 'vue'
createApp({
setup() {
return {
count: ref(0)
}
}
}).mount('#app')template<div id="app">
<button @click="count++">
Count is: {{ count }}
</button>
</div>Result Count is: 0The above example demonstrates the two core features of Vue:Declarative Rendering: Vue extends standard HTML with a template syntax that allows us to declaratively describe HTML output based on JavaScript state.Reactivity: Vue automatically tracks JavaScript state changes and efficiently updates the DOM when changes happen.You may already have questions - don't worry. We will cover every little detail in the rest of the documentation. For now, please read along so you can have a high-level understanding of what Vue offers.PrerequisitesThe rest of the documentation assumes basic familiarity with HTML, CSS, and JavaScript. If you are totally new to frontend development, it might not be the best idea to jump right into a framework as your first step - grasp the basics and then come back! You can check your knowledge level with these overviews for JavaScript, HTML and CSS if needed. Prior experience with other frameworks helps, but is not required.
[H2] The Progressive Framework
Vue is a framework and ecosystem that covers most of the common features needed in frontend development. But the web is extremely diverse - the things we build on the web may vary drastically in form and scale. With that in mind, Vue is designed to be flexible and incrementally adoptable. Depending on your use case, Vue can be used in different ways:Enhancing static HTML without a build stepEmbedding as Web Components on any pageSingle-Page Application (SPA)Fullstack / Server-Side Rendering (SSR)Jamstack / Static Site Generation (SSG)Targeting desktop, mobile, WebGL, and even the terminalIf you find these concepts intimidating, don't worry! The tutorial and guide only require basic HTML and JavaScript knowledge, and you should be able to follow along without being an expert in any of these.If you are an experienced developer interested in how to best integrate Vue into your stack, or you are curious about what these terms mean, we discuss them in more detail in Ways of Using Vue.Despite the flexibility, the core knowledge about how Vue works is shared across all these use cases. Even if you are just a beginner now, the knowledge gained along the way will stay useful as you grow to tackle more ambitious goals in the future. If you are a veteran, you can pick the optimal way to leverage Vue based on the problems you are trying to solve, while retaining the same productivity. This is why we call Vue "The Progressive Framework": it's a framework that can grow with you and adapt to your needs.
[H2] Single-File Components
In most build-tool-enabled Vue projects, we author Vue components using an HTML-like file format called Single-File Component (also known as *.vue files, abbreviated as SFC). A Vue SFC, as the name suggests, encapsulates the component's logic (JavaScript), template (HTML), and styles (CSS) in a single file. Here's the previous example, written in SFC format:vue<script>
export default {
data() {
return {
count: 0
}
}
}
</script>
<template>
<button @click="count++">Count is: {{ count }}</button>
</template>
<style scoped>
button {
font-weight: bold;
}
</style>vue<script setup>
import { ref } from 'vue'
const count = ref(0)
</script>
<template>
<button @click="count++">Count is: {{ count }}</button>
</template>
<style scoped>
button {
font-weight: bold;
}
</style>SFC is a defining feature of Vue and is the recommended way to author Vue components if your use case warrants a build setup. You can learn more about the how and why of SFC in its dedicated section - but for now, just know that Vue will handle all the build tools setup for you.
[H2] API Styles
Vue components can be authored in two different API styles: Options API and Composition API.
[H3] Options API
With Options API, we define a component's logic using an object of options such as data, methods, and mounted. Properties defined by options are exposed on this inside functions, which points to the component instance:vue<script>
export default {
// Properties returned from data() become reactive state
// and will be exposed on `this`.
data() {
return {
count: 0
}
},
// Methods are functions that mutate state and trigger updates.
// They can be bound as event handlers in templates.
methods: {
increment() {
this.count++
}
},
// Lifecycle hooks are called at different stages
// of a component's lifecycle.
// This function will be called when the component is mounted.
mounted() {
🛡️ Trust Signals — reviews, proof links, trust-theatre flag (Trust & Proof)
| Page | Reviews | Proof links |
|---|---|---|
| / (home) | 0 | 0 |
| /sponsor/ | 1 | 0 |
| /guide/quick-start/ | 1 | 0 |
| /guide/introduction/ | 0 | 0 |
🔗 Identity & Technical Layer — schema JSON-LD: identity chains, entity gaps (Identity & Authority)
Your Diagnosis
Before revealing the machine’s verdict, predict the BS score for each signal. Higher = more BS (more fluff, less verifiable substance). Drag each slider, then submit to compare your judgment against the engine.
Stuck? Reveal the heuristic lens — how the deterministic page-auditor reads each signal (no AI, pure pattern rules)
These are the structural rules a local, deterministic auditor applies — the same lens you can use to judge each signal. They describe what to look for, not this company’s result.
Classify each sentence as substantive or hollow. Grounding markers — numbers, currencies, dates, technical units, named entities — outweigh marketing adjectives. When fluff sits right next to hard evidence, the fluff is forgiven.
Pull the main entities out of the H1, then check whether they actually recur through the body. A page that announces one thing and then talks about another drifts. Headings with no real sentences underneath read as pseudo-substance.
Count trust words (review, testimonial, rating, verified) against real outbound proof links (Google, Trustpilot, Clutch, G2, Yelp). Lots of trust language with zero verification links is trust theatre. Unlinked logo galleries count against it.
Look at how much sentence length varies. Natural writing varies its rhythm; templated or mass-produced copy is statistically uniform. Very low variation reads as commodity content — unless unique named entities break the pattern.
Inspect the JSON-LD. Is there an Organization or Person schema, and does it carry sameAs links to real external profiles (LinkedIn, socials)? Missing schema or no identity declaration signals an anonymous entity.
Want to apply this lens yourself? The free BS Indicator Chrome extension runs these heuristic checks live on any page. Bear in mind it is a single-page, deterministic tool — it relies only on pattern rules for the page in front of it and does not perform the cross-page semantic correlation this audit uses, so its readout is a starting lens, not the full verdict.
Based on 1130 businesses audited.
Vue.js has 19.2 points less BS than the average for Software, SaaS & Tech Products.
Software, SaaS & Tech Products BS: Vue.js (vuejs.org)
Vue.js is a rare example of a site where the marketing signal is almost entirely backed by technical substance. With a BS score of 14, it is highly credible, failing only on minor repetitive branding and missing structured data. The content is designed for utility rather than persuasion.
Implement Organization and Person schema to bridge the identity gap and verify the team’s digital footprint. Add a direct link to a community census or methodology page to substantiate the ‘2 million developers’ claim. Replace the adjective-only H2 headings on the homepage with more descriptive, noun-based headings that reflect the technical merit. Consolidate the repetition of the ‘Progressive’ tagline to increase the variety of information density.
The site perfectly matches the Software and Tech Products category. The presence of technical specifications, code blocks, and dependency management instructions confirms its status as a developer tool.
“The score is driven downward by the high volume of technical substance and code examples which negate typical marketing fluff. The few points accrued come from minor trust theatre flags in the metadata and a complete lack of JSON-LD schema. The site avoids almost all industry jargon traps, maintaining a focus on developer utility over sales conversion.”
This training module utilizes a snapshot of public data from Vue.js, captured on May 24, 2026, to demonstrate how machine logic evaluates different types of business narratives.
Purpose: This data is presented under “Fair Use” / “Educational Exception” for the purpose of forensic semantic analysis, allowing users to compare human intuition against machine-generated evaluations.
Notice to Vue.js: This analysis is part of a non-adversarial audit conducted by 1 Euro SEO. The results provided by 1EuroSEO are intended as professional feedback to help improve any website’s machine-readability and authority signals. The 1EuroSEO BS Detection Tool is a free tool, and anyone can test any company to see how their content is interpreted by AI models.
Any company can use the insights for free and improve its voice by comparing it to industry clichés or competitors. When a company has updated its content, it can always submit a new audit request, which will be reflected in a new current score.
To all users: You are encouraged to visit the live site at https://vuejs.org to view the most current version of its content and learn from the source what this company is about and what it offers.