Functional local-first product · Unreleased 0.1.02026

Baustelle Calculator

Local-first quotation, execution and invoicing workspace for small businesses

My role

Product Architecture · Domain Modeling · Full-stack · Document Workflows · Testing

01

Project overview

Baustelle Calculator is a standalone browser application for small construction and service businesses that need transparent job costing without adopting a full ERP platform.

It combines a German-style calculation engine with a practical project workflow: create positions from editable labor, machine, material and external-service references; prepare an offer; convert accepted work into a price-free execution plan; document actual work and approved extras; then produce the final invoice.

The current product is deliberately local-first. Projects, company data, recipes and limited before/after photos remain in the browser and can be exported and restored through versioned JSON backups. The application is functional and extensively tested, but version 0.1.0 has not received a formal public release. Structured XRechnung/ZUGFeRD export and the prepared SaaS runtime are not active product claims.

02

Real product screenshots

Only real product screenshots will be placed here—no mockups or stock imagery.

The project dashboard keeps job status, calculated totals and the next workflow actions together.
A customer-ready quotation generated directly from the structured project calculation.

03

System architecture

Business cockpit

Projects · Status · Search · Duplicate · Auto numbers

Calculation domain

Labor · Machines · Materials · External services · Overheads

Execution workflow

Work plan · Site feedback · Photos · Approved extras

Local documents and data

Offer · Invoice · Site sheet · localStorage · JSON backup

04

Project status

Built

  • Deterministic EK/HK/SK, overhead, risk, profit and VAT calculation engine
  • Per-unit and once-only cost scopes with German comma-decimal input
  • Project archive with search, duplication, status filtering and automatic document numbers
  • Editable labor, machine, material and external-service references
  • Guided recipe builder and reusable saved recipes
  • Internal calculation and clean client-offer views
  • Offer acceptance into a price-free execution workflow
  • Site feedback, actual hours, limited local photos and approved billable extras
  • Browser-print Angebot, Rechnung, Ausführungsplan and Baustellenzettel
  • Company identity, invoice readiness checks and professional offer-email draft
  • Local persistence plus versioned JSON backup, validation and recovery
  • Unit and Playwright coverage for calculations, recovery, workflow, printing and responsive accessibility

In active development

  • Local-first pilot readiness and practical usability refinement
  • Better export flow and continued document-layout polish
  • Denser mobile and tablet editing for real job-site use
  • Field validation of recipes, defaults and once-only versus per-unit costs

Planned

  • Structured XRechnung/ZUGFeRD scope and validated e-invoice export
  • Cloud authentication, private storage and workspace persistence after the local release gate
  • SaaS workspaces and subscriptions; currently blocked pending explicit owner approval
  • A stronger media-storage layer if project photos outgrow browser storage

05

Engineering decisions

Why local-first for the first product?

A small business can start calculating immediately without accounts or infrastructure, while explicit JSON backup and recovery keep data portable.

Why connect quotation and execution?

The accepted offer already contains the planned work. Reusing it avoids retyping, gives the team a price-free work order and lets approved extras flow into the final invoice.

Why browser-print documents?

It delivers useful German business documents now without pretending that structured e-invoice formats are already implemented or validated.

06

Challenges solved

  • 01Keeping calculation results deterministic across quantities, cost scopes and fiscal profiles
  • 02Preserving local projects through schema normalization and backup round trips
  • 03Showing internal costs while keeping customer and worker documents price-safe
  • 04Fitting five representative documents cleanly on readable A4 pages
  • 05Keeping the workflow usable from 390px mobile screens to desktop
  • 06Storing useful project photos without exceeding practical browser limits

07

Technology stack

Application

  • React 18
  • TypeScript
  • Vite
  • CSS

Domain

  • Deterministic calculation engine
  • Invoice engine
  • Country/fiscal profiles

Local data

  • localStorage
  • Versioned JSON backup
  • Normalization
  • Recovery UI

Quality

  • Vitest
  • Playwright
  • ESLint
  • Prettier

08

What it demonstrates

Baustelle Calculator demonstrates my ability to turn cost rules, field execution and document requirements into a focused, recoverable and thoroughly tested product for small businesses.

Who this is relevant for

Relevant for trades, construction, landscaping, tree-care and other small service businesses that need transparent calculations, professional documents and a simple offer-to-invoice workflow without a full ERP.

Need a similar system?

I can design and build a solution around your workflow, team, and business goals.

Discuss your project