Das Problem
Wenn man in der Schweiz einen Betrieb mit Angestellten führt, lebt man — ob man will oder nicht — mit einem ganzen Stapel Recht. Das Arbeitsgesetz schreibt vor, wie lange jemand pro Tag arbeiten darf. Das Obligationenrecht regelt, wie lange Lohn weiterläuft, wenn jemand krank wird. Der Landesgesamtarbeitsvertrag des Gastgewerbes — wenn er für Sie gilt — schreibt Pausen, Mindestlöhne und Krankentaggeld-Prämien vor. Dazu kommen elf verschiedene Sozialversicherungen mit unterschiedlichen Sätzen und Schwellen, plus 26 Kantone mit jeweils eigenen Quellensteuer-Tarifen.
Für einen Restaurant-Betrieb mit 8 Mitarbeitenden bedeutet das in der Praxis: Wer eine Schicht von 22:00 bis 07:00 plant, sollte wissen, ob die Ruhezeit zum nächsten Dienst noch eingehalten ist. Wer einen Lohnzettel druckt, sollte alle Abzüge korrekt geteilt haben. Wer jemand krank gemeldet bekommt, sollte automatisch sehen, wie lange er den Lohn weiterzahlen muss — gestuft nach Dienstjahren. Und das alles muss zur richtigen Skala (Berner, Basler oder Zürcher) passen, je nachdem wo der Betrieb steht.
Realität in vielen Betrieben: jemand macht es im Kopf, jemand fragt den Treuhänder, oder jemand stückelt sich etwas mit Vorlagen zusammen. Bei einer Arbeitsinspektion kann das teuer werden. Wir wollten eine Lösung, in der die App das selbst weiss.
Was wir versucht haben — und warum die ersten drei Anläufe nicht funktioniert haben
Versuch 1: «Wir machen alles mit dem Sprachmodell»
Naheliegender erster Wurf: dem in der App eingebauten Sprachmodell jede Schichtplan- oder Lohn-Frage stellen und es das ausrechnen lassen. Die Antworten klangen plausibel — wenn das Modell denn fertig wurde. Auf den Mac-Geräten unserer Test-Betriebe brauchte das Modell für einen kompletten Wochen-Schichtplan-Vorschlag manchmal Minuten, nicht Sekunden. Wer schon mal im Schichtplaner gesessen ist und auf die KI gewartet hat, während die Pre-Service-Briefing-Zeit verstreicht, kennt das Gefühl. Erinnert sich noch jemand an das Chaos im Schichtplaner damals? Genau das. Ein lokales KI-Modell ist nur dann eine UX-Antwort, wenn es schnell antwortet — und das war es bei voller Verantwortung für das ganze Arbeitsrecht je nach Hardware nicht.
Versuch 2: «Dann eben reine Regeln, ohne KI»
Der korrekte Gegenpol: alle Regeln als deterministische Constraints im Code, jede Berechnung mit Artikel-Referenz, kein Sprachmodell. Juristisch perfekt — aber das Resultat war nie genau das, was wir wollten. Entweder schlug die Engine zu viele Schicht-Kombinationen vor (alle technisch erlaubten, ohne Berücksichtigung von Team-Präferenzen oder eingespielten Mustern), oder sie schlug nur die Hälfte vor (weil ein Constraint zu eng formuliert war). Wir bekamen entweder eine Liste mit hundert Schichtmöglichkeiten zur Auswahl, oder fünf, von denen vier praktisch unbrauchbar waren. Korrekt, aber nicht hilfreich. Der Mensch musste am Ende doch wieder alles manuell durchgehen.
Versuch 3: «KI generiert, Regel-Engine validiert mit Constraint-Injection»
Die intellektuell schönste Idee: das lokale Sprachmodell darf einen Schichtplan vorschlagen, bekommt dazu aber alle relevanten Regeln als Kontext mitgegeben, und die deterministische Regel-Engine prüft am Ende, ob alles eingehalten wurde. Bei Verstössen geht der Vorschlag in eine zweite Runde zurück. Wir haben das im Mai 2026 zwei Wochen lang aufgebaut — komplette Pipeline, Streaming-Token, Abbruch-Funktion, die ganze Infrastruktur. Die Architektur funktionierte. Aber: auf den heutigen Mac-Geräten (M1 bis M3) brauchte das Modell für eine einzige Woche Service-Department immer noch eineinhalb bis drei Minuten pro Vorschlag. Zumutbar für einen Forschungs-Prototyp, nicht zumutbar für eine Schichtleitung, die zwischen Pre-Service-Briefing und Bestellannahme schnell einen Plan braucht. Die Idee war richtig — die heutige Endgeräte-Realität gibt sie noch nicht her.
Die heutige Lösung: Constraint-Programming-Solver-First mit nachgelagerter Regel-Validation
Was wir jetzt machen, ist die ehrliche Antwort auf die Endgeräte-Realität: ein deterministischer Constraint-Programming-Solver baut den Schichtplan in unter einer Sekunde. Das kleine KI-Modell auf Ihrem Mac bleibt verfügbar — aber nicht für die Plan-Generierung, sondern für das, was es wirklich gut kann: erklären, warum dieser Mitarbeitende heute Frühschicht hat und ob es sinnvolle Alternativen gäbe.
Die Aufgabenteilung ist klar: Der Solver löst die kombinatorische Schichtplanung wie ein erfahrener Operations-Research-Algorithmus — Variable für jede Schichtzelle, Domäne aus passenden Mitarbeitenden, MRV-Greedy mit Forward-Checking und Hill-Climb. Das Schweizer Arbeitsrecht in SwiftliLegalCore validiert anschliessend das Resultat. Wenn die Engine eine Ruhezeit-Verletzung oder einen überlangen Wochen-Stundensatz findet, sehen Sie das als farbiges Badge direkt im Plan. Sie korrigieren die eine Zelle, der Solver schlägt eine neue Auswahl vor, das Badge verschwindet. Alles in Echtzeit, ohne Wartezeit.
SwiftliLegalCore selbst — die Regel-Engine — ist gleich aufgebaut geblieben: sieben Constraint-Validators für das Arbeitsgesetz und den L-GAV, elf Rechner für die Sozialversicherungen, drei Skalen für die Lohnfortzahlung, Quellensteuer-Tarife pro Kanton. Jede Regel hat eine Artikel-Referenz auf eine offizielle Quelle (Fedlex, BSV, SECO, ESTV, l-gav.ch). Was sich verändert hat: die Engine sitzt jetzt nach dem Solver, nicht vor einem KI-Vorschlag.
Das Resultat ist ein Schichtvorschlag, der nicht nur «plausibel» ist, sondern geprüft konform — und schnell genug, dass Sie nicht warten müssen. Der Solver baut, die Regel-Engine prüft.
Warum die KI nicht verschwindet: Das Sprachmodell auf Ihrem Mac bleibt aktiv für Q&A-Anfragen («wie viele Ruhetage hat ein Vollzeit-Service-Mitarbeitender nach L-GAV?») und für optionale Begründungen pro Schichtzelle, wenn Sie das möchten. Sobald die Hardware-Generation in ein bis zwei Jahren schnell genug ist, oder spezialisierte JSON-Grammar-Bibliotheken die Latenz halbieren, ist der KI-First-Pfad noch im Code und kann reaktiviert werden — als zusätzliche Option, nicht als Ersatz für den schnellen Solver.
Warum diese Lösung sicher ist
Quellen sind versioniert und nachweisbar
Jede Regel in SwiftliLegalCore hat eine Artikel-Referenz auf eine offizielle Quelle — Fedlex (das Bundesgesetz-Portal, frei zugänglich) für Arbeitsgesetz und Obligationenrecht, die offiziellen Verordnungen des Bundesamts für Sozialversicherungen für AHV/IV/EO-Sätze, l-gav.ch für den Gastgewerbe-GAV. Wenn ein Calculator etwas berechnet, taucht die Artikelnummer im Audit-Log auf. Sie können jederzeit nachvollziehen: woher kommt diese Berechnung?
Trust, but verify
Die KI darf vorschlagen, aber sie darf nichts entscheiden. Jeder Schichtvorschlag wird von der Regel-Engine geprüft, bevor er Ihnen angezeigt wird. Wenn die Engine sagt, eine Ruhezeit ist verletzt, dann ist sie verletzt — egal wie überzeugend die KI das Gegenteil behauptet.
Updates ohne App-Update
Die Sätze für 2027 ändern sich? Wir aktualisieren die Tarif-JSONs zentral, Ihre App bekommt sie über einen kleinen Update-Mechanismus mit. Keine neue App-Version, kein Neustart, keine Migrations-Pflicht. Das macht uns reaktionsfähig: wenn der Bund im Dezember etwas neu verordnet, kann Ihre App im Januar damit rechnen.
Lokal, nicht in der Cloud
Die ganze Berechnung läuft auf Ihrem Mac. Das KI-Modell läuft auf Ihrem Mac. Keine Lohndaten gehen je in eine US-Cloud, kein Anbieter sieht ihre Mitarbeiterzahlen oder Krankenstände. Die einzige Internet-Verbindung, die SwiftliLegalCore braucht, ist die für die zentralen Tarif-Updates — und auch das ist eine kleine JSON-Datei, keine Daten-Übertragung in Ihre Richtung.
Was diese Lösung einzigartig macht
Es gibt in der Schweiz hervorragende Lohnsoftware: viele Anbieter rechnen Schweizer Löhne korrekt. Es gibt sehr gute juristische Recherche-Werkzeuge — sie helfen beim Nachschlagen von Gesetzen. Es gibt auch HR-Apps mit KI-Funktionen.
Was wir nicht gefunden haben — und auch in einer mehrtägigen Marktrecherche im Mai 2026 nicht aufgespürt haben — ist eine Lösung, die alle drei Dinge in einem Workflow verbindet: eine Regel-Engine, die gleichzeitig den Schichtplaner, die Lohnberechnung und einen KI-Vorschlag-Generator versorgt. Genau das ist die Kombination, die SwiftliLegalCore zusammen mit SwiftliLegalLLM macht. Soweit wir wissen, ist das in einer Schweizer HR-Software das erste Mal so umgesetzt.
Hinzu kommt: das Ganze läuft lokal auf einem Mac, ist in fünf Sprachen verfügbar (Deutsch, Französisch, Italienisch, Rumantsch, Englisch — weil die Schweiz vier Landessprachen hat) und kostet keine Pro-Anfrage-Gebühren. Sie zahlen für die App. Punkt.
Wie es sich für Sie als Nutzer anfühlt
Die ehrliche Antwort: meistens merken Sie es gar nicht. Genau das ist das Schöne.
Sie ziehen Lukas im Schichtplaner auf Montag 14 bis 23 Uhr. Wenn das passt, passiert nichts Besonderes — Schicht ist eingeplant. Wenn die Ruhezeit zur Vorschicht fehlt, taucht direkt an der Schicht-Karte ein dezentes Warn-Icon auf. Ein Klick darauf erklärt: «Lukas hatte gestern Schicht bis Mitternacht. Eine gesetzlich vorgeschriebene Ruhezeit von elf Stunden ist nicht eingehalten.» Sie verschieben den Schichtbeginn auf 15 Uhr, Warnung weg.
Sie klicken «Lohn berechnen» für Januar. Ein paar Sekunden später haben Sie eine Lohnabrechnung — pro Mitarbeitender, mit allen Abzügen aufgeschlüsselt, jede Position mit Artikelnummer der zugrundeliegenden Verordnung verlinkt. Wenn Maria am 15. eingetreten ist, sind alle Beträge sauber proratisch geteilt. Wenn jemand Quellensteuer-pflichtig ist, ist der Tarif des richtigen Kantons angewendet. Sie müssen kein Häkchen setzen, kein Formular ausfüllen — die App weiss es, weil sie die Stammdaten der Mitarbeitenden kennt.
Peter ist seit drei Wochen krank. Auf dem Dashboard sehen Sie als Vorgesetzte: «Lohnfortzahlung läuft bis 15. März. Danach übernimmt die Krankentaggeld-Versicherung 80 %, maximal 720 Tage.» Sie wissen sofort, was zu tun ist. Kein Anruf beim Treuhänder, kein Nachschlagen in der Berner Skala.
Und wenn Sie einmal wirklich etwas nicht wissen — zum Beispiel «wie viele Ruhetage hat ein Vollzeit-Service-Mitarbeitender pro Monat nach L-GAV?» — fragen Sie den eingebauten KI-Assistenten auf Deutsch. Sie bekommen eine Antwort mit Quellenangabe («L-GAV Artikel 16»), die nicht in irgendeine Cloud geschickt wurde, sondern lokal aus den eingebauten Regeln generiert ist.
Was als Nächstes kommt
SwiftliLegalCore wird laufend ausgebaut. Quellensteuer ist noch nicht vollständig — alle 26 Kantone sind in der Pipeline, der Zürcher Tarif für 2026 ist bereits drin als Beispiel-Implementation. SwiftliLegalLLM (das KI-Sprachmodell mit Constraint-Injection) bleibt im Code als Opt-In für Q&A und für zukünftige Reaktivierung als Plan-Generator, sobald die Hardware-Generation oder spezialisierte JSON-Grammar-Bibliotheken die Latenz auf ein zumutbares Niveau senken. Branchen-spezifische Regel-Sets für andere Kollektiv-Verträge (Detailhandel, Bau, Reinigung) kommen, sobald Nutzer aus diesen Branchen einsteigen — denn wir glauben nicht an «alles auf einmal», sondern an: was wirklich gebraucht wird, wird gemacht.
Wenn Sie ein Gastgewerbe-Betrieb sind, ist SwiftliLegalCore heute schon komplett im Einsatz. Sie merken es daran, dass die App im Hintergrund mitdenkt — und Sie sich auf Ihre Mitarbeitenden konzentrieren können statt auf das Gesetz.