a controlled runtime with a plannable lifecycle
Digital independence in practice.
Native apps and shared data connect your business. Open formats and interfaces keep your information accessible. Choose hosting, access and operations with your IT team.
relational data storage without a license trap
data sovereignty stays with you: self-hosted or public cloud
Connected workflows. Clear technical boundaries.
We group related business rules into modules with clear responsibilities. Interfaces, user interaction and data storage each have their own role and work together through defined contracts. This supports focused development, testing and long-term maintenance.
Business modules in a shared core
Sales, inventory, projects and finance group their rules in dedicated business modules. The application connects them into workflows.
PostgreSQL as the shared data foundation
Your own infrastructure or your chosen hosting provider: you determine data location, access and responsibility for backups and operations.
Decisions that support your operations.
Every decision in ewws follows a clear line: control over data, operation and the future. The architecture stays traceable and designed for long-term stability.
Data sovereignty
You choose the infrastructure, data location and access rights. The server can run on your hardware or with a hosting provider you choose. You or your IT partner handle backups and ongoing operation.
Native desktop instead of browser
Power users work in ewws every day. The native Mac app offers keyboard control, multiple windows and direct operation, designed for continuous use.
PostgreSQL as the foundation
A proven relational database without license costs. Flyway makes every schema change reproducible, backups stay portable, even after many years.
Deployment by choice
Self-hosted or public cloud: the same build, the same codebase, the same license. A change of operating model means neither a new product nor a new integration.
Open Swiss standards
QR-bills, ISO 20022, salary reporting, EBICS 3.0 and eBill connect ewws with Swiss business workflows. You configure bank and partner access for each tenant. eBill registrations and cancellations are assigned automatically when a customer is identified unambiguously; unclear cases remain visible for manual review.
Longevity and stability
Java as an LTS platform and a controlled release cycle create predictability. The server is written in direct Java 25, without Spring Boot or a comparable framework stack, so startup, memory footprint and dependency chain stay manageable. This keeps ewws a stable operating topic and not a constant migration project.
Controlled licensing and updates
Licensing, activation and updates run signed and traceable. This keeps edition, modules and versions clearly managed, without changing productive installations in an uncontrolled way.
A shared data foundation
CRM, finance, inventory, projects, service and the iOS app work on the same professional basis. Information is not moved between isolated solutions, but used where it is needed in the workflow.
Recognise repeated requests
For protected write operations, the server identifies repeated requests by their operation key. If the successful result is still available, it returns that result again. This helps prevent duplicate execution when a request is retried after a connection interruption.
The business day ends in Zurich
A receipt at 11:40 pm belongs to today, an invoice run shortly after midnight to tomorrow. That sounds obvious, yet many systems count their days in universal time and trail Switzerland by one or two hours: a daily close, a due date, a reminder deadline then quietly tips over into the wrong day. ewws counts every business day in Swiss time, summer and winter alike, on every server, wherever it stands. What you close in the evening sits in the right day the next morning.
A server with manageable dependencies.
The server is based on Java 25. The following choices make setup, tenant separation and maintenance understandable and keep operations in your control.
ScopedValue instead of framework magic
Tenant separation runs via Java 25 ScopedValue, visible in the code and in every stack trace. No hidden ThreadLocal swap, no annotation that the container interprets, no implicit behavior. Whoever wants to read the tenant context sees in one line who set it.
Its own composition root
Dependencies are wired explicitly in the bootstrap, not fished from the classpath via @Autowired. Every connection from domain to application to persistence is in one file and is reproducible one-to-one in tests. This makes Clean Architecture and the hexagonal pattern strictly sustainable, without framework helpers that allow shortcuts.
Fast startup, small attack surface
Without reflection-based bean wiring, the server starts in seconds instead of dozens of seconds. The transitive dependency chain stays small, fewer libraries mean fewer CVE updates and shorter audit chains. What is not in the server cannot be attacked.
Operationally simple
One JAR file, one LaunchAgent or systemd service, no Spring Cloud Discovery, no config server, no service mesh as a requirement. For an SME operation with ten to a hundred users, direct Java code is enough. Scaling happens through clear modules, not through additional infrastructure components.
Industrie Charts, our Java charting library.
Not everything from our workshop belongs to ewws. Industrie Charts is a library for charts in Java applications, MIT-licensed and published on Maven Central, currently version 2.1.0 under the group com.arbergashi. Developed independently of ewws, usable in any Java project.
New version? The app tells you.
As soon as a new version is ready, the Mac app announces it with version number, changes and checksum. You download and install when it suits you; nobody forces you in the middle of a payroll run. On your approval the server keeps itself up to date, with signature check and automatic rollback if something does not start.
A server manifest controls distribution
The ewws server provides a manifest at /releases/desktop/latest. A version branch can be fixed per tenant, so that fiduciary clients do not jump to a new version unplanned.
A banner in the app, you decide when
Instead of forced cloud updates, a banner appears in the ewws Mac app. You look at the changes, plan a time and install with one click. During the payroll week, the banner stays visible until you are ready.
Signed and verifiable
Every build carries the Apple Developer ID and a checksum the app shows for comparison. Gatekeeper accepts the app without detours, and the server verifies its own updates before applying them.
ewws Mac and ewws iOS are built natively in the Apple stack itself. Not ported, not emulated.
The Mac and iOS app are consistently implemented in Swift and SwiftUI, with Apple Liquid Glass design, the Apple Human Interface Guidelines, NavigationSplitView, SF Symbols, Materials and SwiftUI Charts. The same backend (ewws server) serves the native Windows app and the Apple-native variant over the same HTTP API.
Swift and SwiftUI as the mandatory language
ewws Mac and ewws iOS are written entirely in Swift, no Java bridge, no embedded web view. This makes the app as fast and reactive as Mail, Notes or Finder, and respects the platform characteristics instead of hiding them.
Designed for the Apple experience
Materials, toolbar, NavigationSplitView, Form, List and Settings follow the Apple Human Interface Guidelines exactly. Liquid Glass as Apple system material is used throughout. Mac and iPad feel like system apps, not like ported third-party software.
SwiftUI Charts and SF Symbols
Analytics, forecast and management KPIs use SwiftUI Charts instead of purchased chart libraries. Symbols come from SF Symbols and thus match the system font and Dynamic Type. This saves memory, keeps the app light and makes it accessibility-friendly.
A shared Swift package for Mac and iOS
ewws Mac and ewws iOS share a common Swift package with domain, application and infrastructure layer (Clean, Hexagon, DDD). Domain and application logic are written once and executed identically on both Apple platforms.
Self-hosted or public cloud. ewws can do cloud, but does not have to.
The operating model belongs to you, not to the vendor. Two paths, one product. A switch stays possible.
Self-hosted
Your own server, your own network, full control. For companies with a clear IT line or sensitive industries where data must not leave the house.
Public cloud
Your own cloud account at a hyperscaler of your choice. Cost model, region and data protection situation stay under your control. ewws does not lock you in.
AI that strengthens the user and keeps the handling of data controllable.
In ewws, AI is a tool in the workflow. Every suggestion stays traceable, every action under your control, and the model choice stays open.
In the context of work
AI functions work directly in the ERP data, for example with customers, documents and postings. Additional parallel worlds and unnecessary data copies are avoided.
Transparent and auditable
AI suggestions are guided so that context and the relevant basis stay traceable. What the model saw and suggested should stay documented and verifiable in the audit log.
Sovereign model choice
For document processing, choose off, local processing on a suitable Mac, or Anthropic or OpenAI with your own API key. Other providers can be planned as a separate integration project.
Human leads, AI amplifies
AI speeds up routine and gives suggestions. Approvals, postings and deliveries stay in human hands, no automation without confirmation.
How to organise your operations.
ewws runs on your hardware or with a hosting provider of your choice. Define who handles setup, backups, updates and monitoring.
On your own hardware
- The server and database run in your infrastructure.
- You configure the network, access and app connections.
- Backups, monitoring and updates need a clear owner.
- Your IT team or an appointed partner handles operations.
- PostgreSQL and open export formats support control over your data.
- Clear module boundaries support focused maintenance and development.
With your hosting provider
- You choose the provider, location and appropriate service.
- The apps connect to your ewws server hosted there.
- Agree backups, access and recovery with the provider.
- Decide who handles updates and incidents.
- Your hosted installation also uses PostgreSQL and the ewws export functions.
- The same software; agree operational responsibilities with your hosting provider.
Plan the setup that fits your business.
Self-hosting, hosted infrastructure and integrations affect your daily work over time. Review the technical foundations and discuss any rollout questions with us.