Freelance-Webentwickler für Selbstständige und kleine Betriebe

Ich baue schnelle Websites und Web-Apps, die verwirrte Besuche in echte Anfragen verwandeln.

Ich helfe Selbstständigen, Praxen, Kanzleien und kleinen Betrieben, veraltete Websites, unklare digitale Ideen und manuelle Abläufe in klare, gepflegte und einfach nutzbare Lösungen zu verwandeln.

  • ✓ Kostenloses Erstgespräch, 20 Minuten
  • ✓ Schriftliche Offerte innert 48h
  • ✓ Erste Version online in 1–3 Wochen
Hassan Akkari, Freelance-Webentwickler
erstes Jahr Software-Entwicklung
2022
typische erste Antwort
24h
aggressive Verkaufsanrufe
0

Ich arbeite täglich an echten Web-Produkten, mit echten Nutzern und komplexen Abläufen. Dieselbe Methode bringe ich in ausgewählte Freelance-Projekte: weniger Improvisation, mehr Struktur.

Probleme, die ich löse

Wenn Sie sich in einem dieser Probleme wiedererkennen, braucht Ihre Website nicht nur ein Facelift — sie braucht Ordnung.

  • Sie haben eine alte Website, die Sie nicht mehr repräsentiert

    Langsam, unschön auf dem Handy, generische Texte. Sie öffnen sie vor einem Kunden und schämen sich ein wenig.

  • Die Website existiert, bringt aber keine Anfragen

    Besucher öffnen sie, verstehen nicht, was Sie anbieten, und gehen wieder. Keine klaren CTAs, kein WhatsApp, kein Formular, das funktioniert.

  • Ihr Online-Auftritt ist verstreut und wenig glaubwürdig

    Ein Instagram, eine Website von vor 10 Jahren, ein eingeschlafenes Facebook. Wer Sie googelt, fasst kein Vertrauen.

  • Sie verwalten noch alles über Excel und WhatsApp

    Buchungen, Kunden, Karteien, Bestellungen. Es funktioniert, aber es kostet Zeit und lässt Sie unstrukturiert wirken.

  • Sie haben eine Idee für eine Website oder App, wissen aber nicht, wo anfangen

    Sie wissen, dass Sie etwas brauchen — aber nicht, ob es eine Website, eine Landing Page, eine Web-App oder einfach ein geordneteres System ist.

  • Sie sind WordPress leid, das als «massgeschneiderte Lösung» verkauft wird

    Plugins, die kaputtgehen, gekaufte Templates, schwache Performance — und einfache Änderungen, die immer kompliziert werden.

Leistungen & Pakete

Vier konkrete Wege zu einem besseren Online-Auftritt.

Richtpreise — nach dem Erstgespräch erhalten Sie eine schriftliche, fixe Offerte ohne Überraschungen.

Professionelle Landing Page

Eine Seite, gebaut um eine Leistung zu verkaufen oder Anfragen zu sammeln. Online in einer Woche.

Ideal für Selbstständige, Freelancer und kleine Betriebe, die eine bestimmte Leistung, eine Kampagne, ein Angebot oder eine neue Tätigkeit bewerben wollen.

Ab 600 €5-7 Arbeitstage
  • Massgeschneidertes Design, mobile-first
  • Texte strukturiert für Conversion
  • Kontaktformular + WhatsApp-Button
  • Basis-SEO (Title, Meta, korrekte Struktur)
  • Optimierte Mobile-Performance
  • Hosting- und Domain-Einrichtung gemeinsam
  • Komplexe Buchungslogik
  • Kundenbereich / Login
  • E-Commerce mit Katalog
Am meisten gefragt

Professionelle Website für Betriebe, Praxen und Kanzleien

Die Website, die Ihrem Betrieb Glaubwürdigkeit gibt. Klar, schnell, gebaut, damit man Sie kontaktiert.

Praxen, Kanzleien, Selbstständige und kleine Unternehmen mit einer veralteten Website (oder ganz ohne), die online seriös auftreten wollen.

Ab 1'500 €2-3 Wochen
  • Startseite, Über uns, Leistungen, Kontakt, FAQ
  • Konsistentes, responsives Design auf jedem Gerät
  • Technisches Basis-SEO + korrekte Meta-Tags
  • Kontaktformular + WhatsApp + Google Maps
  • Optimierte Performance und Core Web Vitals
  • Begleitung bei Hosting/Domain
  • Native Mobile-Apps
  • Kundenbereich / User-Login
  • Fortgeschrittener E-Commerce

Massgeschneiderte Web-App / MVP

Ein kleines Web-System, das Abläufe aus Excel, WhatsApp oder improvisierten Tools herausholt.

Founder mit einer Produktidee, Teams, die auf Excel/WhatsApp feststecken, oder alle, die einen Prozess digitalisieren müssen. Wir starten mit der ersten nützlichen Version — nicht mit dem ganzen Schloss.

Ab 3'500 €4-8 Wochen
  • Problemanalyse und MVP-Definition
  • Kundenbereich / Login / Dashboard
  • Verwaltung von Daten, Buchungen, Inhalten
  • REST-APIs und Integrationen mit Drittdiensten
  • Solide technische Basis, einfach weiterzuentwickeln ohne Neuanfang
  • Abschliessende Dokumentation und Übergabe
  • Laufende Wartung nach dem Launch (separat, per Vertrag)
  • Native iOS/Android-Apps (nur responsive Web-Apps)

Strategisches Redesign der bestehenden Website

Ihre Website ist alt, langsam oder repräsentiert Sie nicht mehr? Ich bringe sie in Ordnung — ohne bei null anzufangen.

Sie haben bereits eine Website (auch WordPress), verlieren aber Anfragen durch veraltetes Design, schwache Performance oder eine verwirrende Struktur.

Ab 800 €1-2 Wochen
  • Vollständiges Audit: Design, UX, Performance, Basis-SEO
  • UI-Überarbeitung der wichtigsten Seiten
  • Verbesserung von Geschwindigkeit und Mobile-Erlebnis
  • Neue CTAs und Kontaktwege
  • Überarbeitete Abschnitte mit klareren Texten
  • Abschlussbericht: was sich geändert hat und warum
  • Kompletter Neuaufbau von Grund auf (anderes Paket)
  • Migration von E-Commerce mit tausenden Produkten

Nicht sicher, welches Paket passt? Schreiben Sie mir, wir klären es

Für wen ich arbeite

Ich arbeite mit Menschen, die mehr digitale Ordnung brauchen.

Drei verschiedene Gruppen, ein gemeinsames Ziel: eine Website oder ein kleines Web-System, das klarer macht, was Sie tun — und es einfacher macht, Sie zu kontaktieren.

  • Selbstständige, Praxen und Kanzleien

    Treuhänder, Anwälte, Berater, Architekten und Arztpraxen, die eine glaubwürdige, klare und kontaktorientierte Website wollen.

  • Lokale Betriebe und Dienstleister

    Fitnessstudios, Kosmetikinstitute, B&Bs, Restaurants, Schulen und Vereine: Leistungen, Öffnungszeiten, Verfügbarkeiten, Kontakte und Buchungen — geordnet an einem Ort.

  • Founder und kleine Teams

    Menschen, die ein MVP, ein Dashboard, interne Tools oder digitale Abläufe brauchen, um Prozesse aus Excel und WhatsApp herauszuholen.

Arbeitsweise

Vier einfache Schritte, vom ersten Gespräch bis zur Website online.

Einfache Methode: Wir verstehen das Problem, legen den Umfang fest, Sie arbeiten mit sichtbaren Vorschauen — dann geht es online.

  1. Ich verstehe, was Sie wirklich brauchen

    Ein kostenloses Gespräch von 20-30 Minuten. Sie schildern das Problem, ich stelle die richtigen Fragen. Am Ende haben Sie mehr Klarheit — auch wenn wir nicht zusammenarbeiten.

  2. Sie erhalten eine klare Offerte

    Eine schriftliche Offerte: was ich mache, was nicht, was es kostet, in welcher Zeit. Keine Überraschungen, keine versteckten Kosten, kein «schauen wir dann».

  3. Ich baue mit sichtbaren Vorschauen

    Sie sehen den Fortschritt, während ich arbeite. Online-Vorschau jederzeit verfügbar, schnelles Feedback per WhatsApp oder E-Mail, nachvollziehbare Entscheidungen ohne Chaos.

  4. Ich publiziere und bleibe erreichbar

    Wir gehen online, prüfen, dass alles funktioniert, und ich zeige Ihnen, wie Sie kleine Änderungen selbst verwalten. Für Weiterentwicklungen gibt es eigene Pakete — keine Zwangs-Abos.

Projekte & Case Studies

Ein persönliches Produkt und drei berufliche Case Studies, sauber getrennt.

Bookable ist durchgehend meins: live, mit Quellcode. Die beruflichen Case Studies stammen aus einem produktiven mandantenfähigen Produkt, anonymisiert, mit ihren Zahlen und ihren Grenzen.

Persönliches Projekt

Bookable — Multi-Style Booking Platform

Full-Stack-Buchungsplattform für lokale Dienstleister: öffentlicher Katalog, validierter Buchungsanfrage-Fluss und ein Admin-Dashboard. Persönliches Projekt, live auf bookable.itshassan.it, Quellcode in meinem öffentlichen Monorepo.

Bookable — Multi-Style Booking Platform — Editorial design variant

Problem

Ein lokaler Betrieb möchte seine Leistungen veröffentlichen und Anfragen online erhalten — mit eigener Identität, nicht mit dem x-ten identischen Template. Und in der Offerte ist ein einziges fixes Design eine schwache Position.

Was ich getan habe

  • Allein umgesetzt, end-to-end: Schema und Migrationen, Server Actions, Admin-Bereich, drei Design-Varianten und Deployment
  • Ein Content-Modell, gerendert in drei kompletten Design-Systemen (Editorial / Warm / Bold), gewählt über ein serverseitig gelesenes Cookie
  • Next.js 16 App Router + Server Actions, Drizzle ORM auf Neon Postgres, mit einem Repository-Layer, der die Seiten schlank hält
  • Zod-Validierung, geteilt zwischen Formular und Server; Preise als ganzzahlige Cents gespeichert; generische Fehler zum Client

Was es heute kann

  • Katalog, Detailseite mit Galerie und Buchungsanfrage-Formular, in drei live umschaltbaren Designs
  • Admin hinter einem Login (versiegeltes iron-session-Cookie + bcrypt): Leistungen, Preise, Bilder und Status der Anfragen
  • Startet auch ohne Datenbank (Beispieldaten plus Demo-Banner); live auf eigener Domain bei Vercel
Stack: Next.js 16 · React 19 · Drizzle ORM · Neon Postgres · iron-session · ZodWas es zeigt: Ich kann ein vollständiges Full-Stack-Produkt konzipieren und in Produktion bringen — Data-Layer, Auth, Validierung und ein unverwechselbares Design-System — nicht nur Visitenkarten-Websites.

Grenzen der Demo

  • Ein Anfrage-System, keine Terminplanung: keine Slot-Verfügbarkeit und kein Schutz vor Doppelbuchungen
  • Der Admin-Bereich ist nicht öffentlich: die Demo zeigt Katalog, Detailseite und Formular
  • Anfragen aus der Demo landen tatsächlich im Dashboard des Projekts: bitte fiktive Daten verwenden
  • Kein Rate-Limiting und kein explizites CSRF-Token: MVP-Stand, im README ausgewiesen

Berufliche Erfahrung

Drei Arbeiten an einem produktiven mandantenfähigen Produkt: was ich vorgefunden habe, was ich entschieden habe, was ich belegen kann. Unternehmen und Produkt sind anonymisiert; jede Zahl kommt mit ihrer Grenze.

Produktionsvorfall · ASP.NET Core

Eine Race Condition auf HttpClient-Headern in Produktion beseitigen

Sporadische 500er, defekte Seitenleisten und überraschende Logouts auf einer produktiven mandantenfähigen Plattform, zurückgeführt auf geteilte, veränderbare Header eines Singleton-HttpClient. Behoben, ohne einen öffentlichen Vertrag anzufassen.

  • Ursache aus Azure-Telemetrie und Stack Traces gefunden, nicht aus einer lokalen Reproduktion
  • 12 gezielte Regressionstests, darunter 2 Benutzer mit 40 überlappenden Aufrufen über einen Client
  • Nach dem Deployment traten die Fehler nicht mehr auf (operative Beobachtung)

Stack: ASP.NET Core · C# · HttpClient · Polly · Azure Application Insights · NUnit

Frontend-Architektur · Inkrementelle Migration

Eine schrittweise Migration von Razor zu React leiten, ohne ein produktives Produkt anzuhalten

Eine produktive mandantenfähige ASP.NET-Core-Oberfläche aus MVC, Razor, jQuery und Blazor liess sich nicht in einem Zug neu schreiben. Ich habe den Frontend-Weg verantwortet, auf dem React darin wachsen konnte, Seite für Seite, mit Sicherheitsgrenzen und Release-Absicherungen.

  • Echte React-Routen wuchsen zwischen der Juni-Baseline und dem September-Snapshot von 10 auf 112
  • JavaScript-Einstiegsartefakt von 1'764'861 auf 63'249 Bytes (nur der Einstiegs-Chunk)
  • 108 echte Routen auf der Staging-Linie, davon 65 explizit auf Legacy-URLs abgebildet

Stack: React · TypeScript · React Router · Redux Toolkit · RTK Query · Vite (library mode) · ASP.NET Core · BFF

Backend-Architektur · Teamarbeit

Einen monolithischen BFF in Feature-Slices zerlegen, ohne einen Vertrag zu ändern

Während der React-Migration war das ASP.NET-Core-Backend-for-Frontend zum Merge-Engpass geworden: eine Endpunktdatei mit 5'657 Zeilen, 128 HTTP-Registrierungen, eine DI, die zwischen Produktion und Tests auseinanderlaufen konnte. Ich habe die Extraktion in Slices pro Feature geleitet, abgesichert durch OpenAPI-Snapshots.

  • Zentrale Endpunktdatei von 5'657 auf 81 Zeilen; von 128 Registrierungen auf 0 Handler
  • Alle 307 Swagger-Operationen beim Staging-Umschalten erhalten
  • In Testing, Staging und Produktion in Betrieb innerhalb von rund zwei Wochen

Stack: ASP.NET Core · C# · Endpoint routing · Dependency injection · Swagger / OpenAPI · NUnit

Weitere berufliche Arbeiten

Hospitality-E-Commerce-Plattform — UI-Standards und Kernflüsse

Komplexes Enterprise-Produkt mit verteiltem Team und mehreren Modulen. Legacy-Codebasis mit verstreuten UI-Regeln.

Problem

Duplizierte Komponenten, unterschiedliche Konventionen zwischen Modulen, häufige Regressionen beim Release. Jedes neue Feature kostete mehr als geplant.

Was ich getan habe

  • Gemeinsame UI-Standards eingeführt (Klassen, Styles, Naming), die vom Team wiederverwendet werden
  • Kernflüsse (Buchung, Katalog, Checkout) in React + Redux Toolkit refaktoriert
  • Wiederverwendbare Patterns, die die Lieferung planbarer gemacht haben

Was es heute kann

  • Vorher: ähnliche Module hatten unterschiedliche Buttons, Layouts und Verhalten
  • Nachher: gemeinsame Patterns machten die Oberfläche konsistenter und einfacher zu warten
  • Ergebnis: weniger subjektive PR-Diskussionen und weniger Regressionen auf den gemeinsamen Screens
Stack: React · TypeScript · Redux Toolkit · REST APIs · Tailwind CSSWas es zeigt: Ich kann Ordnung in grosse, produktive Codebasen bringen — ohne sie von Grund auf neu zu schreiben.

Migration Bootstrap → Tailwind

Web-Anwendung auf Bootstrap + Vendor-Komponenten mit jahrelangen Patches obendrauf. Inkonsistente Layouts zwischen ähnlichen Seiten.

Problem

Eine Stiländerung brach Seiten an unerwarteten Stellen. Geringe Iterationsgeschwindigkeit — jede kleine Änderung erforderte manuelle Checks über Dutzende Screens.

Was ich getan habe

  • Audit, welche Komponenten wirklich genutzt werden und welche tot sind
  • Progressive Seite-für-Seite-Migration, ohne die Roadmap einzufrieren
  • Ein Set wiederverwendbarer Tailwind-Patterns gebaut (Card, Formular, Layout, Button)

Was es heute kann

  • Vorher: eine Stiländerung erforderte manuelle Checks auf nicht verwandten Seiten
  • Nachher: gemeinsame Tailwind-Patterns für Cards, Formulare, Layouts und Buttons
  • Ergebnis: schnellere UI-Iterationen und mehr Kontrolle über das Design-System
Stack: Tailwind CSS · Component-Refactoring · UI-Standards · CSS-ArchitekturWas es zeigt: Ich kann eine bestehende Website modernisieren, ohne die bereits geleistete Arbeit wegzuwerfen.

Warum mit mir arbeiten

Der Unterschied zwischen einer massgeschneiderten Lösung und einer Website von der Stange.

  1. Ein Ansprechpartner, von der Idee bis zur Website online

    Keine Übergaben zwischen Account-Manager, Designer und Entwickler einer Agentur. Sie sprechen mit mir, entscheiden mit mir, erhalten die Arbeit von mir.

  2. Echte Erfahrung mit Produkten in Produktion

    Ich bringe eine Methode mit, die an echten Produkten, echten Nutzern und komplexen Abläufen erprobt ist. Auf Ihrem Projekt improvisiere ich nicht.

  3. Massgeschneiderte Lösungen, keine weiterverkauften Themes

    Ich baue mit React, TypeScript und Tailwind, wenn echte Kontrolle über Performance, Design und Abläufe zählt. Ich verkaufe kein Theme mit zwei geänderten Farben weiter.

  4. Klare Preise, klarer Umfang

    Ich sage Ihnen vorab, was drin ist und was nicht. Schriftliche Offerte, klare Prioritäten, nachvollziehbare Entscheidungen.

  5. Realistische Zeitpläne, keine Versprechen

    Eine Landing Page in einer Woche. Eine Website in 2-3 Wochen. Ein Web-App-MVP in 1-2 Monaten. Wenn ich einen Termin nicht halten kann, sage ich es sofort — nicht am Projektende.

  6. Nach dem Launch verschwinde ich nicht

    Ich bleibe per WhatsApp/E-Mail erreichbar für Fixes und Fragen. Wenn Sie eine Erweiterung oder eine neue Sektion möchten, erhalten Sie eine separate Offerte.

Technologien

Ein moderner Stack, gewählt für Ihr Projekt. Nicht für den Hype des Monats.

Den Stack wähle ich passend zum Projekt: Für eine «einfache» Landing Page verrechne ich Ihnen keine Full-Stack-Web-App — und für eine Web-App schlage ich Ihnen kein WordPress vor.

  • React
  • TypeScript
  • Vite
  • Node.js
  • ASP.NET / C#
  • Server Actions
  • Vitest / Playwright
  • Component-first-Architektur
  • CI lint+typecheck+test
  • Next.js
  • Tailwind CSS
  • Framer Motion
  • REST APIs
  • SQL Server
  • Zod
  • ESLint / strict TypeScript
  • Mobile-first / Basis-Barrierefreiheit
  • Vercel / OVH Deploy

Modernes Frontend

Was der Kunde sieht: schnell, responsiv, später einfach anzupassen.

Backend & Integrationen

Was die Dinge zum Laufen bringt: APIs, Formulare, Authentifizierung, Datenverwaltung.

Qualität & Delivery

Was den Unterschied macht: getesteter Code, echte Performance, einfache Wartung.

Aus dem digitalen Garten

Arbeitsnotizen, veröffentlicht während sie wachsen — das Denken hinter der Arbeit.

  • Git worktrees + hoisted pnpm: where did my binaries go?

    A git worktree is a fresh checkout — it has your files, not your node_modules. With pnpm's hoisted linker every tool binary lives at the original repo root, so eslint/vitest/next simply don't exist in the worktree.

    SetzlingGepflanzt 26. Juni 2026Zuletzt gepflegt 19. Juli 2026pnpmgitmonorepotooling
  • Never throw at module load in Next.js

    next build imports your modules with production NODE_ENV but none of your runtime env. A top-level throw on a missing env var kills the whole build. Degrade instead.

    WachsendGepflanzt 26. Juni 2026Zuletzt gepflegt 19. Juli 2026nextjspatternstil
  • Next.js 16: middleware.ts is now proxy.ts

    Next 16 renamed the middleware file convention to proxy.ts. Same API, better name — and a reminder that it should stay a cheap presence check, never your only auth gate.

    WachsendGepflanzt 26. Juni 2026Zuletzt gepflegt 19. Juli 2026nextjsfrontend

Alle Notizen ansehen →

Häufige Fragen

Was man mich vor dem Start fragt. Direkte Antworten.

  • WordPress ist völlig in Ordnung für Blogs und sehr einfache Websites. Ich verzichte darauf, wenn ein Projekt mehr Kontrolle über Performance, Design, Sicherheit oder individuelle Abläufe braucht. In diesen Fällen baue ich lieber eine leichtere, schnellere Lösung, die zu 100% Ihnen gehört.

Noch eine Frage? Schreiben Sie mir auf WhatsApp — ich antworte innert 24 Stunden (werktags).

Nicht sicher, ob Ihre Website Sie Kunden kostet?

Senden Sie mir die URL. Innert 24 Stunden (werktags) erhalten Sie ein klares Audit: was zuerst zu beheben ist und warum.

Ich antworte innert 24 Stunden (werktags) — hassan.akkari01@gmail.com — Roma, Italia