↩ SERVIT

Wir sind spezialisiert auf die Programmiersprachen PHP (Web) und .net C# (Windows Applikationen).

Webentwicklung Wien

Published: Juni 25, 2026 Updated: Juni 26, 2026 View original page
Webentwicklung Wien: persönliche Betreuung, die große Agenturen nicht bietenSERVIT verbindet die technische Tiefe einer spezialisierten Agentur mit der direkten, persönlichen Zusammenarbeit, die in Wien viele Unternehmen vermissen. Ihr Ansprechpartner: Christof Servit. Ein fester Ansprechpartner statt wechselnder ProjektteamsWordPress, WooCommerce, Laravel —…

Webentwicklung Wien: persönliche Betreuung, die große Agenturen nicht bieten

SERVIT verbindet die technische Tiefe einer spezialisierten Agentur mit der direkten, persönlichen Zusammenarbeit, die in Wien viele Unternehmen vermissen. Ihr Ansprechpartner: Christof Servit.

250+
Projekte
15+
Jahre Erfahrung
100%
Termintreue
Lächelnder Mann mit Brille im Büro

Was Wiener Unternehmen erwarten — und was sie oft bekommen

Das Problem mit großen Agenturen

Lange Wartezeiten auf Angebote. Projektmanager, die zwischen Ihnen und den Entwicklern vermitteln — mit Informationsverlust in beide Richtungen. Rechnungen für Stunden, die Sie nicht nachvollziehen können. Und nach dem Launch: ein Ticketsystem, in dem Ihre Anfrage eine Nummer unter vielen ist. Mietkosten, Projektmanager und Vertrieb landen auf Ihrer Rechnung.

Das Problem mit günstigen Freelancern

Am anderen Ende: Websites für wenige hundert Euro. Das Ergebnis sind oft Template-Seiten ohne strategischen Unterbau, fehlende Performance-Optimierung und ein Ansprechpartner, der bei technischen Herausforderungen an seine Grenzen stößt. Wenn Sie eine Buchungsfunktion, einen Shop oder eine CRM-Anbindung brauchen, wird es eng.

SERVIT: die Mitte, die funktioniert

Ich arbeite als spezialisierter Entwickler direkt mit Ihnen — ohne Zwischenebenen. Sie erklären Ihr Anliegen einmal, und derjenige, der es umsetzt, hat es direkt gehört. Dazu die technische Breite über Standard-WordPress hinaus: WooCommerce, Laravel, API-Integrationen, KI. Mein Standort in Mistelbach liegt 45 Minuten von Wien — nah genug für Termine, weit genug, um keinen Wien-Overhead weiterzugeben.

Weblösungen für den Wiener Markt

Die technische Breite einer Agentur — ohne die Zwischenebenen. Sie wählen, was Ihr Projekt wirklich braucht.
WordPress

Websites, die verkaufen

Im Wiener Wettbewerb reicht eine hübsche Website nicht. Durchdachte Informationsarchitektur, conversion-optimiertes Design und technisches SEO — Ladezeiten unter zwei Sekunden inklusive.
mehr erfahren →
WooCommerce

Shops für Österreich

Korrektes Steuer-Setup, österreichische Zahlungsanbieter (eps, Klarna, PayPal), Versandlogik für AT und international, rechtskonforme Texte und Anbindung an Ihre Warenwirtschaft.
mehr erfahren →
Laravel · SaaS

Webanwendungen

Maßgeschneiderte Anwendungen mit Laravel — von internen Tools über Kundenportale bis zu SaaS-Produkten. Wenn Standard-Software an ihre Grenzen kommt.
mehr erfahren →
API

Schnittstellen

Verbindung Ihrer Systeme: ERP, CRM, Buchhaltung, Versanddienstleister — automatisiert. Schluss mit manueller Doppelerfassung.
mehr erfahren →
Agentur-Support

White-Label für Teams

Für Wiener Agenturen, die Entwicklungskapazität brauchen: Ich arbeite als externer Entwickler im Team mit — besonders bei Laravel und komplexen WordPress/WooCommerce-Setups. Diskret.
mehr erfahren →
KI

KI-Automatisierung

Repetitive Aufgaben automatisieren, Kommunikation beschleunigen, datenbasiert entscheiden. KI dort, wo sie messbar Zeit oder Geld spart — nicht als Spielerei.
mehr erfahren →

Ihre Website als stärkster Vertriebskanal

Sichtbar in einem umkämpften Markt

Wenn ein Kunde in Wien nach Ihrer Dienstleistung sucht, entscheidet Google, welche Unternehmen überhaupt in Betracht kommen. Die ersten drei organischen Ergebnisse erhalten zusammen rund 60 % aller Klicks. Wer auf Seite zwei landet, existiert für die meisten Suchenden nicht.

Ich baue jede Website so, dass technisches SEO, schnelle Ladezeiten und mobile Optimierung von Anfang an erfüllt sind — als integraler Bestandteil, nicht als nachträgliches SEO-Paket mit monatlichen Zusatzkosten.

Besucher in Kunden verwandeln

Sichtbarkeit allein reicht nicht. Wenn Besucher nicht in Sekunden verstehen, was Sie anbieten, verlassen sie die Seite. Ich optimiere für Conversion: klare Nutzen-Kommunikation, strategisch platzierte Handlungsaufforderungen, vertrauensbildende Elemente und eine Struktur, die logisch zur gewünschten Aktion führt.

In Wien, wo der Wettbewerb intensiv ist, entscheiden Millisekunden: 53 % der mobilen Nutzer verlassen eine Website, die länger als drei Sekunden lädt. Performance ist bei SERVIT kein Add-on, sondern Standard.

Projekte aus Wien und Niederösterreich

Jedes Projekt individuell konzipiert und umgesetzt — kein Template, keine Fertiglösung.

Branche: e-Learning - Ort: 1140 Wien

Maßgeschneiderte Lernplattform auf Laravel-Basis. Die Plattform wurde übernommen und weiter entwickelt, die exakt auf die Vorgaben des Anbieters zugeschnitten ist — Kurs-, Nutzer- und Fortschrittsverwaltung. Ein Projekt, das zeigt, wie weit Webentwicklung über die klassische Website hinausreicht.

Branche: Wohnbranche - Ort: 1140 Wien

Automatisierte Synchronisation zwischen einer alten Datenbank und dem Microsoft Dynamics 365 Business Central-Webservice. Stamm- und Bewegungsdaten werden bidirektional abgeglichen, sodass beide Systeme jederzeit denselben Stand haben — ohne manuelle Doppelerfassung. Eine Lösung an der Schnittstelle von Datenbank und Geschäftslogik, die klassische Website-Anbieter nicht abdecken.
Ihr Projekt könnte das nächste sein. Lassen Sie uns sprechen.

SERVIT, große Agentur, günstiger Freelancer

Drei Wege zu Ihrer Website — und worin sie sich im Alltag konkret unterscheiden.
SERVIT Große Agentur Günstiger Freelancer
Ansprechpartner SERVITDirekt mit dem Entwickler Große AgenturProjektmanager als Zwischenebene Günstiger FreelancerEine Person, aber begrenzt
Reaktionszeit SERVITSchnell, persönlich Große AgenturWarteschleifen, Tickets Günstiger FreelancerVariabel, oft schwer erreichbar
Preisstruktur SERVITFestpreis, transparent Große AgenturStundensätze, oft intransparent Günstiger FreelancerGünstig, aber begrenzter Umfang
Technische Tiefe SERVITWordPress bis Laravel & API Große AgenturHoch — aber teuer erkauft Günstiger FreelancerMeist Template-Niveau
Nach dem Launch SERVITDirekter Draht, Wartung Große AgenturSupport-Ticketsystem Günstiger FreelancerOft nicht mehr erreichbar
Overhead SERVITKeiner Große AgenturBüro, PM, Vertrieb — auf Ihrer Rechnung Günstiger FreelancerKeiner
.svt-cmp{ --svt-a:var(--svt-accent,#008fbf); --svt-ink-c:var(--svt-ink,#0e2a36); --svt-line:#d9e3e8; --svt-soft:#46606c; --svt-tint:rgba(0,143,191,.08); --svt-bg:#f4f7f9; color:var(--svt-ink-c); max-width:1280px;margin:0 auto; font-family:inherit;line-height:1.55; } .svt-cmp table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--svt-line);border-radius:14px;overflow:hidden;font-size:.95rem;} .svt-cmp th,.svt-cmp td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--svt-line);vertical-align:top;} .svt-cmp thead th{font-weight:700;background:var(--svt-bg);} .svt-cmp thead th.is-servit{background:var(--svt-ink-c);color:#fff;} .svt-cmp tbody th{font-weight:600;width:168px;} .svt-cmp td.is-servit{background:var(--svt-tint);font-weight:500;} .svt-cmp__chk{color:var(--svt-a);font-weight:700;margin-right:.35em;} .svt-cmp tr:last-child th,.svt-cmp tr:last-child td{border-bottom:none;} .svt-cmp__key{display:none;} @media(max-width:720px){ .svt-cmp table,.svt-cmp thead,.svt-cmp tbody,.svt-cmp tr,.svt-cmp th,.svt-cmp td{display:block;width:auto;} .svt-cmp thead{position:absolute;left:-9999px;top:-9999px;} .svt-cmp tbody tr{border-bottom:8px solid var(--svt-bg);} .svt-cmp tbody tr:last-child{border-bottom:none;} .svt-cmp tbody th{background:var(--svt-ink-c);color:#fff;width:auto;font-size:1.02rem;} .svt-cmp td{display:flex;gap:12px;align-items:flex-start;} .svt-cmp__key{display:block;flex:0 0 44%;color:var(--svt-soft);font-weight:600;font-size:.85rem;} .svt-cmp__val{flex:1;} }

Die richtige Technologie für Ihr Vorhaben

Jedes Projekt beginnt mit einer ehrlichen Technologieberatung. Für die meisten Unternehmenswebsites ist WordPress die richtige Wahl. Für Online-Shops eignet sich WooCommerce. Für Anforderungen darüber hinaus — interne Tools, Kundenportale, SaaS-Plattformen — setze ich auf Laravel.
WordPress - ausgereift, flexibel, einfach zu verwalten. Standard für Unternehmenswebsites.
WooCommerce - die meistgenutzte E-Commerce-Lösung, nahtlos in WordPress integriert.
Laravel - für individuelle Geschäftslogik, Kundenportale und SaaS-Produkte.
Was ich bewusst nicht anbiete: Baukasten-Systeme wie Wix, Squarespace oder Jimdo. Sie schränken die Flexibilität ein und machen Sie von einem Anbieter abhängig. Mit WordPress und Laravel behalten Sie die volle Kontrolle — Ihre Daten, Ihre Inhalte, Ihr Design gehören Ihnen, nicht einer Plattform, die morgen die Preise erhöhen kann.

Das sagen Kunden aus Wien und Umgebung

Erfolgreiche Projekte sprechen für sich
.text-yellow-400 { --tw-text-opacity: 1; color: rgb(250 204 21 / var(--tw-text-opacity, 1)); } .fill-current { fill: currentColor; } .w-6 { width: 1.5rem; } .h-6 { height: 1.5rem; }
"Zeitnahe, professionelle Hilfestellung - jedenfalls eine Empfehlung."
Alexander Wipplinger
Alland
.text-yellow-400 { --tw-text-opacity: 1; color: rgb(250 204 21 / var(--tw-text-opacity, 1)); } .fill-current { fill: currentColor; } .w-6 { width: 1.5rem; } .h-6 { height: 1.5rem; }
"Die Zusammenarbeit mit Christof Servit war rundum überzeugend: eine unkomplizierte Abwicklung, ausgezeichnete Beratung und ein klarer Fokus auf lösungsorientierte Ansätze. Absolut empfehlenswert!"
Gregor Absenger
Lend
.text-yellow-400 { --tw-text-opacity: 1; color: rgb(250 204 21 / var(--tw-text-opacity, 1)); } .fill-current { fill: currentColor; } .w-6 { width: 1.5rem; } .h-6 { height: 1.5rem; }
"Top Preis/Leistungsverhältnis. Schnelle und zuverlässige Arbeit.Gute Ideen, perfekte Umsetzung"
Thomas Bernold
Stronsdorf

Klare Preise für Ihr Webprojekt in Wien

Vor Projektstart wissen Sie, was die Umsetzung kostet. Definierte Pakete, Erweiterungen vorab besprochen und schriftlich vereinbart — damit Ihr Budget planbar bleibt.
.servit-preise{--svt-accent:#008fbf;--sp-text:#1a1a1a;--sp-muted:#5f5e5a;--sp-border:#e4e6e8;--sp-soft:#f5f6f7;--sp-radius:12px;font-family:inherit;color:var(--sp-text);max-width:1100px;margin:0 auto;line-height:1.6} .servit-preise *{box-sizing:border-box} .sp-toggle{display:flex;width:max-content;max-width:100%;margin:0 auto 36px;background:var(--sp-soft);border:1px solid var(--sp-border);border-radius:999px;padding:4px;gap:4px} .sp-toggle-btn{border:none;background:transparent;color:var(--sp-muted);font:inherit;font-weight:600;font-size:15px;padding:9px 22px;border-radius:999px;cursor:pointer;transition:.15s;white-space:nowrap} .sp-toggle-btn[aria-pressed="true"]{background:var(--svt-accent);color:#fff} .sp-toggle-btn:focus-visible{outline:3px solid var(--svt-accent);outline-offset:2px} .sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;align-items:stretch} .sp-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:28px 24px} .sp-card.is-featured{border:2px solid var(--svt-accent);box-shadow:0 8px 30px rgba(0,143,191,.08)} .sp-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--svt-accent);color:#fff;font-size:12px;font-weight:600;padding:5px 14px;border-radius:999px;letter-spacing:.02em} .sp-name{font-size:22px;font-weight:700;margin:0 0 8px;text-align:center} .sp-tagline{color:var(--sp-muted);font-size:14px;margin:0 0 20px;text-align:center;min-height:42px} .sp-price{text-align:center;margin:0 0 8px} .sp-price strong{display:block;font-size:34px;font-weight:700;color:var(--sp-text);line-height:1.1} .sp-ab{font-size:15px;color:var(--sp-muted);margin-right:4px} .sp-unit{display:block;font-size:14px;color:var(--sp-muted)} .servit-preise.is-monatlich .sp-price-einmalig{display:none} .servit-preise.is-einmalig .sp-price-monatlich{display:none} .sp-features{list-style:none;padding:24px 0 0;margin:24px 0 0;border-top:1px solid var(--sp-border);display:grid;gap:14px;font-size:14px;flex:1} .sp-features li{position:relative;padding-left:28px} .sp-features li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;background:var(--svt-accent); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 5.5 12.7 4 14.2 9 19.2 20 8.2l-1.5-1.5z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 5.5 12.7 4 14.2 9 19.2 20 8.2l-1.5-1.5z'/%3E%3C/svg%3E") center/contain no-repeat} .sp-ideal{font-size:13px;color:var(--sp-muted);text-align:center;margin:24px 0 16px} .sp-cta{display:block;text-align:center;background:var(--svt-accent);color:#fff;font-weight:600;text-decoration:none;padding:13px 18px;border-radius:8px;transition:.15s} .sp-cta:hover{filter:brightness(.92)} .sp-note{font-size:13px;color:var(--sp-muted);margin:32px 0 0;text-align:center} @media(max-width:560px){.sp-card{padding:24px 20px}.sp-tagline{min-height:0}} (function(){ if ( window.__servitPreiseBound ) { return; } window.__servitPreiseBound = true; document.addEventListener('click', function(e){ var btn = e.target.closest && e.target.closest('.sp-toggle-btn'); if ( ! btn ) { return; } var box = btn.closest('.servit-preise'); if ( ! box ) { return; } var m = btn.getAttribute('data-modus'); box.classList.toggle('is-einmalig', m === 'einmalig'); box.classList.toggle('is-monatlich', m === 'monatlich'); box.querySelectorAll('.sp-toggle-btn').forEach(function(b){ b.setAttribute('aria-pressed', b === btn ? 'true' : 'false'); }); }); })();

Basic

Der schnelle, professionelle Einstieg ins Netz.

ab 89€monatlich ab 2.000€einmalig
  • Professionelle Website mit allen wichtigen Informationen
  • Responsiv und mobil-optimiert – sieht auf jedem Gerät gut aus
  • SEO-Grundlage, damit Kunden Sie bei Google finden
  • Selbst pflegbar: Texte und Bilder ändern Sie jederzeit

Ideal für: Gründer:innen, Ein-Personen-Unternehmen und Dienstleister mit schlanker Online-Präsenz.

Projekt anfragen

Deluxe

Ihre Website als zentrales Vertriebsinstrument.

ab 349€monatlich ab 8.000€einmalig
  • Strategischer Aufbau inkl. Workshops zu Zielgruppe und UX
  • Mehrsprachig, interaktiv oder stark individualisiert
  • Schnittstellen (CRM, Newsletter, Tools), Formular-Logik, Rollenverwaltung
  • Ihr zentrales Marketing- und Vertriebsinstrument

Ideal für: Wachsende Unternehmen, Institutionen und Projekte mit komplexen Abläufen.

Projekt anfragen

Es handelt sich hier um Nettopreise. Bei unserem Mietmodell gibt es eine 24 Monatsbindung. Sie erhalten ein individuelles Angebot ausgearbeitet.

Häufige Fragen zu Webentwicklung in Wien

Kurz & präzise beantwortet. Für Details einfach aufklappen.
.svt-geo{--svt-accent:#008fbf;--svt-ink:#0e2a36;--svt-line:#e3eaed;box-sizing:border-box;color:var(--svt-ink);max-width:1280px;margin:0 auto;padding:0 1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;} .svt-geo *,.svt-geo *::before,.svt-geo *::after{box-sizing:border-box;} .svt-geo__faqtitle{font-size:clamp(1.5rem,3.6vw,2rem);line-height:1.15;font-weight:800;margin:0 0 1.2rem;text-align:center;letter-spacing:-.01em;} .svt-faq{max-width:840px;margin:0 auto;} .svt-faq details{border:1px solid var(--svt-line);border-radius:10px;margin:0 0 .65rem;background:#fff;overflow:hidden;transition:border-color .15s ease;} .svt-faq details[open]{border-color:var(--svt-accent);} .svt-faq summary{list-style:none;cursor:pointer;padding:1rem 1.2rem;font-weight:700;font-size:1.02rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--svt-ink);} .svt-faq summary::-webkit-details-marker{display:none;} .svt-faq summary::after{content:"";flex:none;width:11px;height:11px;border-right:2px solid var(--svt-accent);border-bottom:2px solid var(--svt-accent);transform:rotate(45deg);transition:transform .2s ease;margin-top:-3px;} .svt-faq details[open] summary::after{transform:rotate(-135deg);margin-top:3px;} .svt-faq summary:focus-visible{outline:3px solid rgba(0,143,191,.4);outline-offset:-3px;} .svt-faq__a{padding:0 1.2rem 1.15rem;color:var(--svt-ink);} .svt-faq__a p{margin:0 0 .8rem;} .svt-faq__a p:last-child{margin-bottom:0;} .svt-geo__cta{text-align:center;margin:2rem 0 0;} .svt-geo__cta a{display:inline-block;background:var(--svt-accent);color:#fff;text-decoration:none;font-weight:700;padding:.85rem 1.8rem;border-radius:10px;transition:background .15s ease;} .svt-geo__cta a:hover{background:#0079a3;} .svt-geo__cta a:focus-visible{outline:3px solid rgba(0,143,191,.45);outline-offset:2px;} @media(prefers-reduced-motion:reduce){.svt-geo *{transition:none !important;}}
Haben Sie ein Büro in Wien?

Mein Standort ist Mistelbach im Weinviertel — rund 45 Minuten von Wien. Für Kundentermine bin ich regelmäßig in Wien vor Ort. Die meisten meiner Wiener Kunden schätzen die Kombination aus persönlichen Treffen bei wichtigen Meilensteinen und effizienter digitaler Zusammenarbeit dazwischen. Für Kick-off und Design-Präsentation treffe ich Sie gerne persönlich, für Zwischenabstimmungen sind Videocall und Bildschirmfreigabe die effizienteren Werkzeuge.

Wie unterscheiden Sie sich von Wiener Webagenturen?

Bei SERVIT gibt es keine Zwischenebene. Sie arbeiten direkt mit mir als Entwickler und Berater: keine Informationsverluste, schnellere Entscheidungen, ein Ansprechpartner, der die strategische und die technische Seite versteht. Meine Konditionen sind fairer, weil kein Overhead für Büroräume, Projektmanagement-Layer und Vertriebsteams auf Ihrer Rechnung landet.

Wie schnell können Sie mein Projekt umsetzen?

Eine typische Unternehmenswebsite ist in 4–6 Wochen fertig, ein WooCommerce-Shop mit individuellen Anforderungen in 6–10 Wochen. Laravel-Projekte variieren je nach Umfang. Verzögerungen entstehen in der Praxis fast nur durch fehlende Inhalte auf Kundenseite — deshalb klären wir im Erstgespräch, welche Inhalte Sie bis wann bereitstellen.

Bieten Sie auch laufende Betreuung nach dem Launch an?

Ja, und das empfehle ich auch. Websites brauchen regelmäßige Updates (WordPress-Core, Plugins, PHP-Versionen), Sicherheits-Monitoring und Performance-Optimierung. Ich biete Wartungspakete an, die das abdecken — Content-Änderungen und kleinere Anpassungen sind darin oft inkludiert.

Ich brauche eine Webanwendung, nicht nur eine Website. Geht das?

Ja, das ist einer meiner Schwerpunkte. Ich entwickle maßgeschneiderte Anwendungen mit Laravel — von internen Tools über Kundenportale bis zu SaaS-Produkten. Ob Sie eine Website oder eine Webanwendung brauchen, klären wir im Erstgespräch; die Antwort hängt davon ab, was die Software für Ihr Geschäft leisten soll.

Arbeiten Sie auch mit Agenturen oder Teams zusammen?

Ja. Für Wiener Agenturen, die Entwicklungskapazität brauchen, arbeite ich als externer Entwickler im Team mit — besonders bei Laravel und komplexen WordPress/WooCommerce-Setups. Ich integriere mich in bestehende Workflows (Git, Jira, Slack, Teams) und liefere zuverlässig innerhalb der Deadlines. Diskretion gegenüber Ihren Endkunden ist selbstverständlich.

{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Haben Sie ein Büro in Wien?","acceptedAnswer":{"@type":"Answer","text":"Mein Standort ist Mistelbach im Weinviertel — rund 45 Minuten von Wien. Für Kundentermine bin ich regelmäßig in Wien vor Ort. Die meisten meiner Wiener Kunden schätzen die Kombination aus persönlichen Treffen bei wichtigen Meilensteinen und effizienter digitaler Zusammenarbeit dazwischen. Für Kick-off und Design-Präsentation treffe ich Sie gerne persönlich, für Zwischenabstimmungen sind Videocall und Bildschirmfreigabe die effizienteren Werkzeuge."}},{"@type":"Question","name":"Wie unterscheiden Sie sich von Wiener Webagenturen?","acceptedAnswer":{"@type":"Answer","text":"Bei SERVIT gibt es keine Zwischenebene. Sie arbeiten direkt mit mir als Entwickler und Berater: keine Informationsverluste, schnellere Entscheidungen, ein Ansprechpartner, der die strategische und die technische Seite versteht. Meine Konditionen sind fairer, weil kein Overhead für Büroräume, Projektmanagement-Layer und Vertriebsteams auf Ihrer Rechnung landet."}},{"@type":"Question","name":"Wie schnell können Sie mein Projekt umsetzen?","acceptedAnswer":{"@type":"Answer","text":"Eine typische Unternehmenswebsite ist in 4–6 Wochen fertig, ein WooCommerce-Shop mit individuellen Anforderungen in 6–10 Wochen. Laravel-Projekte variieren je nach Umfang. Verzögerungen entstehen in der Praxis fast nur durch fehlende Inhalte auf Kundenseite — deshalb klären wir im Erstgespräch, welche Inhalte Sie bis wann bereitstellen."}},{"@type":"Question","name":"Bieten Sie auch laufende Betreuung nach dem Launch an?","acceptedAnswer":{"@type":"Answer","text":"Ja, und das empfehle ich auch. Websites brauchen regelmäßige Updates (WordPress-Core, Plugins, PHP-Versionen), Sicherheits-Monitoring und Performance-Optimierung. Ich biete Wartungspakete an, die das abdecken — Content-Änderungen und kleinere Anpassungen sind darin oft inkludiert."}},{"@type":"Question","name":"Ich brauche eine Webanwendung, nicht nur eine Website. Geht das?","acceptedAnswer":{"@type":"Answer","text":"Ja, das ist einer meiner Schwerpunkte. Ich entwickle maßgeschneiderte Anwendungen mit Laravel — von internen Tools über Kundenportale bis zu SaaS-Produkten. Ob Sie eine Website oder eine Webanwendung brauchen, klären wir im Erstgespräch; die Antwort hängt davon ab, was die Software für Ihr Geschäft leisten soll."}},{"@type":"Question","name":"Arbeiten Sie auch mit Agenturen oder Teams zusammen?","acceptedAnswer":{"@type":"Answer","text":"Ja. Für Wiener Agenturen, die Entwicklungskapazität brauchen, arbeite ich als externer Entwickler im Team mit — besonders bei Laravel und komplexen WordPress/WooCommerce-Setups. Ich integriere mich in bestehende Workflows (Git, Jira, Slack, Teams) und liefere zuverlässig innerhalb der Deadlines. Diskretion gegenüber Ihren Endkunden ist selbstverständlich."}}]}
.reveal{ opacity:0; transform: translateY(12px); will-change: opacity, transform; } .reveal.is-in{ opacity:1; transform:none; transition:opacity .5s ease, transform .5s cubic-bezier(.22,1,.36,1); } @media (prefers-reduced-motion: reduce){ .reveal,.reveal.is-in{ transition:none; } } (()=>{const els=[...document.querySelectorAll('.reveal')]; const io=new IntersectionObserver(es=>{es.forEach(e=>{if(e.isIntersecting){e.target.classList.add('is-in');io.unobserve(e.target);}})},{threshold:.15}); els.forEach(el=>io.observe(el));})(); (()=> { // bewegt den Tint relativ zum Element function updateVars(el, clientX, clientY){ const r = el.getBoundingClientRect(); el.style.setProperty('--mx', (clientX - r.left) + 'px'); el.style.setProperty('--my', (clientY - r.top) + 'px'); } // Delegation: reagiert nur, wenn über .sv-hover-grid let raf = null, last = null, currentEl = null; function onPointerMove(e){ const el = e.target.closest('.sv-hover-grid'); if(!el) return; currentEl = el; last = { el, x:e.clientX, y:e.clientY }; if(raf) return; raf = requestAnimationFrame(() => { if (last) updateVars(last.el, last.x, last.y); raf = null; }); } // Bei Eintritt kurz initialisieren (sonst beginnt der Tint in der Mitte) function onEnter(e){ const el = e.target.closest('.sv-hover-grid'); if(!el) return; updateVars(el, e.clientX, e.clientY); } // Listener (passive = true für Scroll-Perf) window.addEventListener('pointermove', onPointerMove, { passive:true }); window.addEventListener('pointerenter', onEnter, { capture:true, passive:true }); })();
<!-- Backdrop (will be portaled to ) --> <!-- Panel (will be portaled to ) -->
Kontaktanfrage (Leistungsseite)
form.fluent_form_16 .wpf_has_custom_css.ff-btn-submit { background-color:rgba(0, 143, 191, 1);border-color:rgba(0, 143, 191, 1);color:#ffffff;border-radius:10px;min-width:100%; }form.fluent_form_16 .wpf_has_custom_css.ff-btn-submit:hover { background-color:rgba(47, 191, 239, 1);border-color:rgba(47, 191, 239, 1);color:#FFFFFF;min-width:100%; }
window.fluent_form_ff_form_instance_16_2 = {"id":"16","ajaxUrl":"https:\/\/servit.dev\/wp-admin\/admin-ajax.php","settings":{"layout":{"labelPlacement":"top","helpMessagePlacement":"with_label","errorMessagePlacement":"inline","asteriskPlacement":"asterisk-right"},"restrictions":{"denyEmptySubmission":{"enabled":false}}},"form_instance":"ff_form_instance_16_2","form_id_selector":"fluentform_16","rules":{"names[first_name]":{"required":{"value":true,"message":"Dieses Feld ist erforderlich","global":false,"global_message":"Dieses Feld ist erforderlich"}},"names[middle_name]":{"required":{"value":false,"message":"Dieses Feld ist erforderlich","global":false,"global_message":"Dieses Feld ist erforderlich"}},"names[last_name]":{"required":{"value":true,"message":"Dieses Feld ist erforderlich","global":false,"global_message":"Dieses Feld ist erforderlich"}},"phone":{"required":{"value":true,"message":"Dieses Feld ist erforderlich","global":false,"global_message":"Dieses Feld ist erforderlich"},"valid_phone_number":{"value":true,"message":"Telefonnummer ist nicht g\u00fcltig","global":false,"global_message":"Telefonnummer ist nicht g\u00fcltig"}},"email":{"required":{"value":true,"message":"Dieses Feld ist erforderlich","global":false,"global_message":"Dieses Feld ist erforderlich"},"email":{"value":true,"message":"Dieses Feld muss eine g\u00fcltige E-Mail-Adresse enthalten","global":false,"global_message":"Dieses Feld muss eine g\u00fcltige E-Mail-Adresse enthalten"}},"description_1":{"required":{"value":false,"message":"Dieses Feld ist erforderlich","global":false,"global_message":"Dieses Feld ist erforderlich"}},"input_radio_1":{"required":{"value":false,"message":"Dieses Feld ist erforderlich","global_message":"Dieses Feld ist erforderlich","global":true}},"fcal_booking":{"required":{"value":true,"message":"Datum und Uhrzeit des Termins sind erforderlich","global":false,"global_message":"Dieses Feld ist erforderlich"}},"gdpr-agreement":{"required":{"value":true,"message":"Dieses Feld ist erforderlich","global":false,"global_message":"Dieses Feld ist erforderlich"}}},"debounce_time":300,"conditionals":{"fcal_booking":{"type":"any","status":true,"conditions":[{"field":"input_radio_1","value":"Ja","operator":"="}],"condition_groups":[{"rules":[{"field":"","value":"","operator":""}],"title":"","isEditingTitle":false,"isPreviewOpen":false,"isGroupOpen":true}]}},"file_upload_settings":[]};
:root{ --sc-accent:#008fbf; --sc-text:#0f172a; --sc-bg:#ffffff; --sc-muted:#64748b; /* sehr hoher z-index (oberhalb typischer Header/Footer/Sticky) */ --sc-z-cta: 2147482000; --sc-z-backdrop: 2147483000; --sc-z-panel: 2147483500; } label { color:black;} .sc-wrap{ position:relative; isolation:isolate; } /* ===== Floating CTA (rechts, Mitte) ===== */ /* ===== Floating CTA – Update ===== */ .sc-cta-fab{ position: fixed; right: max(16px, env(safe-area-inset-right)); /* vertikal exakt zentriert */ top: 0; bottom: 0; /* erzeugt einen Block in voller Höhe */ margin-block: auto; /* zentriert das Element in diesem Block */ transform: none; /* kein translateY mehr nötig */ display: inline-flex; align-items: center; gap: 10px; height: 50px; padding: 0 14px; border-radius: 10px; box-sizing: border-box; /* wichtig für exakte Höhe */ background: var(--sc-accent); color: #fff; font-weight: 700; font-size: 16px; line-height: 1.2; /* genug Platz für Unterlängen */ z-index: var(--sc-z-cta); box-shadow: 0 10px 30px rgba(0,0,0,.18); clip-path: inset(0 0 0 0 round 10px); transition: width .25s ease, box-shadow .2s ease, opacity .2s ease; white-space: nowrap; width: 58px; padding-bottom: 0; /* kein optischer Versatz mehr */ } .sc-cta-fab:active{ transform: translateY(1px); } /* kleiner Klick-Feedback ohne Center-Verschiebung */ .sc-cta-fab:hover { background:#2fbfef; } .sc-cta-icon{ display:inline-grid; place-items:center; flex:0 0 auto; } .sc-cta-label{ opacity:0; width:0; overflow:hidden; transition:opacity .2s ease, width .25s ease; } .sc-cta-arrow{ opacity:0; transform:translateX(-4px); transition:opacity .2s ease, transform .25s ease; flex:0 0 auto; } .sc-cta-icon svg{ display:block; } /* entfernt extra Inline-Space */ .sc-cta-label{ display:block; padding-top:1px; } /* minimaler Ausgleich für optische Mitte */ .sc-cta-arrow{ display:block; } /* Expand bei Hover + nach Scroll (.sc-expanded setzt JS) */ .sc-cta-fab:hover, .sc-cta-fab.sc-expanded{ width:240px; } .sc-cta-fab:hover .sc-cta-label, .sc-cta-fab.sc-expanded .sc-cta-label{ opacity:1; width:auto; } .sc-cta-fab:hover .sc-cta-arrow, .sc-cta-fab.sc-expanded .sc-cta-arrow{ opacity:1; transform:translateX(0); } @media (max-width:640px){ .sc-cta-fab{ top: auto; bottom: 16px; margin-block: 0; right: max(12px, env(safe-area-inset-right)); width: 58px; height: 56px; } .sc-cta-fab:hover{ width:58px; } /* mobil nur Icon */ } /* ===== Backdrop & Panel ===== */ .sc-backdrop{ position:fixed; inset:0; background:rgba(15,23,42,.48); opacity:0; transition: opacity .25s ease; z-index:var(--sc-z-backdrop); } .sc-panel{ position:fixed; top:0; right:0; height:100dvh; width:min(560px, 100vw); background:var(--sc-bg); color:var(--sc-text); box-shadow:-20px 0 60px rgba(0,0,0,.26); transform: translate3d(100%,0,0) rotateZ(.3deg) scale(.98); transition: transform .45s cubic-bezier(.22,1,.36,1); z-index:var(--sc-z-panel); display:flex; flex-direction:column; border-top-left-radius:12px; border-bottom-left-radius:12px; will-change: transform; } @media (max-width:640px){ .sc-panel{ width:100vw; border-radius:12px 12px 0 0; bottom:0; top:auto; right:auto; left:0; transform: translate3d(0,100%,0) scale(.98); } } .sc-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid #e5e7eb; position:sticky; top:0; background:var(--sc-bg); z-index:1; } .sc-head h3{ font-size:18px; margin:0; } .sc-close{ appearance:none; background:none; border:0; font-size:28px; line-height:1; cursor:pointer; color:var(--sc-muted); } .sc-body{ padding:16px 20px 28px; overflow:auto; } .sc-highlights{ display:flex; flex-wrap:wrap; gap:8px 12px; margin:0 0 16px; padding:0; list-style:none; color:var(--sc-muted); } .sc-highlights li{ display:flex; align-items:center; gap:6px; font-size:14px; background:#f6f8fb; padding:8px 10px; border-radius:10px; } .sc-form :where(form){ margin-top:8px; } .sc-trust{ margin-top:16px; display:grid; gap:6px; color:var(--sc-muted); font-size:12px; } .sc-noscript{ margin-top:16px; border:1px solid #e5e7eb; border-radius:10px; padding:16px; } .sc-backdrop[data-open]{ opacity:1; } .sc-panel[data-open-desktop]{ transform: translate3d(0,0,0) rotateZ(0) scale(1); } @media (max-width:640px){ .sc-panel[data-open-mobile]{ transform: translate3d(0,0,0) scale(1); } } @media (prefers-reduced-motion: reduce){ .sc-backdrop, .sc-panel, .sc-cta-fab{ transition:none !important; } } /* expandiert WÄHREND gescrollt wird */ .sc-cta-fab.sc-scrolling { width: 240px; } .sc-cta-fab.sc-scrolling .sc-cta-label, .sc-cta-fab.sc-scrolling .sc-cta-arrow{ opacity: 1; width: auto; transform: translateX(0); } /* optional: sobald der User ganz oben ist, immer kompakt */ body.at-top .sc-cta-fab{ width: 58px; } .ff_t_c{ font-size:1rem; } .hero-bg{ position:absolute; inset:-20% -10% -10% -10%; background-image: linear-gradient(#eceff3 1px, transparent 1px), linear-gradient(90deg, #eceff3 1px, transparent 1px); background-size:40px 40px; } @media (prefers-reduced-motion:no-preference){ .hero-bg{ animation:gridShift 20s linear infinite; } @keyframes gridShift{ 0%{ background-position:0 0, 0 0; } 100%{ background-position:80px 40px, 40px 80px; } } } /* Mobile: unten rechts, Hide/Show beim Scrollen */ @media (max-width:640px){ .sc-cta-fab{ position: fixed; right: max(12px, env(safe-area-inset-right)); bottom: calc(12px + env(safe-area-inset-bottom)); top: auto; margin-block: 0; transform: none; width: 58px; height: 56px; padding: 0 14px; border-radius: 10px; transition: transform .28s ease, opacity .2s ease; z-index: var(--sc-z-cta); } .sc-cta-fab.is-hidden{ transform: translateY(140%); /* sauber aus dem Bild */ opacity: 0; } /* Mobile: niemals automatisch breit werden */ .sc-cta-fab.sc-scrolling{ width:58px; } } /* ========== Mobile FAB Verhaten ========== */ @media (max-width:640px){ .sc-cta-fab{ position: fixed; right: max(12px, env(safe-area-inset-right)); bottom: calc(12px + env(safe-area-inset-bottom)); top: auto; margin-block: 0; transform: none; width: 58px; height: 56px; padding: 0 14px; border-radius: 10px; transition: transform .28s ease, opacity .2s ease, width .25s ease; z-index: var(--sc-z-cta); } /* runter scrollen -> ausblenden */ .sc-cta-fab.is-hidden{ transform: translateY(140%); opacity: 0; } /* hoch scrollen -> einblenden + AUFKLAPPEN */ .sc-cta-fab.is-expanded{ width: 236px; /* gleiche Breite wie Desktop-Expand */ } .sc-cta-fab .sc-cta-label, .sc-cta-fab .sc-cta-arrow{ opacity: 0; width: 0; overflow: hidden; transform: translateX(-4px); transition: opacity .2s ease, transform .25s ease, width .25s ease; } .sc-cta-fab.is-expanded .sc-cta-label, .sc-cta-fab.is-expanded .sc-cta-arrow{ opacity: 1; width: auto; transform: translateX(0); } } /* ========== Mobile: Verläufe ausblenden ========== */ /* 1) Generisch: überall, wo du Gradient-Hintergründe nutzt */ @media (max-width:640px){ .no-mobile-gradient{ background-image: none !important; } } /* 2) Spezifisch: Hero-/Band-Verlaufe falls vorhanden */ @media (max-width:640px){ .hero{ background: #fff !important; } /* statt Verlauf */ .hero-bg{ display: none !important; } /* Deko-Grid/Verlauf-Layer abschalten */ .band{ background: var(--sv-bg-alt) !important; } /* ohne Verlauf */ } /* 3) Falls dein Button selbst einen Verlauf hat */ @media (max-width:640px){ .sc-cta-fab{ background-image: none !important; } } (()=>{ const fab = document.querySelector('.sc-cta-fab'); if (!fab) return; const mqMobile = window.matchMedia('(max-width: 640px)'); const passive = { passive: true }; let rafId = null; let idleTimer = null; let lastY = window.scrollY; /* ---------- Desktop: expand while scrolling ---------- */ function desktopTick(){ fab.classList.add('sc-scrolling'); // deine Desktop-Expand-Klasse clearTimeout(idleTimer); idleTimer = setTimeout(()=> fab.classList.remove('sc-scrolling'), 600); rafId = null; } function onDesktopScroll(){ if (rafId) return; rafId = requestAnimationFrame(desktopTick); } /* ---------- Mobile: down=hide, up=show+expand, idle=collapse ---------- */ function mobileTick(){ const y = window.scrollY; const dy = y - lastY; if (Math.abs(dy) > 6){ // Schwelle gegen Jitter if (dy > 0){ // Runter: ausblenden + sicher einklappen fab.classList.add('is-hidden'); fab.classList.remove('is-expanded'); } else { // Rauf: einblenden + AUFKLAPPEN fab.classList.remove('is-hidden'); fab.classList.add('is-expanded'); // Nach Idle wieder einklappen, aber sichtbar bleiben clearTimeout(idleTimer); idleTimer = setTimeout(()=> fab.classList.remove('is-expanded'), 700); } lastY = y; } rafId = null; } function onMobileScroll(){ if (rafId) return; rafId = requestAnimationFrame(mobileTick); } /* ---------- Mode switching ---------- */ function enableDesktop(){ window.removeEventListener('scroll', onMobileScroll, passive); window.addEventListener('scroll', onDesktopScroll, passive); fab.classList.remove('is-hidden','is-expanded'); // initialer „aktiv“-Kick fab.classList.add('sc-scrolling'); clearTimeout(idleTimer); idleTimer = setTimeout(()=> fab.classList.remove('sc-scrolling'), 800); } function enableMobile(){ window.removeEventListener('scroll', onDesktopScroll, passive); window.addEventListener('scroll', onMobileScroll, passive); fab.classList.remove('sc-scrolling'); // Desktop-Expand nie auf Mobile fab.classList.remove('is-hidden'); // start sicht- & tappbar fab.classList.remove('is-expanded'); lastY = window.scrollY; } function applyMode(){ mqMobile.matches ? enableMobile() : enableDesktop(); } mqMobile.addEventListener?.('change', applyMode); applyMode(); // Optional: „am Seitenanfang“-State fürs Styling function markTop(){ document.body.classList.toggle('at-top', window.scrollY matchMedia('(max-width:640px)').matches; /* ----- Portal: Panel & Backdrop in verschieben, um Z-Index/Stacking zu entkoppeln ----- */ function portalize(node){ if (!node || node.dataset.scPortaled) return node; const clone = node; // wir verschieben das Original (keine Klone nötig) document.body.appendChild(clone); clone.dataset.scPortaled = 'true'; return clone; } backdrop = portalize(localBackdrop); panel = portalize(localPanel); function openPanel(){ lastFocus = document.activeElement; backdrop.hidden = false; panel.hidden = false; requestAnimationFrame(() => { backdrop.setAttribute('data-open',''); if (isMobile()) panel.setAttribute('data-open-mobile',''); else panel.setAttribute('data-open-desktop',''); cta.setAttribute('aria-expanded','true'); trapFocus(panel); }); } function closePanel(){ backdrop.removeAttribute('data-open'); panel.removeAttribute('data-open-desktop'); panel.removeAttribute('data-open-mobile'); cta.setAttribute('aria-expanded','false'); setTimeout(() => { backdrop.hidden = true; panel.hidden = true; if (lastFocus) lastFocus.focus({preventScroll:true}); }, 250); } cta.addEventListener('click', openPanel); backdrop.addEventListener('click', closePanel); panel.querySelector('[data-sc-close]').addEventListener('click', closePanel); window.addEventListener('keydown', (e) => { if (e.key === 'Escape') closePanel(); }); // Focus trap function trapFocus(modal){ const focusables = modal.querySelectorAll('a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])'); const first = focusables[0], last = focusables[focusables.length - 1]; if (first) first.focus(); function onKey(e){ if (e.key !== 'Tab') return; if (e.shiftKey && document.activeElement === first){ e.preventDefault(); last.focus(); } else if (!e.shiftKey && document.activeElement === last){ e.preventDefault(); first.focus(); } } modal.addEventListener('keydown', onKey); } // CTA dezent erweitern nach Scroll (einmal) let expandedOnce = false; function onScrollExpand(){ if (expandedOnce) return; if (window.scrollY > 300){ cta.classList.add('sc-expanded'); expandedOnce = true; window.removeEventListener('scroll', onScrollExpand); if (!isMobile()) setTimeout(()=>cta.classList.remove('sc-expanded'), 3500); } } window.addEventListener('scroll', onScrollExpand, { passive:true }); // Deep-link: #projekt-anfragen öffnet Panel (load + hashchange + Klicks auf Links) function checkHashOpen(){ if (location.hash === '#projekt-anfragen'){ openPanel(); } } window.addEventListener('hashchange', checkHashOpen); checkHashOpen(); document.addEventListener('click', (e)=>{ const a = e.target.closest('a[href="#projekt-anfragen"]'); if (!a) return; e.preventDefault(); if (!panel.hidden) return; openPanel(); history.pushState(null, '', '#projekt-anfragen'); }); window.addEventListener('popstate', ()=>{ if (location.hash !== '#projekt-anfragen' && !panel.hidden){ closePanel(); } }); })();

Frequently Asked Questions

Haben Sie ein Büro in Wien?

Mein Standort ist Mistelbach im Weinviertel — rund 45 Minuten von Wien. Für Kundentermine bin ich regelmäßig in Wien vor Ort. Die meisten meiner Wiener Kunden schätzen die Kombination aus persönlichen Treffen bei wichtigen Meilensteinen und effizienter digitaler Zusammenarbeit dazwischen. Für Kick-off und Design-Präsentation treffe ich Sie gerne persönlich, für Zwischenabstimmungen sind Videocall und Bildschirmfreigabe die effizienteren Werkzeuge.

Wie unterscheiden Sie sich von Wiener Webagenturen?

Bei SERVIT gibt es keine Zwischenebene. Sie arbeiten direkt mit mir als Entwickler und Berater: keine Informationsverluste, schnellere Entscheidungen, ein Ansprechpartner, der die strategische und die technische Seite versteht. Meine Konditionen sind fairer, weil kein Overhead für Büroräume, Projektmanagement-Layer und Vertriebsteams auf Ihrer Rechnung landet.

Wie schnell können Sie mein Projekt umsetzen?

Eine typische Unternehmenswebsite ist in 4–6 Wochen fertig, ein WooCommerce-Shop mit individuellen Anforderungen in 6–10 Wochen. Laravel-Projekte variieren je nach Umfang. Verzögerungen entstehen in der Praxis fast nur durch fehlende Inhalte auf Kundenseite — deshalb klären wir im Erstgespräch, welche Inhalte Sie bis wann bereitstellen.

Bieten Sie auch laufende Betreuung nach dem Launch an?

Ja, und das empfehle ich auch. Websites brauchen regelmäßige Updates (WordPress-Core, Plugins, PHP-Versionen), Sicherheits-Monitoring und Performance-Optimierung. Ich biete Wartungspakete an, die das abdecken — Content-Änderungen und kleinere Anpassungen sind darin oft inkludiert.

Ich brauche eine Webanwendung, nicht nur eine Website. Geht das?

Ja, das ist einer meiner Schwerpunkte. Ich entwickle maßgeschneiderte Anwendungen mit Laravel — von internen Tools über Kundenportale bis zu SaaS-Produkten. Ob Sie eine Website oder eine Webanwendung brauchen, klären wir im Erstgespräch; die Antwort hängt davon ab, was die Software für Ihr Geschäft leisten soll.

Arbeiten Sie auch mit Agenturen oder Teams zusammen?

Ja. Für Wiener Agenturen, die Entwicklungskapazität brauchen, arbeite ich als externer Entwickler im Team mit — besonders bei Laravel und komplexen WordPress/WooCommerce-Setups. Ich integriere mich in bestehende Workflows (Git, Jira, Slack, Teams) und liefere zuverlässig innerhalb der Deadlines. Diskretion gegenüber Ihren Endkunden ist selbstverständlich.

field_6a3d160992852

field_6a3d160992853