The cockpit
Revenue, uninvoiced rapports, accruing equipment rental and the week at a glance. Every figure comes from the rapports as they are filed.

Folders, paper rapports and around fourteen fillable PDF templates became one system: dispatch, the job report on an iPad, equipment, hours, documents and the handover to accounting. With an AI layer that proposes and never decides alone.
Pluton Studio built a custom field-service platform for a Swiss company (14 staff, 6 branches, 24-hour emergency service). It replaces a network-drive folder tree, around fourteen fillable PDF rapport templates and the retyping of every job into accounting. Six modules cover dispatch, iPad field rapports, equipment and rental, timesheets, documents and quotes, and the accounting export. Seven AI features propose and a person accepts. The interface runs in German, English and Albanian; documents are always German.
The company runs emergency and service work around the clock: drain and sewer cleaning, plumbing, leak detection, structural drying, odour treatment. Fourteen staff, six branches, six vans.
The business ran on paper and a file share: a network drive with status folders that a job was dragged through by hand, and around fourteen fillable PDF rapports, each with its own embedded price list. Fitters filled the rapport in by pen, photos arrived over WhatsApp, and hours went on a monthly paper sheet.
Reports were already being written with an AI chat: the owner typed a few lines and had the text drafted. The writing was fine, the layout broke: the logo dropped out, the branch page vanished. That experience set the architecture.
Revenue, uninvoiced rapports, accruing equipment rental and the week at a glance. Every figure comes from the rapports as they are filed.

The day by status, with the vehicle and crew on every job. The folder tree on the network drive became one column.

The same jobs as a week calendar, when the question is capacity rather than status. Clicking an appointment opens the job.

One web application with four access levels: management, office, vehicle iPad and employee. The vehicle sees its day and never sees wages.
The six modules came out of the company's real documents: its position codes, rental rules, rounding, 8.1% VAT and its two separate surcharge systems (what the customer is charged versus what the worker is paid).
| Module | What it replaces | Core |
|---|---|---|
| Dispatch | Folder tree, phone notes | Day board by status, vehicle and crew assignment, emergency flagging |
| Field rapports | Fourteen PDF templates | Checklists, lines from the catalogue, photos, signature on glass, live totals |
| Equipment | Nothing. This did not exist | Device registry, deployments, daily rental, kWh meter readings, service reminders |
| Timesheets | A monthly paper sheet | Breaks, night, Sunday and standby surcharges, office approval |
| Documents and quotes | Copy-paste from an AI chat | Rapport, report, quote, insurance dossier: layout in code, prose from the model |
| Accounting handover | Retyping | Invoice, customer and hours exports as a file batch |
A pasted WhatsApp or email fills the job form and the matched customer appears as a suggestion. Nothing is created until someone saves.

Rough keywords become rapport lines, drawn from the company's own catalogue at its own prices. The model cannot invent a price, only pick one.

One contract governs every AI feature: the model proposes, deterministic code decides. It never computes money, never writes to the database, never renders a layout. A person accepts a proposal with one tap.
The letterhead, the six branches, page numbers and every total live in code. The model writes prose and nothing else.
Every feature also has a deterministic offline fallback, badged as a sample. In a basement with no signal, nothing breaks.
The assistant answers from real records and attaches the jobs it found as tappable cards. When something is not in the data, it says so.

The rules nobody states out loud, because inside the business they are obvious.
| Rule | How it works |
|---|---|
| Equipment rental | Short rentals under five days plus 100%, long rentals over twenty days minus 30%, computed by the day |
| Power consumption | Meter readings at install and pickup; unmetered devices billed at a flat rate per day per unit |
| Two surcharge systems | Customer surcharges for night and weekend kept separate from the wage surcharges the worker earns |
| Rapport page 2 | Recommendations carry a traffic-light state: proposed, approved, declined. Approved becomes a quote, accepted becomes the next job |
| Photo visibility | Every photo is customer-visible or internal. Internal photos never appear in a printed document |
| Price ownership | Every rate, rental rule and surcharge is editable inside the app. No developer needed |
Where every dryer stands, for how many days, and how much rent it has accrued. The dryer forgotten in a cellar speaks up.

Breaks, night, Sunday and standby premiums come from the times entered, with an approval state per employee.

Invoices, customers and hours leave the system as a file batch, frozen and re-downloadable. Instead of an afternoon of retyping.

The interface runs in German, English and Albanian, switchable while you work.
Anything printed, emailed or turned into a PDF renders from the German dictionary regardless. A fitter can run the app in Albanian and dictate in Albanian, and the customer still receives a German document.
Part of the workforce is more comfortable in Albanian. The interface switches while you work and the data underneath is identical.

The office and the customers read German. Whatever language the interface is set to, every printed or emailed document renders in German.

Next.js, React and TypeScript, server actions for every mutation, Postgres in the EU through Drizzle, Groq for the language models. Every read and write goes through one storage layer, so swapping the database backend is a file, not a rewrite.
Documents are real print routes with A4 page rules, letterhead and page numbers in code, not screenshots of a screen view.
The application is not tied to one provider, so the path to Swiss hosting stays open. The language model itself runs on a US provider: that is named in the offer.
The printed service rapport: letterhead, the six branches, line items and totals live in code. The AI writes only the prose.

Cover letter, rapport, customer-visible photos and the moisture protocol in one click, including the standing paragraph on handling insurers.

Pluton Studio builds from Prishtina: the same time zone as a Swiss SME, European working practice, and a direct line to the people writing the code rather than to an account manager.
What matters is not the location but whether someone is willing to read the fourteen PDF templates properly.
We work regularly with clients in Switzerland, Germany and Austria, in German, English or Albanian. How that works in practice is on the nearshore development page. If you need something comparable, get in touch.
Position codes, prices, rental rules, surcharges and rounding come from the company's real documents, not from an industry template.
The model proposes prose and line items. Amounts, layout and the database stay deterministic.
A price change is one field inside the app, not fourteen PDF files.
It depends on scope: how many modules, how many document templates, which integrations. That is why we do not publish a price list. After a look at your workflow and your forms, you get a written quote with one total.
Roughly four months to full production use, with the first vehicle track live considerably earlier. A single module can be in use within a few weeks. Work starts from a signed specification.
Yes. The application is not tied to one provider, so Swiss or European hosting both work. The language model runs on a US provider today, and a Swiss or European inference path can be priced separately.
The baseline is a file export in the accounting system's own import format: invoices, customers and hours as a batch, frozen and re-downloadable. A live connection is verified against the installation and quoted separately.
It expects a connection but degrades gracefully: drafts survive, and every AI feature has a deterministic fallback badged as a sample. In a basement with no signal the workflow still completes.
Yes, the interface runs in German, English and Albanian and switches while you work. Every printed or emailed document stays in German.
No. For line items the model is handed the catalogue and may only choose from it: the label, unit and price come from the database. The assistant answers from real records and says when something is not in them.
Pluton Studio, a software studio in Prishtina, Kosovo: websites, online stores and custom business software for clients in Kosovo, Switzerland, Germany and Austria. The platform was delivered in 2026.
Tell us a little about your idea or business and we'll reply with a plan and a quote, no obligation.