Wie ich einen KI-gestützten PNG-zu-SVG-Konverter mit Next.js 14 gebaut habe
Ein technischer Deep-Dive in den Bau von VectoSolve: von der Bildverarbeitungs-Pipeline bis zur Echtzeit-Konvertierung mit dem Next.js App Router.

Founder of VectoSolve
Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.
How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author
Key Takeaways
- VectoSolve basiert auf Next.js 14 App Router mit Supabase, Stripe und Tailwind CSS
- Die Konvertierungs-Pipeline nutzt serverseitige API Routes mit Credit-Verifizierung und Echtzeit-Feedback
- Programmatisches SEO mit 210 statisch generierten Seiten in 10 Sprachen hat den organischen Traffic verdreifacht
- Credit-basierte Preise übertreffen Abonnements bei On-Demand-Tools — Nutzer bevorzugen Pay-as-you-go
- Dynamische Imports, Edge Runtime und Bildoptimierung reduzierten die Antwortzeiten um 40%
Als ich anfing, VectoSolve zu bauen, hatte ich ein Ziel: Bildvektorisierung für alle zugänglich machen. Was wie ein einfaches Projekt aussah, wurde zu einem tiefen Eintauchen in Bildverarbeitung, KI-APIs und Next.js-Performance-Optimierung.
Hier ist genau, wie ich es gebaut habe.
Das Problem
Rasterbilder (PNG, JPG) in Vektorgrafiken (SVG) umzuwandeln war schon immer mühsam:
- Adobe Illustrators Image Trace: 22$/Monat, steile Lernkurve
- Kostenlose Online-Tools: Langsam, niedrige Qualität, aggressive Upsells
- Manuelles Nachzeichnen: Stunden Arbeit für ein einzelnes Logo
Ich wollte etwas, das einfach funktioniert — Bild hochladen, sauberes SVG in Sekunden bekommen.
Tech-Stack-Entscheidung
Framework: Next.js 14 (App Router)
Datenbank: Supabase (Postgres + Auth)
Zahlungen: Stripe (Abonnements + Credits)
Styling: Tailwind CSS
Deployment: Vercel
KI/Verarbeitung: Mehrere APIs (Vektorisierung, Upscaling, Hintergrundentfernung)
Warum Next.js 14 App Router?
- Server Components als Standard — Weniger clientseitiges JavaScript, schnellerer initialer Load
- Route Handlers — Saubere API Routes, die mit den Seiten zusammen liegen
- Streaming — UI sofort anzeigen, während Daten laden
- Statische Generierung — Über 500 Seiten beim Build für SEO generiert
Pro Tip: Wenn du ein SaaS mit programmatischen SEO-Seiten baust, ist generateStaticParams von Next.js App Router ein Game-Changer. Es ermöglicht, hunderte lokalisierte Seiten beim Build ohne Laufzeitkosten vorzurendern.
Architektur-Überblick
Die Architektur ist einfach aber skalierbar:
- Frontend: Next.js App Router mit React Server Components
- API Routes: Verarbeiten Konvertierung, Uploads und Benutzerverwaltung
- Datenbank: Supabase für Benutzerdaten, Credits und Konvertierungshistorie
- Zahlungen: Stripe für monatliche und jährliche Abonnements
- KI-APIs: Externe Dienste für die eigentliche Vektorisierung
A Full Year of Conversions for $49
Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime
Get the Annual DealDie Konvertierungs-Pipeline
Schritt 1: Bild-Upload
Die Upload-Komponente nutzt eine einfache Drag-and-Drop-Oberfläche. Wir validieren Dateitypen clientseitig vor dem Senden an den Server:
const handleDrop = async (e: DragEvent) => {
e.preventDefault()
const file = e.dataTransfer?.files[0]
if (!file) return
if (!['image/png', 'image/jpeg', 'image/webp'].includes(file.type)) {
toast.error('Unsupported format')
return
}
const base64 = await fileToBase64(file)
onUpload(base64, file.name)
}
Schritt 2: Serverseitige Verarbeitung
Die API Route übernimmt Authentifizierung, Credit-Verifizierung und die eigentliche Konvertierung:
export async function POST(request: NextRequest) {
const supabase = createClient()
// Verify user has credits
const { data: { user } } = await supabase.auth.getUser()
const credits = await getUserCredits(user.id)
if (credits < 1) {
return NextResponse.json({ error: 'Insufficient credits' }, { status: 402 })
}
// Process the image
const { image, format } = await request.json()
const result = await vectorizeImage(image, { outputFormat: format || 'svg' })
// Deduct credit and return
await deductCredit(user.id, 1)
return NextResponse.json({ success: true, svg: result.svg })
}
Schritt 3: Echtzeit-Feedback
Nutzer sehen Fortschrittsupdates während der Konvertierung. Das verbessert die wahrgenommene Performance, auch wenn die eigentliche Konvertierung einige Sekunden dauert.
"Starte mit einem kostenlosen Tier. Unsere ersten 1000 Nutzer kamen über die kostenlose Konvertierung. Das schafft Vertrauen — und Vertrauen konvertiert zu zahlenden Kunden.
SEO: Über 500 Statische Seiten
Einer der Wachstumsmotoren von VectoSolve ist programmatisches SEO. Wir generieren Seiten für jeden Konvertierungstyp:
/convert/png-to-svg/convert/jpg-to-svg/convert/logo-to-svg- ... und über 20 weitere
Außerdem wird jede Seite mit generateStaticParams in 10 Sprachen übersetzt:
export async function generateStaticParams() {
const locales = ['fr', 'es', 'de', 'pt', 'it', 'nl', 'ru', 'ja', 'ko', 'tr']
const slugs = conversionPages.map(p => p.slug)
const params = []
for (const locale of locales) {
for (const slug of slugs) {
params.push({ locale, slug })
}
}
return params // 10 locales x 21 pages = 210 pages
}
Das generiert 210 lokalisierte Seiten beim Build, alle mit einzigartigem Meta-Content, korrekten hreflang-Tags und FAQ-Schema.
10 Sprachen hinzuzufügen hat den organischen Traffic von VectoSolve in nur 2 Monaten verdreifacht. Wenn dein Produkt ein globales Publikum bedient, ist i18n mit statischer Generierung eine der SEO-Investitionen mit dem besten ROI.
Performance-Optimierungen
1. Dynamische Imports
Schwere Komponenten laden nur bei Bedarf:
const LogoGenerator = dynamic(
() => import('@/components/LogoGenerator'),
{ loading: () => <Skeleton />, ssr: false }
)
2. Bildoptimierung
Die Next.js Image-Komponente mit Blur-Platzhaltern für sofortige wahrgenommene Ladezeit.
3. Edge Runtime
API Routes laufen auf dem Edge, näher an den Nutzern, und reduzieren die Antwortzeiten um 40%.
Free SVG Tools for Crafters
Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG
Check Your SVG FreeGelernte Lektionen
Starte mit einem kostenlosen Tier — Unsere ersten 1000 Nutzer kamen über die kostenlose Konvertierung. Das schafft Vertrauen.
Credits funktionieren besser als Abonnements für Tools wie dieses. Nutzer bevorzugen Pay-as-you-go.
i18n ist ein Wachstums-Hack — 10 Sprachen hinzuzufügen hat unseren organischen Traffic in 2 Monaten verdreifacht.
Schema Markup zählt — FAQ- und HowTo-Schemas brachten uns Featured Snippets innerhalb von Wochen.
Was kommt als Nächstes
- Öffentliche API für Entwickler (Batch-Verarbeitung)
- Chrome Extension für schnelle Konvertierungen
- Figma Plugin für Design-Workflows
Probier es selbst aus: VectoSolve — kostenlose Vorschau deines ersten Bildes, ohne Anmeldung.
Fragen? Schreib uns an contact@vectosolve.com.
| Stack-Komponente | Verwendete Technologie | Zweck |
|---|---|---|
| Frontend-Framework | Next.js 14 App Router | SSR, statische Generierung, API Routes |
| Styling | Tailwind CSS | Utility-first responsives Design |
| Datenbank & Auth | Supabase (Postgres + Auth) | Benutzerverwaltung, Credit-Tracking, Dateispeicher |
| Zahlungen | Stripe | Credit-Käufe, Abo-Abrechnung |
| Programmatisches SEO | 210 statisch generierte Seiten (10 Sprachen) | 3-faches organisches Traffic-Wachstum |
Quellen & Weiterführende Lektüre
- web.dev Performance — Core Web Vitals-Optimierung, Bildlade-Strategien und Next.js-Performance Best Practices
- Google Search Central — Richtlinien für programmatisches SEO, Implementierung strukturierter Daten und Konfiguration mehrsprachiger Websites
- Smashing Magazine — Next.js-Architekturmuster, SaaS-Entwicklungs-Fallstudien und Full-Stack-React-Anwendungsguides
- Moz SEO Blog — SEO-Strategie für SaaS-Produkte, Keyword-Recherche für Entwickler-Tools und technische SEO-Implementierung
- MDN Web Docs — SVG — SVG-Rendering in Browsern, Canvas API-Vergleiche und serverseitige SVG-Verarbeitungsreferenz