# figma → vue
Figma to Vue 3, Composition API.
Send a Figma file. Ship as Vue 3 single-file components (Composition API, <script setup>), semantic HTML, Tailwind or scoped CSS. TypeScript optional. Nuxt 3 target on request. Locofy Pro on the first pass where the Figma auto-layout is clean, hand-coded where it isn’t. Tool disclosure on every project.

Dev-to-dev.
Vue 3 is where the ergonomics finally caught up with React’s hooks story: <script setup>, ref, computed, and clean template syntax. We ship components a Vue engineer would sign off on: no Options API holdovers, no this.$emit spaghetti, no Vuex when Pinia works better.
What you get.
- Vue 3 SFCs with
<script setup>, no Options API unless your codebase is pinned to v2. - Tailwind CSS or scoped
<style>blocks. Your call. - TypeScript optional, strict mode if requested (+$99 per component).
- Pinia for state where scope calls for it. Never Vuex on new work.
- Nuxt 3 project scaffold on request. SSR + file-based routing.
- Semantic HTML, WCAG 2.2 AA, focus management with
v-focusor manual refs.
Vue 3 SFC, delivered with proper types + emit contract.
<script setup lang="ts">
import { ref, computed } from 'vue'
const props = defineProps<{ price: number; sla: string }>()
const emit = defineEmits<{ quote: [] }>()
const formatted = computed(() => `$${props.price.toLocaleString()}`)
</script>
<template>
<article class="card">
<h3 class="card__title"><slot name="title" /></h3>
<p class="card__price">{{ formatted }} <span class="sla">{{ sla }}</span></p>
<button class="btn" @click="emit('quote')">Get a quote</button>
</article>
</template>
Tool used: Locofy Pro (60% kept where auto-layout is clean, semantic + reactive layer rewritten), or manual on messy files.
Turnaround and price.
- Single Vue component: $449, 5d.
- Component set (5 to 8): $1,890, 10d.
- Full 5-page Nuxt 3 site: $3,490, 14d.
Full pricing table. 14-day fix window on every ticket.
# get a quote
Send a Figma. We'll quote in 24 hours.
Paste a share link. Add a line about the output stack (React, HTML, WordPress). We'll reply with an indicative price and a start date.