AI Field-Service SaaS Trades CRM, Quotes, Invoices, Dispatch & AI Butler
Leads, quotes, jobs, invoicing, payments, dispatch, and an AI Butler, one platform for trade businesses.
A Swiss contractor management platform that streamlines leads, quotes, jobs, billing, payments, and employee dispatching with AI-powered quotation creation from text or images.
Leads, quotes, jobs, invoicing, payments, dispatch, and an AI Butler, one platform for trade businesses.
This is a tool for Swiss workers who perform manual labor, such as plumbers and electricians. It improves in what they do. Spreadsheets and paper notes are not necessary for them. Among the many capabilities of the program are the ability to create quotations, invoices, and payments. These features are all located in one location and it's simple to use. Electricians and plumbers may use an app on their phones, while office workers can utilize a portion on their PCs. The tool can even understand what people are saying and make quotes for them. People in Switzerland are already using it and it accepts a wide range of payment options, including Stripe and Swiss QR-Rechnung. English, German, French, and Italian are among the languages in which the tool is accessible and for Swiss professionals like carpenters, painters, and contractors, it is particularly beneficial. Those who schedule jobs and send staff might also benefit from this technology. For professionals like plumbers and electricians, it makes things simpler.
Businesses in Switzerland can use this software solution to manage their workload. The system combines every step a company has to take, from acquiring a client to receiving payment and a review. It accomplishes this in three ways: a clever computer software that can assist in creating quotations for clients, a customized website that office workers can access, and a mobile app that employees can use on their phones.
Considering the system was created with Swiss businesses in mind, it has certain features that they require, such as the ability to create invoices using a QR code, verify the validity of a customer's ID, and manage the various tax rates in Switzerland. It is available in four languages: English, German, French, and Italian. It also integrates with payment methods such as Stripe and TWINT. Both Android and Apple phones may download the mobile app which can be utilized even in the absence of an internet connection. The office website is quick and simple to use and the intelligent computer program may assist with writing quotations simply by listening to a voice message or viewing a picture.

Solving real problems with smart engineering
Every challenge on the left became a shipped capability on the right.
Trades juggled disconnected tools - accounting software for invoices, spreadsheets for estimates, paper for jobs, WhatsApp for clients - losing hours every day to admin.
A single Flutter app runs the full six-stage flow - lead, quote, job, payment, review - all connected through one FastAPI backend.
Producing an accurate estimate at the customer's table was impossible. Quotes were rebuilt in spreadsheets the next day, and jobs were lost to faster rivals.
Tradespeople describe a job by voice, text, or photo and Butler AI generates an instant quote. On-device Sherpa-ONNX keeps audio private, while image analysis spots broken tiles, leaks, and faulty appliances.
Field workers had no signal in basements, on roofs, or in rural areas - making cloud-only apps useless on real job sites.
The app keeps running with zero signal, storing jobs, quotes, photos, signatures, and notes in a local SQLite database, then syncs in the background - most important data first - once signal returns.
QR-Rechnung invoices were built by hand - manually adding VAT rates (8.1%, 2.6%, 0%) and verifying CHE-UID numbers - causing errors and delayed payments.
Fully automated QR-Bill invoices work with every Swiss banking app (PostFinance, UBS, Raiffeisen, ZKB), with branded PDFs, CHE-UID validation, and per-line VAT applied automatically.
Trades had to carry bulky card machines or chase bank transfers for days. Taking payment with just a phone simply wasn't possible.
Tap-to-Pay accepts chip, contactless card, and mobile wallet payments straight from the phone - no extra hardware. The customer signs on-device and funds settle automatically.
Scheduling meant whiteboards or shared calendars that never showed who was actually free - causing double-bookings and missed appointments.
Office staff drag job cards across team members on a board that shows live availability - no whiteboards, no clashes, just a clear schedule.
Swiss tradespeople work across German, French, Italian, and English-speaking regions, but no single tool supported all four.
The platform is fully multilingual across all four Swiss market languages, so every team works in its own language inside one app.
The Platform Modules - Six Stages, Three Surfaces, One Backend
AI quoting assistant powered by GPT-4o, Claude and Groq - create quotes from voice, text or a photo. Speech is transcribed on-device with Sherpa-ONNX, so nothing leaves the phone, and pgvector semantic search surfaces relevant past quotes and jobs.
Full lead pipeline with source tracking, status management and one-tap conversion to a quote - replacing the old WhatsApp contact flow.
Create quotes on-site with Butler AI, with built-in Swiss VAT (8.1%, 2.6%, 0%), deposit % and validity period. Brandable PDF output carries your own logo.
End-to-end job management - in-progress and after photos, on-device signatures, recurring jobs and templates. Works fully offline, storing everything in SQLite.
Automated, compliant QR-Bill invoice PDFs with postal-code validation, cantonal address fields, CHE-UID validation and per-line VAT.
TWINT, Stripe Checkout subscriptions, manual bank transfers with automatic reconciliation, Stripe Terminal Tap-to-Pay and Stripe Connect payments.
Real-time drag-and-drop scheduling with a live availability matrix (Available, Booked, Unavailable, On leave), synced across all users over WebSocket.
Weekly calendar with an OpenStreetMap view showing job pins, plus address autocomplete.
Face ID / Touch ID, magic link, Google/Apple sign-in, 2FA and passkeys (FIDO2/WebAuthn), with full audit logging and GDPR export.
Four roles - Field Worker, Dispatcher, Manager and Admin - each with scoped access to quoting, billing, dispatch and analytics.
Switch between English, German, French and Italian in one tap, with region-aware formatting and per-region legal pages (Impressum, Datenschutz, AGB).
Pro, Business and Enterprise tiers via Stripe Subscriptions, with trial-to-paid conversion, seat-based pricing, Stripe Connect onboarding and usage tracking.
Two surfaces, one rhythm




Voice-to-Quote
- Open Butler AI
- Describe job by voice
- Sherpa-ONNX transcribes on-device
- GPT-4o drafts quote
- Review and send to customer
Job Completion
- Open job
- Before photos (offline)
- Complete work
- After photos + signature (offline)
- Sync on reconnect
- QR-Rechnung invoice
- Tap-to-Pay
- Request review
Offline Flow
- Enter no-signal area
- App works fully via SQLite
- Cache-age indicator shown
- Reconnect
- Prioritised background sync runs automatically
The office's command center
Everything back-office in one console — with role-based access drawn as a hard line, not a suggestion.

Meet the AI Butler
Model Routing: Through PydanticAI, OpenAI GPT-4o (vision), Anthropic Claude (reasoning), and Groq (speed) On-Device Speech: Sherpa-ONNX: entirely on-device, no external audio transmission Vector Search: pgvector RAG over previous quotations and jobs each draft becomes more intelligent over time
- Voice-to-quote: give a detailed, VAT-accurate quote after describing a project aloud
- Photo analysis: take a picture of a damaged tile, leaking pipe, or malfunctioning appliance, and Butler will identify and plan the repair
- Conversations with many turns and a complete message history across sessions
- Semantic search using pgvector RAG over previous quotations and jobs
- Sherpa-ONNX fully on-device speech recognition; no audio is sent to a server
- Multi-model routing: Anthropic Claude for reasoning, GPT-4o for vision, and Groq for speed
How it all fits together
Three layers, read top to bottom — the applications people use, the services that power them, and the infrastructure they run on.
The rulebook under the hood
Everything inside
10 capability groups, laid out as an uneven mosaic — not a wall of identical cards.
Built with a modern AI stack
- Flutter + Dart - cross-platform iOS & Android framework
- Riverpod + GetIt - state management and dependency injection
- sqflite (SQLite) - offline-first local database
- Sherpa-ONNX - on-device speech-to-text for Butler AI
- mek_stripe_terminal + qr_flutter - Tap-to-Pay and QR billing
- flutter_map + OpenStreetMap - maps, geocoding, and location
- passkeys (FIDO2) + local_auth - Face ID / Touch ID login
- intl + ARB files - EN / DE / FR / IT localization
- React 19 + TypeScript + Vite - admin panel UI and build tooling
- Tailwind CSS + Radix UI - styling and accessible components
- TanStack Query + React Hook Form + Zod - data fetching and validated forms
- dnd-kit - drag-and-drop dispatch board
- Leaflet + react-leaflet - interactive web maps
- @stripe/terminal-js + jsPDF - payments and PDF invoice generation
- i18next - multi-language web interface (EN/DE/FR/IT)
- Python 3.11 + FastAPI - async API with uvicorn / gunicorn
- SQLAlchemy + asyncpg + Alembic - async ORM and migrations
- Pydantic v2 - request validation and typed schemas
- Celery + Redis + Celery Beat - background jobs and scheduling
- reportlab + qrcode - Swiss QR-Rechnung PDF invoices
- GPT-4o, Claude, Groq - vision, long-context, and low-latency LLMs
- PydanticAI - model routing and output validation
- pgvector + Cohere - semantic search (RAG) and reranking
- Sherpa-ONNX - private on-device speech recognition
- PostgreSQL + pgvector - primary database and vector search
- Redis 7 - Celery broker and application cache
- SQLite (sqflite) - mobile offline store
- Firebase Auth + Google / Apple Sign-In - social login
- FIDO2 / WebAuthn passkeys - passwordless biometric auth
- Argon2 + JWT (python-jose) - password hashing and tokens
- iOS Keychain / Android Keystore - secure on-device storage
- Stripe Switzerland + Stripe Connect - processing and vendor payouts
- Stripe Terminal - in-person Tap-to-Pay
- TWINT - Swiss mobile wallet payments
- Stripe webhooks - automatic payment reconciliation
- Coolify + DigitalOcean - managed Docker deployment
- Docker multi-stage + nginx - containerized builds and reverse proxy
- Cloudflare + Let's Encrypt - DNS and TLS
- Sentry + structlog + Flower - error tracking and monitoring
- Firebase Cloud Messaging - push notifications
- Firebase Realtime Database - live job tracking
- SendGrid + Twilio Verify - email and SMS OTP
- Cloudinary - media CDN and WebP optimization
What actually changed
Engineering outcomes beneath the headline numbers.
See it in action
The platform is live — browse the site, poke the demo, or install the app.





