Download PDF
Confidential AI Transformation Proposal · 2026

Building the Future of
Construction with AI

A complete digital intelligence ecosystem — AI Brain, CRM, automation, and autonomous agents — purpose-built for your construction company's growth.

3
Phase 1 Products
10 Weeks
Phase 1 Live
Automation
24/7
AI Agents
Scroll

Your Complete AI-Powered Digital Transformation

A full-stack technology partner that designs, builds, and maintains the entire digital ecosystem for your construction business — from AI intelligence to workflow automation.

10 Weeks
Phase 1 live — generating leads & saving time from week 10
30–50%
Efficiency gains for early AI adopters in construction
3 Products
Phase 1: AI Brain · CRM · Automation — one integrated foundation
24 / 7
AI agents working autonomously across every department

The construction industry is traditionally slow to adopt technology — but the window is closing. Early movers who deploy AI across operations are seeing 30–50% efficiency gains, drastic cost reductions, and dramatically improved client experience.

This proposal covers Phase 1 of Deskio's AI transformation: three tightly integrated systems that form the operational foundation of the business — an AI Brain trained on your company's processes, documents and pricing; a purpose-built Construction CRM that unifies every lead, bid and project; and an Automation Layer that eliminates the manual handoffs between them.

Phase 1 is the only active, priced scope. It delivers in 10 weeks, at a fixed price, with weekly sign-off gates. Any additional surfaces or automations beyond this scope are deliberately deferred to future phases, scoped and priced separately only after the foundation is live and proven.

Deskio is your full-stack digital partner. We design, build, deploy, and maintain the entire ecosystem — so your team stays focused on building, while AI handles the rest.

This is not a software purchase. This is an infrastructure investment that pays dividends across every department, every project, and every bid you submit.

🎯 What's Included in This Proposal
🧠
AI Brain — Company Intelligence Core
A custom LLM trained on your processes, documents, pricing, and project history. Runs privately on your own server — your data never trains public AI models.
👥
Construction CRM
Full pipeline management from first lead to final invoice. AI-powered follow-ups, estimating assistance, subcontractor management, and revenue forecasting.
Automation Layer + 2 AI Agents
Seven production workflows — quoting, scheduling, invoicing, compliance, emailing, client feedback, follow-up — plus a Quoting Agent and an Email Agent that handle outbound work end-to-end with human approval gates.

Three Systems. One Intelligent Foundation.

Every Phase 1 system is purpose-built for construction and fully integrated through your central AI Brain — so every lead, quote, and project moves through one connected pipeline.

🧠
Product 01
AI Brain

Your company's private intelligence layer. Trained on your documents, project history, pricing models, and SOPs. Continuously learns and improves as your business grows — and never shares data with public AI models.

  • Company-specific language model
  • Deployed on your private server
  • Powers the CRM and automations
  • Monthly AI model retraining included
👥
Product 02
Construction CRM

Purpose-built for construction sales and project management. Track every lead, bid, and contract. AI automatically follows up on open quotes, reminds estimators of deadlines, and flags at-risk projects before it's too late.

  • Lead, bid & contract pipeline
  • AI-powered estimating assistance
  • Subcontractor management
  • Revenue forecasting & reporting
Product 03
Automation Layer + 2 AI Agents

Five production n8n flows plus two always-on AI agents covering the biggest admin drains in a construction business — quoting, scheduling, invoicing, and compliance — each visible, auditable, and configurable without writing code.

  • 7 workflows: quoting · scheduling · invoicing · compliance · emailing · client feedback · follow-up
  • Quoting Agent — drafts bids from project briefs, chases approvals, learns your pricing
  • Email Agent — handles outbound email, client feedback collection, and follow-up cadences
  • Human-in-the-loop approval gates on every outbound action

One AI Brain
Powering Everything

All products connect to a central intelligence layer — your company's private AI that learns, improves, and orchestrates every system.

🧠
AI BRAIN
🌐 Website
📱 Field App
🏠 Client App
📊 CRM
Automation
🤖 AI Agents
📋 Mgmt App

Complete AI Stack
for Construction

Every product built specifically for the construction industry — not generic tools repurposed, but bespoke solutions engineered for your workflows.

🧠
Phase 1 — Foundation
AI Brain — Company Intelligence Core
A fully private, self-hosted language model trained exclusively on Turnkey's data — documents, pricing, contracts, supplier rates, and completed projects. It is the central intelligence that every other product queries. Not a generic chatbot. A company-specific reasoning engine that knows your materials, your margins, your suppliers, your processes, and your clients.
01
Data Ingestion — What Goes In
Foundation setup · Weeks 1–2
📄 Document Sources
  • Historical quotes & BOQs (PDF, XLSX)
  • Supplier rate cards (PDF, CSV, Excel)
  • Signed contracts & scopes of work
  • Site survey reports & inspection forms
  • Product spec sheets (450+ tile/material SKUs)
  • Subcontractor agreements & day rates
  • Malta planning & building regulation docs
  • Health & safety protocols (OHSA Malta)
  • Internal SOPs & process manuals
  • Client communication archives (email .eml)
⚙️ Ingestion Pipeline — Step by Step
  • Upload portal — secure drag-and-drop admin UI (HTTPS, auth-gated)
  • Format detection — PDF, DOCX, XLSX, PNG/JPG (OCR), CSV, JSON, .eml
  • Text extraction — PyMuPDF (PDFs), python-docx (Word), camelot (tables)
  • OCR layer — Tesseract 5 for scanned documents and image-based specs
  • Semantic chunking — 512 tokens, 64-token overlap, sentence boundary aware
  • Deduplication — SHA-256 hash check before indexing
  • Metadata tagging — doc_type, project_id, client, date, material_category, region, version
  • Quality gate — chunks below 50 tokens discarded; flagged for review
Raw Document Format Parse OCR (if image) Chunk Split Deduplicate Tag Metadata Queue for Embedding
02
Embedding & Vector Store — How Knowledge Is Stored
Processed in real-time · ~15 min per batch
🔢 Embedding Model
  • Model: nomic-embed-text (local, self-hosted via Ollama)
  • Fallback: OpenAI text-embedding-3-small (API)
  • Dimensions: 768 (nomic) / 1536 (OpenAI)
  • Every chunk → dense vector representation
  • Semantic meaning preserved — not keyword matching
  • Multilingual: English + Maltese terminology
🗄️ Vector Database — Qdrant
  • Self-hosted Qdrant (same server)
  • HNSW index — sub-millisecond approximate nearest neighbour
  • Named collections per domain: pricing, contracts, specs, comms, regs
  • Payload filters: date range, client, material type, project status
  • Persistent disk storage + daily snapshots to S3
  • REST + gRPC API access
🏷️ Knowledge Namespaces
  • pricing — rate cards, BOQs, accepted quotes
  • materials — 450+ SKU specs, suppliers, lead times
  • projects — completed works, timelines, outcomes
  • contracts — signed agreements, scope changes
  • compliance — Malta building regs, OHSA, VAT rules
  • comms — approved email templates, follow-up scripts
03
Private LLM Infrastructure — The Reasoning Engine
Dedicated EU Server · 100% private · No data leaves your server
🖥️ Server Specification
  • Host: Dedicated server (EU · Finland)
  • CPU: AMD Ryzen 9 5950X — 16C/32T @ 3.4 GHz
  • RAM: 128 GB DDR4 ECC
  • Storage: 2× 1.92 TB NVMe SSD (RAID-1 mirror)
  • Network: 1 Gbps uplink, unlimited traffic
  • OS: Ubuntu 22.04 LTS, hardened & auto-patched
  • VPN: WireGuard tunnel — all internal API calls encrypted
  • Firewall: UFW + cloud firewall, port 443 only public
🤖 LLM Runtime — Ollama
  • Runtime: Ollama v0.3+ — OpenAI-compatible API server
  • Primary model: Mistral 7B Instruct v0.3 (4-bit quantised, 4.1 GB VRAM)
  • Secondary model: Llama 3.1 8B (structured output, JSON mode)
  • Context window: 32,768 tokens per request
  • Throughput: ~80 tokens/sec on CPU (no GPU required)
  • Response time: 1–4 seconds typical for RAG queries
  • Endpoint: POST http://localhost:11434/v1/chat/completions
  • LoRA adapter: Fine-tuned on Turnkey pricing logic (Phase 1.5)

⚠️ Zero data egress guarantee: All embeddings, all vector search, and all LLM inference run entirely on your dedicated EU server. No query, document, or response is ever sent to OpenAI, Anthropic, Google, or any third-party service. The only external calls are optional — for supplier data lookups and Xero API — and these are one-way, read-only. Your company intelligence stays yours.

04
RAG Query Pipeline — How Every Question Gets Answered
Retrieval-Augmented Generation · End-to-end in <4 seconds
  • Step 1 Query Received — incoming question from any integrated surface (chat widget, CRM, quotation tool, automation trigger). Authenticated via bearer token. Classified by intent: pricing_query / doc_search / action_request / compliance_check.
  • Step 2 Query Embedding — the raw question is converted to a 768-dimension dense vector using nomic-embed-text (local). This runs in <50ms. The vector represents the semantic meaning of the question, not just keywords.
  • Step 3 Namespace Routing — based on intent classification, Qdrant is queried against the appropriate namespace(s). A pricing question searches pricing + materials. A compliance question searches compliance + contracts. Multi-namespace queries merge and re-rank results.
  • Step 4 Vector Similarity Search — Qdrant returns the top-8 chunks by cosine similarity score. Payload filters applied: date recency boost (last 6 months weighted ×1.3), confirmed-accepted-quote chunks weighted ×1.5 over rejected quotes.
  • Step 5 Context Assembly — retrieved chunks ranked, deduplicated, and assembled into a structured context block. System prompt prepended: Turnkey persona, formatting rules, Malta-specific knowledge constraints, currency (€), VAT rules (18%), and response length guidelines.
  • Step 6 LLM Inference — full prompt (system + context + user query) sent to Mistral 7B via Ollama. Response streamed token-by-token. For structured outputs (JSON pricing estimates), Llama 3.1 8B in JSON mode used instead — enforces schema validation on every response.
  • Step 7 Human Approval Gate — any response classified as action_request (sending email, generating quote, creating CRM record) is held in a review queue. Staff see proposed action + AI reasoning. One-click approve or reject. This gate cannot be bypassed by the AI.
  • Step 8 Response Delivery + Logging — approved response delivered to calling system. Full audit log written: timestamp, query, retrieved chunks (with source document), LLM model used, response, approved_by, latency. Logs stored 24 months, exportable CSV.
Query In Embed Query Route Namespace Vector Search Assemble Context Mistral 7B Inference Approval Gate Deliver + Log
05
Integration API Layer — How Every System Connects
REST API · OpenAI-compatible · JWT Auth · <4s latency
🔌 API Endpoints
  • POST /api/query — natural language question → answer + citations
  • POST /api/ingest — document upload → indexed within 15 min
  • POST /api/generate-quote — room spec JSON → itemised estimate JSON
  • POST /api/draft-email — context + purpose → email draft (held for approval)
  • POST /api/classify-lead — lead data → qualification score + recommended stage
  • POST /api/validate-pricing — line item list → margin check against cost DB
  • GET /api/search — semantic search across all namespaces
  • GET /api/health — uptime, model status, queue depth
🔐 Auth & Security
  • Authentication: JWT bearer tokens, 8-hour expiry, refresh rotation
  • Per-system tokens: CRM, quotation tool, automation layer — each has a scoped token with allowed endpoint list
  • Rate limiting: 30 req/min per token; burst to 60 for 10-second windows
  • TLS 1.3 only — all requests over HTTPS; HTTP redirected to HTTPS
  • IP allowlist: only known server IPs can call internal endpoints
  • Audit log: every API call logged with IP, token ID, endpoint, latency, response code
  • Secrets management: API keys in HashiCorp Vault, never in code

📡 Live Connections — What Each System Sends & Receives
Quotation Tool POST /api/generate-quote with room specs JSON AI searches pricing + materials namespaces Returns itemised line items (material, labour, margin, VAT, total) in <3s Pushes to Xero Quotes API as draft
CRM Pipeline POST /api/classify-lead with lead name, enquiry text, budget, location AI scores lead quality 1–10, suggests CRM stage, recommends next action Returns JSON: {score, stage, reasoning, suggested_response} CRM auto-updates pipeline stage + creates follow-up task
Website Chat WebSocket connection → visitor message streamed to POST /api/query AI responds using company knowledge (no hallucinated pricing) Lead capture trigger if high-intent signals detected Lead auto-created in CRM with full chat transcript attached
Automation Engine n8n webhook triggers on CRM stage change / new lead / quote sent POST /api/draft-email with context object AI drafts email (held for human review — never auto-sent) Staff approve in Gmail/Outlook → sent via SendGrid
Xero Integration POST /api/validate-pricing — AI checks line items against internal cost DB Flags any item priced below minimum margin (configurable threshold) Returns: {status, flagged_lines[], suggested_corrections[]} Quote only pushed to Xero after margin validation passes
06
Knowledge Domains Loaded at Launch
Week 1–2 discovery & data preparation
💰 Pricing Intelligence
  • All historical quotes (accepted + rejected)
  • Labour rates by trade & complexity tier
  • Material cost database (purchase price + margin)
  • Subcontractor day rates
  • Region-specific pricing adjustments (Malta North/South/Gozo)
  • Seasonal demand multipliers
🪨 Materials & Specs
  • 450+ tile & stone SKUs with full specs
  • Adhesive & grout product database
  • Coverage rates per product type
  • Compatibility matrix (tile format × substrate)
  • Supplier lead times by product category
  • Discontinued products flagged with alternatives
📋 Compliance & Regs
  • Malta Planning Authority requirements
  • Building Regulation Act (Cap. 513)
  • OHSA Malta site safety protocols
  • Malta VAT Act — 18% standard, exemptions
  • EN 14411 ceramic tile standards
  • Fire rating requirements for commercial projects
07
Continuous Learning Loop — How the Brain Gets Smarter Over Time
Automated · Human-approved · Drift-monitored
  • Trigger A New Document Uploaded → auto-ingested within 15 minutes. Re-embedding runs immediately. No manual steps — staff just upload the file to the admin portal, the pipeline handles the rest. Confirmation email sent: "15 documents indexed successfully."
  • Trigger B Quote Outcome Logged → when a quote is Won or Lost in the CRM, the outcome is written back to Qdrant as a metadata flag on the pricing chunks that were used to generate it. Accepted quotes boost chunk weight ×1.5; rejected quotes add a "disputed_pricing" tag that deprioritises that chunk in future searches.
  • Trigger C Weekly Knowledge Review → automated report generated every Monday: new documents ingested, chunks added/removed, query volume by namespace, top unanswered queries (where AI confidence was below 0.6 threshold). Sent to admin email for review.
  • Trigger D Model Drift Monitoring → nightly job runs 50 benchmark queries against the AI and checks responses for consistency. Any answer that deviates more than 15% from baseline (semantic similarity score) triggers an alert. This catches cases where a newly ingested document has accidentally overridden established knowledge.
  • Trigger E Human-Gated Knowledge Addition → for sensitive additions (new pricing strategy, new client terms, regulatory changes), a human admin must approve the ingestion in the admin portal before any chunk is written to the vector store. The AI cannot self-modify its own knowledge base without this gate.
08
Multi-Brain Federation — Three Brains, Zero Vendor Lock-In
Sovereign + Pragmatic + Frontier · Circuit-broken · Cascade failover

A single model provider is a single point of failure — for availability, cost, and capability drift. Deskio's AI Brain runs on a three-tier federation orchestrated by a central Brain Router. Every request is scored, routed to the optimal brain, and cascades to a fallback if the primary fails, rate-limits, or exceeds budget. If a better model ships next quarter, we add a fourth brain behind the same router — no application code changes. This is how Deskio stays ahead regardless of which lab leads the market.

  • Brain A · SovereignRuns on your Dedicated EU Server · Zero external calls · GDPR Article 28 compliant. Ollama runtime serving three local models: Mistral 7B Instruct Q4_K_M (primary reasoning, 4.4 GB), Qwen 2.5 7B Instruct Q4_K_M (structured JSON extraction, 4.7 GB), Llama 3.1 8B Instruct Q4_K_M (long-context 128k summarisation, 4.9 GB). Embeddings via nomic-embed-text-v1.5 (768-dim). Used for every query touching contracts, pricing, client PII, compliance — data that must never leave your server. CPU throughput on Ryzen 7 PRO 8700GE: 2–11 tok/s; P50 latency 1.8s, P95 6.4s. Marginal cost per query: €0.
  • Brain B · PragmaticAnthropic Claude Haiku 4.5 · Low latency · Zero Data Retention enabled. Handles high-volume, low-sensitivity work: WhatsApp reply drafts, email triage, quote line-item expansion, briefings, lead-score pre-filter. P50 latency 480ms, P95 1.2s. Average cost €0.0002/call. All payloads run through the Brain Router's PII redaction pass before leaving your server — external brain only ever sees redacted tokens like <CLIENT_A>, <SITE_1>.
  • Brain C · FrontierClaude Sonnet 4.6 (default) · Opus 4.7 (escalation) · Reserved for hard problems. Triggered only when Sovereign confidence < 0.6 AND the task is high-value: multi-page contract extraction, complex compliance interpretation, margin-sensitive bespoke quotes, executive-level cross-project summarisation. Hard monthly cap: €300 enforced server-side — when hit, Frontier calls are disabled until next billing period and requests cascade back to Sovereign. P50 2.4s, P95 5.8s. PII redaction identical to Brain B.
  • Why threeRedundancy — Anthropic went down twice in 2025; Sovereign answers regardless. Cost — 92% of traffic lands on Sovereign (€0) or Pragmatic (cents); Frontier spend stays capped. Sovereignty — 100% of PII queries never leave your box. Future-proofing — swapping Mistral 7B for Llama 4 or Haiku 4.5 for Haiku 5 is a one-line config change, not a rewrite.
  • Circuit breakersEach brain has an independent Hystrix-pattern breaker: 5 failures in 60s trips half-open for 30s, single probe test, full-open 5 minutes if the probe fails. Open breakers are logged to Prometheus and surfaced on the admin dashboard. Staff see a "Brain B degraded → failing over to A" banner in the CRM when a breaker trips.
09
Brain Router — Typed Routing, Redaction & Observability
FastAPI gateway · Single entry point · Per-task-type policy

The Brain Router is the single endpoint every Deskio application calls — POST /api/brain/query. Applications never address brains directly. The router inspects a typed task_type, applies routing policy, runs PII-redaction, dispatches, normalises the response, writes an immutable audit row, and returns schema-validated JSON. This decoupling is what lets us swap models, add brains, or change cost caps without touching application code.

  • Routing tablePer-task-type policy stored in /etc/brain-router/routes.yaml, hot-reloadable. Examples: chat_user_facing → [Sovereign, Pragmatic] (speed + privacy); classify_lead → [Pragmatic, Sovereign] (accuracy); draft_email → [Pragmatic, Sovereign] (tone); generate_quote → [Sovereign, Frontier] (pricing stays local); compliance_lookup → [Sovereign only] (never external); contract_extract → [Frontier, Sovereign] (hard reasoning); summarize_project → [Sovereign, Pragmatic]; weekly_briefing → [Pragmatic]; vault_search → [Sovereign] (embeddings local).
  • RedactionBefore any payload leaves the server for Brain B or C, a deterministic pass replaces PII with reversible tokens: client names → <CLIENT_001>, phone → <PHONE_001>, site addresses → <SITE_001>, VAT IDs → <VAT_001>, IBANs → <IBAN_001>. Mapping held in-memory for the request lifetime, discarded on response. Final response is de-tokenised before returning to the caller. No raw PII is ever transmitted externally — independently auditable via the audit log.
  • Unified responseEvery brain returns the same Pydantic-validated shape: audit_id, brain_used, model, response, citations[{vault_path, chunk_id, score}], confidence, tokens, latency_ms, cost_eur, fallback_chain, redacted. Applications depend only on this schema — they never know or care which brain answered.
  • Audit trailEvery request writes one row to brain_audit (Postgres 16, append-only, 90-day hot + 7-year cold archive). Columns include audit_id, timestamp, task_type, brain_used, model, token counts, latency_ms, cost_eur, caller_service, caller_user, redacted, confidence, vault_citations. Query bodies are not stored by default — only a SHA-256 hash for dedup. Admin can enable body logging per-namespace for a 24-hour debug window. Dashboard at admin.deskio.mt/brain shows live utilisation, cost burn-down, cache hits, fallback frequency.
  • CachingRedis 7 in-memory cache keyed by SHA-256 of (prompt + context). TTL 1 hour for vault_search and compliance_lookup (stable), 15 minutes for classify_lead and draft_email (template-driven), no cache for generate_quote (always fresh pricing). Target hit ratio 35–45%. Cache hits save one brain call, tracked in Prometheus so stale-but-repeated queries surface as knowledge gaps.
  • Rate limitingPer-caller token buckets prevent a runaway script from draining Frontier budget: crm-backend 120 req/min, website-chat 60 req/min per session, n8n-workflow 240 req/min, internal-admin unlimited. Excess returns HTTP 429 with Retry-After. Configured in /etc/brain-router/limits.yaml.
10
Obsidian Vault — Sovereign Human + AI Memory
Markdown-first · Bidirectional sync · Git-versioned · Fully portable

Every piece of knowledge the AI Brain reasons over lives as a plain-text Markdown file inside an Obsidian vault at /srv/vault/deskio. Your team edits notes in Obsidian (desktop + mobile + web via self-hosted live-sync), the AI indexes them automatically, and every AI-generated artefact (briefings, quote drafts, compliance answers) is written back to the same vault with full provenance. Result: your team never learns a new tool; if you ever walk away from Deskio you keep one zip file containing your entire company brain, readable in any text editor forever; AI and humans share the exact same memory with no translation layer between them.

  • Vault structureDomain-organised, one concept per file, heavily backlinked. Top-level directories: _moc/ (maps-of-content, vault index), pricing/ (materials, labour, margin rules), materials/ (suppliers, SKUs, lead times), projects/P-YYYY-NNN-name/ (charter, daily-log, decisions, photos, quotes), contracts/ (templates + signed originals), compliance/ (Cap.513, OHSA, VAT, EN 14411), playbooks/ (SOPs the AI follows), decisions/ (ADR-style records), people/ (clients, subs, suppliers), daily/ (one note per working day).
  • Front-matter schemaEvery note carries a YAML header enforced by a vault linter: type (project/pricing/contract/decision/daily/person), status (draft/active/archived), client (project code), tags (array), sensitivity (public/internal/confidential/restricted), updated (ISO timestamp), owner (email), ai_can_modify (true/false). Sensitivity drives routing: restricted notes pin to Sovereign brain, never embedded for external search. ai_can_modify:false prevents any AI agent from writing to the file — AI can only append a comment block at the bottom.
  • Bidirectional syncA filesystem watcher (watchdog on Linux) monitors the vault. Every save triggers: (1) parse YAML front-matter + body; (2) chunk into 512-token windows with 64-token overlap via tiktoken; (3) SHA-256 each chunk for dedup (unchanged chunks skipped); (4) embed via nomic-embed-text on Sovereign brain, 768-dim; (5) upsert to pgvector with namespace = directory path, metadata = front-matter. End-to-end save-to-searchable latency: 4–9 seconds. Vault deletes cascade to soft-deletes in pgvector (retained 30 days, then hard-deleted).
  • Real-time device syncTeam uses Obsidian desktop + mobile. We deploy self-hosted obsidian-livesync on CouchDB 3.3 behind Caddy TLS at vault-sync.deskio.mt. Conflict-free replication across devices, end-to-end encrypted with a shared team passphrase rotated quarterly. Zero dependency on Obsidian's own sync (€8/user/month) — your data never hits Obsidian's servers. CouchDB storage on the same dedicated server, backed up to encrypted cloud storage nightly (€2.90/month).
  • AI writes backWhen an AI agent produces an artefact — generated quote, compliance answer, weekly briefing, lead-enrichment note — it's written as a new Markdown file in the appropriate folder (e.g. /projects/P-2026-017-sliema-villa/quotes/2026-04-19-quote-v1.md) with front-matter flagging author:ai-sovereign, requires_review:true, and a source_audit_ids array linking back to the Brain Router audit rows. Staff see a "✨ 3 new AI-drafted items need review" badge in Obsidian and the admin portal. Approval flips requires_review:false and marks the content canonical for future retrieval.
  • Git versioningThe vault is a private Git repository (self-hosted Gitea on claw2, same WireGuard mesh). Every save commits automatically via a post-save hook. Full history, diffable, revertable. Monthly signed archive produced: deskio-vault-2026-04.tar.gz.gpg stored on a separate cloud provider. If your dedicated server is ever lost, the vault restores from any monthly archive + latest Git push in under 30 minutes.
  • Launch contentWeek 1–2 bootstrap: 150–200 notes imported from existing pricing sheets (Excel), supplier catalogues, top 20 reference projects, Malta Cap. 513 + OHSA + VAT references, standard contract templates, 25 SOPs extracted from interviews with your team. Every chunk embedded before Phase 1 goes live. Staff trained in one 90-minute Obsidian session — the learning curve is "can you edit a Word document?" → yes → you can edit the vault.
11
Workflow Automation — Five Production Flows in Phase 1
n8n · Typed I/O · Human approval · Idempotent side-effects

Every automation is a typed n8n workflow: triggered by a single well-defined event, calls the Brain Router for reasoning, reads/writes vault + Postgres + CRM, queues human approval before any external side-effect, and writes an immutable run-record. No silent automation. No irreversible actions without a human in the loop on day one — autonomy is earned per-flow, per-metric, over time.

Flow 1 — WhatsApp → Lead → CRM

  • TriggerInbound WhatsApp via Meta WhatsApp Cloud API webhook (direct integration, not Twilio — gets per-template pricing under Meta's July 2025 model + full 24h free customer-initiated window). HMAC-SHA256 signature verified.
  • ExtractBrain Router classify_lead → Pragmatic (Haiku 4.5) extracts JSON: name, phone, project_type, area_m2, budget_hint, location, urgency, language (en/mt/it). Client data not redacted here because it's your own data on your own infrastructure.
  • ScoreSecond classify_lead pass scores 0–100 using project size, budget explicitness, location fit, urgency language, prior relationship. Scores 70+ flagged "hot lead". Stored in CRM.
  • VaultNew file created: /people/leads/2026-04-19-anna-muscat.md with YAML front-matter, original message, extracted fields, score breakdown. Auto-embedded within 10 seconds.
  • DraftBrain Router draft_email → Pragmatic drafts WhatsApp reply in detected language using your brand voice playbook from /playbooks/brand-voice.md. Draft pushed to approval queue in admin portal + CRM. Staff approve/edit/reject in one tap.
  • SendOn approval: WhatsApp Cloud API POST /messages. Response stored. If 24h window expired, switches to pre-approved template message. Every send writes to comms_audit.
  • SLAInbound → draft ready <15 seconds. Approved reply sent <2 minutes in working hours. Weekly adherence report in the morning briefing.

Flow 2 — Quote Generation

  • TriggerLead reaches Qualified stage in CRM, OR staff clicks "Generate Quote", OR website 6-step form submitted.
  • GatherWorkflow pulls: project brief, room dimensions, material preferences, budget band, site location (for travel), vault notes tagged with similar past projects.
  • ReasonBrain Router generate_quote → Sovereign brain only (pricing is your IP, never external). Retrieves chunks from pricing/ and materials/ namespaces, applies margin rules from /playbooks/margin-rules.md, returns itemised line breakdown in JSON.
  • ComposeTemplate engine renders Markdown quote in /projects/.../quotes/2026-04-19-quote-v1.md. Any line item with confidence < 0.6 triggers a second pass on Frontier (Sonnet 4.6) with margin cap enforced server-side.
  • ApproveGoes into approval queue with a diff against the closest historical quote. PM reviews, edits inline in Obsidian, approves. Xero draft invoice created via OAuth 2.0. Quote PDF generated via WeasyPrint with your brand template.
  • SendSendGrid transactional email (SPF/DKIM/DMARC aligned) with PDF attachment and secure web-view link. Open + click tracking written back to CRM lead.
  • SLAComplete quote in client's inbox within 1 working hour of stage change, versus current 2–4 day manual process.

Flow 3 — Email Triage

  • TriggerNew email to info@deskio.mt via Gmail push notification over Pub/Sub.
  • Classifyclassify_lead → Pragmatic. Categories: new_enquiry, existing_client, supplier, invoice, spam, internal. Confidence < 0.7 routes to human triage.
  • Routenew_enquiry → Flow 1 (as if WhatsApp). existing_client → project channel + assigned PM. supplier → filed in /people/suppliers/. invoice → Xero ingestion flow. spam → dropped with hash logged.
  • DraftFor human-facing categories, draft_email produces reply in your brand voice. Appears in inbox as a Gmail draft — staff open, edit, send.
  • Target95%+ classification precision measured weekly against 200-email gold set; any drop triggers a refinement run.

Flow 4 — Daily Briefing

  • TriggerCron 07:00 Europe/Malta Monday–Saturday.
  • GatherSQL snapshot: new leads (24h), quotes sent, quotes awaiting response >48h, invoices due/overdue, active projects with status deltas, pending approval queue items. Plus weather forecast for active site postcodes (affects schedule risk).
  • SummariseBrain Router weekly_briefing → Pragmatic. Generates 150–220 word briefing: "three most important items, anomalies/risks, what needs a decision today". Saved to /daily/2026-04-19.md.
  • DeliverWhatsApp to the owner, email to PMs, and a morning briefing entry inside the CRM. Each item links directly to the CRM record or vault note.

Flow 5 — Compliance Check

  • TriggerNew project created, OR material changed on active project, OR compliance question asked by any staff member via chat/WhatsApp.
  • CheckBrain Router compliance_lookup → Sovereign only. Retrieves from compliance/ namespace: Cap. 513, OHSA requirements, VAT (18% Malta + exemption rules), EN 14411 (ceramic tile standards), GDPR retention. Returns structured citations.
  • VerdictOutput: compliant (true/false/requires_review), citations, risks, recommended_actions. Saved to /projects/.../compliance/YYYY-MM-DD.md. Any requires_review escalates to admin queue and blocks the project stage transition until cleared.
  • RetentionAll compliance records carry 24-month hot retention + 10-year cold archive, as required under Malta construction regulations.
12
Self-Improvement Loop — The Brain Gets Measurably Smarter Every Week
Eval harness · Drift monitors · Human-gated promotion

A system that can't measure itself can't improve. The AI Brain ships with a built-in evaluation harness that runs nightly and weekly, tracks four first-class metrics, surfaces drift, and gates every improvement behind human approval. This makes "your brain is smarter than last month" auditable instead of rhetorical.

  • Nightly evals120-query gold set covering the five Phase 1 flows (lead extract, quote gen, email triage, briefing, compliance). Each query has a known-good answer defined by your team during Week 2. Nightly run at 03:00 Malta executes all 120 through the Brain Router, scores by exact-match (structured outputs), semantic similarity via Sovereign embeddings (free-form outputs), and citation accuracy (did the AI cite the right vault notes). Result written to /evals/YYYY-MM-DD.md.
  • Drift monitorsFour Prometheus alerts, evaluated hourly: accuracy drift (pass rate drops >5% vs trailing 7-day median), cost drift (daily Frontier spend exceeds €12 for 2 consecutive days), latency drift (P95 increases >30% week-over-week), vault health (notes with requires_review:true older than 7 days > 20, or embedding failures > 3 in 24h). Any alert sends Slack + WhatsApp to the owner with the specific failing queries.
  • Weekly reviewEvery Monday 08:00 a 12-line summary is generated: pass rate this week vs last, cost per 1k queries, top 5 failing queries with proposed fixes, top 5 new vault notes that didn't yet show up in citations (knowledge not yet useful). Delivered as a vault note + WhatsApp.
  • Improvement proposalsFor each failing query, the harness generates a proposed fix: "add pricing note for 900×900 porcelain", "expand compliance/vat.md with EU intra-community rule", "retrain lead-scoring threshold 70 → 65". Proposals land in the approval queue. Nothing auto-applies. You approve → change applied → next nightly run validates the fix.
  • Model promotionWhen a new Ollama model or Anthropic snapshot ships, it's added as a shadow brain. Shadow gets a copy of every production query asynchronously; its responses are scored but never shown to users. If the shadow beats the current production brain by ≥3% on the eval suite for 14 consecutive days, the system proposes promotion. Promotion requires one human click. Rollback is one click. No silent model swaps.
13
Phase 1 — 10-Week Delivery Plan & Operating Envelope
Weekly gates · Exit criteria per milestone · Fixed cost envelope

Phase 1 ships in ten working weeks. Each week has a named deliverable and an exit criterion Deskio must satisfy before the week is billable. If a gate fails the week extends until it passes — you don't pay for half-done work.

  • Week 1Foundation — Dedicated EU Server provisioned (Finland, 16C/128GB), WireGuard mesh, UFW baseline, Caddy TLS, Postgres 16 + pgvector, Redis 7, Ollama + Mistral 7B + Qwen 2.5 7B + Llama 3.1 8B + nomic-embed-text. Meta WhatsApp Business verification submitted. Gate: ollama run mistral responds in <3s; pgvector similarity query <80ms.
  • Week 2Vault bootstrap — Obsidian vault structure created, obsidian-livesync on CouchDB deployed, front-matter linter enforced, 150+ notes imported, 25 playbooks drafted with your team in 2 half-day workshops. Gate: any vault note searchable via vault_search in <1s with ≥0.8 relevance.
  • Week 3Brain Router online — FastAPI gateway with 9 task types, routing table, redaction pass, unified response schema, Prometheus metrics, audit log to Postgres. Anthropic Haiku + Sonnet wired with ZDR-enabled keys and hard €300/mo cap. Gate: 50-query smoke test passes on all three brains; redaction audit confirms zero raw PII in outbound Anthropic payloads.
  • Week 4Flow 1 — WhatsApp → Lead → CRM end-to-end in staging. Gate: 20 test messages processed, 95%+ correct extraction, approval queue functional, audit rows present.
  • Week 5Flows 2 + 3 — Quote Generation + Email Triage. Xero OAuth 2.0 live. SendGrid sender identity verified, SPF/DKIM/DMARC aligned. Gate: 10 quotes from real historical briefs score within ±8% of actual quoted amounts; email classifier ≥95% on 200-email gold set.
  • Week 6Flows 4 + 5 — Daily Briefing + Compliance Check. Admin dashboard (brain metrics, approval queues, eval results). Gate: morning briefing delivered for 5 consecutive days; compliance flow catches 3 pre-seeded violations in test data.
  • Week 7Eval harness + drift monitors. Gold set locked with your team. Nightly evals running. Prometheus alerts wired to Slack + WhatsApp. Gate: full nightly cycle runs clean; Monday weekly review auto-generated and readable.
  • Week 8Hardening + UAT — penetration test (external firm, scope: Brain Router + admin portal + vault sync), backup restore drill (full vault + Postgres restored to a blank server in <2h), GDPR ROPA completed, DPIA signed. Gate: zero criticals, zero highs in pen-test; restore drill verified.
  • Week 9Team training — two 90-minute sessions (Obsidian basics + Brain day-to-day), one 3-hour admin session (approval queues, drift dashboards, eval review, emergency playbook). Printable cheat sheets in English + Maltese. Gate: each team member completes a 10-task competency drill unaided.
  • Week 10Go-live cutover — production traffic switches from the legacy workflow to the new one, Deskio on-site for 3 consecutive days, 24/7 Slack-based support for 14 days post-cutover. Gate: 72 hours with no P1 incidents, SLA metrics green on all 5 flows.
👥
Phase 1 — Core
Construction CRM — Full Pipeline Intelligence
A bespoke CRM built for the exact workflows of a Malta interior finishing company — not Salesforce with construction fields bolted on. Every lead source captured, every stage defined, every follow-up automated. The CRM is the central nervous system that connects the website, the quotation tool, Xero, and the AI Brain. Every piece of client information lives here.
01
8-Stage Pipeline Architecture
Stage-locked automations · Transition rules · AI-assigned stages
🔄 The 8 Stages
  • 1 — Enquiry: lead received, not yet qualified. Auto-assigned from website/chat.
  • 2 — Qualification: AI scores lead 1–10. >6: auto-move to Site Visit. <4: marked low priority. 4–6: manual review.
  • 3 — Site Visit Scheduled: Calendly link sent, visit booked. PM assigned.
  • 4 — Quote In Progress: site visited, quotation tool active. Measurements entered.
  • 5 — Quote Sent: Xero draft pushed, PDF emailed to client. 3-day auto-follow-up starts.
  • 6 — Negotiation: client has responded with counter or queries. Change order possible.
  • 7 — Won: contract signed, deposit invoice sent to Xero. Project created and ready for kickoff.
  • 8 — Lost / Closed: reason logged. Lost reason analysis runs monthly (price/timing/competitor).
⚙️ Stage Transition Rules
  • Enquiry → Qualification: automatic on lead creation (AI scores within 60s)
  • Qualification → Site Visit: automatic if score >6 OR manual move by PM
  • Site Visit → Quote In Progress: PM clicks "Site Visit Done" — triggers quotation tool pre-fill
  • Quote In Progress → Quote Sent: triggered when Xero quote pushed and email sent
  • Quote Sent → Negotiation: triggered when client replies to quote email (Gmail webhook)
  • Negotiation → Won: triggered when contract signed via e-signature
  • Any stage → Lost: manual only, requires reason selection from dropdown
02
Lead Capture — Every Source, Zero Manual Entry
Website · WhatsApp · Email · Phone · Referral · Facebook · Instagram
🌐 Website Forms
  • Quote request form → POST /api/crm/lead with full form data
  • Contact form → lead created, tagged "general enquiry"
  • AI chat widget → lead captured mid-conversation with full transcript
  • Source tracking: UTM parameters preserved (Google Ads, organic, direct, referral)
📱 WhatsApp + Phone
  • Dedicated WhatsApp Business number — messages trigger webhook
  • n8n workflow: WhatsApp message → AI Brain extracts name + project type + budget → CRM lead created
  • Inbound calls: Twilio call tracking number → call logged, recording stored, lead created
  • Missed call → automated SMS follow-up within 5 minutes
📧 Email + Social
  • Gmail webhook: emails to info@ — AI Brain classifies (enquiry/invoice/spam) → enquiries become leads
  • Facebook Lead Ads: Meta webhook → lead forms auto-sync to CRM within 60 seconds
  • Instagram DMs: monitored via Meta API — high-intent messages flagged for manual review
  • Referrals: PM manually creates lead, marks referral source (tracked for referral programme)
03
AI Lead Scoring — How Every Lead Gets Evaluated
POST /api/classify-lead → 1–10 score + recommended action in <60s
  • InputSignals sent to AI Brain: enquiry text (full message), project type mentioned, area/rooms mentioned, budget range if stated, location (Malta region), source channel, company name if B2B, urgency language detected ("urgent", "asap", "before Christmas").
  • ScoreAI scores 1–10: 1–3 = low priority (no budget, wrong geography, just browsing). 4–6 = warm, manual review needed. 7–8 = hot, schedule call within 2h. 9–10 = urgent, call immediately. Score + reasoning returned as JSON.
  • ActionAutomated action by score: <4: assigned to junior PM, follow-up in 48h. 4–6: assigned to senior PM, follow-up in 24h. >6: assigned to director + PM, follow-up in 2h. SMS notification to assignee with lead summary.
  • LearnOutcome feedback: when lead closes (Won/Lost), outcome written back to AI Brain. Over 6 months, scoring model improves as it learns which signals predicted successful conversions for Turnkey specifically.
04
AI Follow-Up Sequences — Email + SMS Nurturing
SendGrid · Twilio · AI-drafted · Human-approved · Timing-automated
📧 "Quote Sent" Sequence (7 days)
  • Day 0: Quote PDF emailed from Xero via SendGrid. Subject: "Your Turnkey quote is ready — ref #TK-2025-0047"
  • Day 3: AI Brain drafts follow-up email: personalised with client name, project type, reference number. PM reviews in 1 click → approve → auto-sent via SendGrid.
  • Day 5: SMS via Twilio: "Hi [Name], just checking if you had a chance to review your Turnkey quote. Happy to answer any questions — call us on +356 xxxxxxxx."
  • Day 7: Final email — sets urgency: "Your quote is valid until [date]. We'd love to get your project started."
  • If client replies at any point: sequence paused, PM notified immediately.
📬 "New Lead" Sequence (48 hours)
  • Immediate: auto-reply to client acknowledging enquiry. AI Brain personalises: references their project type and indicates typical lead time for their room type.
  • Hour 2: internal: PM receives email + SMS with lead score, summary, and recommended response. One-click to call or email client directly.
  • Hour 24: if no PM action: escalation email to director. Flag appears in Executive Dashboard approval queue.
  • Hour 48: if still no contact: automated apology email to lead: "We're sorry for the delay — someone will reach out by [date]."
05
Subcontractor Database & Revenue Forecasting
Integrated with project scheduling · Xero export · AI projection
👷 Subcontractor DB
  • Each sub: name, trade specialisation, day rate, payment terms, tax number (for Xero)
  • Rating system: PM rates after each project (1–5) — average shown on profile
  • Availability calendar: PM marks sub as booked on specific date ranges — avoids double-booking
  • Document storage: ID, insurance certificates, trade licences — expiry date alerts auto-generated
  • When project created: AI Brain recommends available subs matching required trade for dates
📈 Revenue Forecasting
  • Pipeline value calculated: sum of (quote value × win probability by stage)
  • Stage probabilities: Qualification 10%, Site Visit 25%, Quote Sent 45%, Negotiation 70%, Won 100%
  • AI Brain adjusts probabilities per PM's historical conversion rates
  • 30/60/90-day revenue forecast exported to Executive Dashboard every Monday morning
  • Xero integration: forecast vs actual reconciled monthly
Phase 1 — Core
Workflow Automation — End-to-End
A self-hosted n8n automation layer that connects every system — CRM, Xero, AI Brain, email, SMS, WhatsApp — and eliminates the manual handoffs between them. The target: the typical Turnkey project cycle runs with 70% less manual administrative work. Every trigger, every condition, every action is visible, auditable, and configurable without writing code.
01
n8n Infrastructure — Self-Hosted Automation Platform
Dedicated EU Server · Docker deployment · 300+ native integrations
🖥️ n8n Setup
  • n8n community edition — self-hosted, Docker Compose
  • Persistent storage: PostgreSQL for workflow state, Redis for queue
  • HTTPS via Nginx reverse proxy + Let's Encrypt SSL
  • Admin UI accessible via VPN only — not publicly exposed
  • Workflow versioning: every workflow change is version-controlled
  • Error handling: all workflows have fallback nodes — failed executions logged + alerting
  • Execution history: full audit log of every automation run (30-day retention)
  • 300+ built-in integrations: Gmail, Xero, Twilio, SendGrid, Slack, WhatsApp, Stripe, Notion, Google Sheets
⚡ Trigger Architecture
  • Webhooks: CRM stage changes, Xero payment events, form submissions, app events
  • Schedules: daily briefings at 07:00, weekly reports every Monday, monthly reconciliation
  • Email watch: Gmail node monitors info@ inbox, fires on new messages
  • Database polling: n8n polls CRM every 5 minutes for records meeting trigger conditions
  • Manual triggers: PM can fire any workflow from a button in CRM (for one-off sends)
  • All triggers logged: what fired, when, with what payload, what it produced
02
Pre-Built Workflows Delivered at Phase 1 Launch
20+ production workflows · All documented · All testable
📋 Sales Workflows
  • New lead → AI score → assign PM → notify
  • Quote sent → 3/5/7 day follow-up sequence
  • Lead won → contract trigger → Xero deposit invoice → client app invite
  • Lead lost → reason log → lost analysis monthly report
  • Quote about to expire → renewal reminder to PM
💼 Operations Workflows
  • Milestone completed → Xero progress invoice generated → client notified
  • Project handover signed → snagging list cleared → final invoice triggered
  • Safety alert failed → supervisor SMS → executive dashboard flag
  • Material delivery confirmed → project progress updated → PM notified
  • Weekly: project status summary → each PM receives their project digest
💰 Finance Workflows
  • Invoice overdue 7d → SMS to client → CC PM
  • Invoice overdue 14d → director alert → escalation sequence
  • Payment received → thank-you email → next invoice triggered (if staged)
  • Monthly: Xero → Google Sheets revenue report → emailed to director
  • Subcontractor invoice received → PM approval request → Xero bill created
03
Key Automation Flows — Step by Step
Three highest-value automations detailed
  • Flow A Project Milestone → Invoice Generation: PM marks milestone "Complete" in CRM → n8n webhook fires → checks: is this a billable milestone? (configured per contract) → YES: generate Xero invoice via Xero API with correct line items, VAT, and client reference → invoice emailed to client via SendGrid → record invoice ID in CRM → dashboard updated. Total elapsed: <90 seconds. Zero manual input required.
  • Flow B AI-Drafted Email Generation: Trigger: CRM stage changes OR scheduled time. n8n calls AI Brain POST /api/draft-email with: {context: lead_data, stage, previous_contact_summary, purpose: "5-day quote follow-up"}. AI Brain returns draft email. n8n sends draft to PM review queue (email with preview + Approve / Edit / Reject buttons). PM approves → n8n sends via SendGrid. Rejected: PM's note stored, draft discarded. Every step logged.
  • Flow C Weekly Executive Report: Every Sunday 20:00, n8n aggregates: CRM pipeline snapshot (value by stage), Xero: invoiced/collected/outstanding this week, Field app: projects advanced, safety alerts this week. AI Brain generates 300-word narrative summary. n8n sends as formatted email to director + creates summary card in Executive Dashboard app. Available Monday morning before briefing fires.

Phase 1 Foundation First
Then Expand

Phase 1 is the only active, priced scope. Ten weeks, three core systems — AI Brain, Construction CRM, and the Automation Layer + 2 AI Agents — at a fixed bundled price. Every week has named deliverables and a sign-off gate. Any additional phases are scoped separately once the foundations are live and proven.

Phase 1 — Active Scope
AI Brain · Construction CRM · Automations
Three production-grade systems built in parallel, tested against real Turnkey data, and handed over with full documentation and staff training. Nothing is considered done until it passes acceptance criteria you sign off on.
🧠
AI Brain
Private LLM · Dedicated EU Server · Monthly retraining
€12,000
👥
Construction CRM
8-stage pipeline · AI scoring · Xero sync
€8,000
Automation Layer + 2 AI Agents
Quoting · Scheduling · Invoicing · Compliance · Emailing · Feedback · Follow-up
€12,000
WEEK 1 Discovery & Kickoff
Full-day kickoff workshop with Steve & team Rate card audit — all materials, labour, margins Current quoting process mapped end-to-end Xero sandbox access + OAuth credentials issued Dedicated EU Server server ordered & provisioned Feature spec & acceptance criteria signed off
✓ Gate: signed spec doc · Xero sandbox confirmed · server online
WEEK 2 Infrastructure & AI Brain Foundation
Ubuntu 22.04 hardened: ufw, fail2ban, unattended-upgrades WireGuard VPN: Malta office ↔ server tunnel live HashiCorp Vault deployed — secrets never in env files Ollama installed: Mistral 7B + Llama 3.1 8B pulled & benchmarked Qdrant vector DB: collection created, HNSW index configured FastAPI skeleton deployed on private network, health check passing
✓ Gate: VPN ping <10ms · LLM returns inference in <4s · Vault unsealed
WEEK 3 Document Ingestion & RAG Pipeline
PyMuPDF + Tesseract OCR pipeline built & tested on Turnkey PDFs 50+ documents ingested: rate cards, quotes, specs, supplier sheets Semantic chunking tuned: 512 tokens, 64-token overlap nomic-embed-text embeddings (768-dim) stored in Qdrant RAG query pipeline: question → top-5 chunks → Mistral 7B → answer 20 test questions validated — all answers cite source document
✓ Gate: ≥85% test-question accuracy · source citations present on every answer
WEEK 4 CRM Core — Pipeline & Lead Capture
PostgreSQL schema finalised, Prisma migrations run 8-stage pipeline built with transition validation rules Lead capture: web form, WhatsApp, manual entry, email parsing Contact & company records with full activity timeline Kanban board UI live in browser — drag to advance stage Role-based access: Steve (admin), sales staff (standard)
✓ Gate: 10 test leads created → moved through all 8 stages without errors
WEEK 5 CRM Intelligence & Xero Integration
AI lead scoring (1–10) wired to AI Brain via FastAPI SendGrid: 5-touch email nurture sequence configured per stage Twilio: SMS follow-up triggers at 48h & 7-day no-response Xero OAuth 2.0: Items, Contacts, Quotes, Invoices APIs connected Margin validation gate: quotes below threshold blocked before push Malta 18% VAT applied automatically on all Xero quote lines
✓ Gate: CRM quote → Xero quote round-trip verified · VAT correct · margin gate blocks low-margin test
WEEK 6 Automation Layer — n8n Flows & Integrations
n8n self-hosted, wired to AI Brain & CRM webhooks Quote generation flow: CRM draft → AI Brain pricing → Xero quote WhatsApp lead flow: Meta Cloud API → AI extract → CRM lead row Compliance reporting: OHSA checklists + weekly Malta VAT pack Supplier comms: PO → email → confirmation parsed back into CRM Daily exec briefing: pipeline + cash + jobs-at-risk delivered 07:30 Malta
✓ Gate: all 5 flows run end-to-end on live data · zero manual steps · error alerting verified
WEEK 7 End-to-End Integration Testing
Full flow tested: website enquiry → CRM lead → AI score → nurture 10 benchmark jobs re-quoted: real past Turnkey projects through system Xero round-trip on all 10: quote → approve → invoice → VAT check AI Brain re-tested: 30 questions, sources verified, hallucinations logged Security scan: OWASP Top 10, dependency audit, Vault audit log reviewed Load test: 50 concurrent users, all APIs <800ms at p95
✓ Gate: zero blocker bugs · all 10 benchmark quotes match expected output · no security findings rated Critical
WEEK 8 UAT — Turnkey Team Testing
Structured UAT sessions: Steve + office staff + 1 field crew member UAT scripts: 25 test scenarios covering every user role & edge case All bug reports triage-classified: P0 fixed same day, P1 within 48h UX adjustments based on team feedback (within agreed scope) Xero live account connected (production, not sandbox) & verified UAT sign-off document prepared for Steve's signature
✓ Gate: UAT sign-off signed · zero open P0/P1 bugs · Xero live account confirmed
WEEK 9 Staff Training & Go-Live Preparation
Training session 1 (2hr): CRM — lead management, pipeline, follow-ups Training session 2 (2hr): AI Brain — how to query, what it knows, limits Training session 3 (1hr): website admin — CMS updates, form submissions Runbook delivered: every system, every credential path, every backup step DNS cutover plan prepared: zero-downtime migration strategy Automated backups configured: daily server snapshots + off-site copy
✓ Gate: all staff can perform their role without assistance · runbook reviewed by Steve
WEEK 10 Go-Live & 48-Hour Hypercare
DNS cutover: website live on production domain (zero downtime) CRM goes live: existing contacts & leads migrated from spreadsheets AI Brain: full production document library ingested (100+ documents) First real enquiry processed through the live system — witnessed together 48-hour hypercare: direct line, issues resolved within 4 hours 30-day warranty period begins — all bugs fixed at no charge
✓ Gate: website resolves on production domain · CRM showing live data · AI Brain answering production queries
WHAT'S INCLUDED — PHASE 1 DELIVERABLES
AI Brain — private LLM on dedicated EU server Document RAG pipeline — 100+ Turnkey docs ingested Construction CRM — 8-stage pipeline with AI scoring SendGrid + Twilio nurture sequences (live & tested) Automation Layer + 2 AI Agents — 7 workflows (quoting, scheduling, invoicing, compliance, emailing, feedback, follow-up) 3 × staff training sessions + full runbook 30-day post-launch warranty (bugs fixed at no charge)
Not included: server hosting costs (quoted separately) · Xero subscription · SendGrid / Twilio / WhatsApp usage beyond free tier
⏱ 10 Weeks · Phase 1 Bundled Price €28,000 €32,000 individual Save €4,000 · 12.5% bundled discount
Phase 5
Optimize — Continuous Improvement Loop
Monthly reviews, AI model re-training, new feature requests, and system optimizations. Your AI ecosystem gets smarter every month.
Monthly AI retraining KPI review sessions New workflow creation Agent capability expansion User feedback integration
⏱ Month 7+ — Ongoing

Dedicated Server Options

Your AI ecosystem runs on enterprise-grade dedicated hardware — not shared hosting. Choose the tier that matches your team size and workload.

⚠️ Server costs are not included in the package investment — they are quoted separately as an optional infrastructure add-on.

Enterprise EX130-R
EX130-R
⭐ Most preferable option for AI Brain
Processor 24-Core Xeon Gold 5412U
🧠 RAM 256 GB DDR5 ECC
💾 Storage 2 × 1.92 TB NVMe SSD
🌐 Bandwidth 1 Gbit/s
Monthly €383.72 / month
One-time setup €961.68
✅ Both Servers Include
RAID 1 protection (automatic failover)
1 Gbit/s dedicated bandwidth
24-hour technical support
DDoS protection included
Enterprise-grade data centre
Full root access & control

⚠️ Server hardware and monthly fees shown above are not included in any development package. These are separate infrastructure costs, billed directly as a separate infrastructure cost or managed by Deskio on your behalf.

🛠️ Monthly System Maintenance
Security patches · OS updates · Performance monitoring · Backup verification · Proactive health checks by our team
€350 / month

Transparent Pricing
Built to Scale

Every deliverable priced independently and transparently. Final scope is assembled from the components below — discussed, shaped, and agreed together.

Individual Component Valuation

Each deliverable priced independently. Final scope and bundled pricing agreed directly with you, based on what you actually need.

Component Description Est. Value
🧠 AI Brain Custom LLM trained on company data, private server deployment, monthly retraining €12,000
👥 Construction CRM Full pipeline, AI follow-ups, estimating automation, subcontractor & revenue management €8,000
⚡ Automation Layer + 2 AI Agents 7 workflows + Quoting Agent & Email Agent — quoting, scheduling, invoicing, compliance, emailing, client feedback, follow-up €12,000
Total Individual Value €32,000
Phase 1 Bundled Price (save €6,400 · 20% off) €25,600

* Individual estimates shown for transparency. Bundled pricing negotiated directly with you.

PHASE 1 — ACTIVE SCOPE
AI Brain · Construction CRM · Automation Layer + 2 AI Agents
€12,000 + €8,000 + €12,000 = €32,000 individual — bundled for Phase 1 at €28,000 fixed.
€32,000
€28,000
Save €4,000 · 12.5% off
Start Phase 1 →

💡 Payment Terms: 30% due on contract signing — the remaining balance spread across monthly payments.

Clear Ground Rules
For Both Sides

Every engagement runs on the same transparent terms — no surprises, no fine print, no vendor lock-in games.

01 · PAYMENT
Payment Terms
30% due on contract signing. Remaining 70% split across monthly milestones tied to weekly delivery gates. Invoices issued via Xero, net-14. No payment is ever due on unreleased scope.
02 · ACCEPTANCE
Weekly Sign-Off Gates
Each week of Phase 1 ends with a defined demo and a written acceptance gate. Work does not advance until the prior gate is signed off. A final UAT sign-off closes Phase 1 before go-live.
03 · OWNERSHIP
Intellectual Property
On final payment, Deskio owns 100% of custom deliverables — codebase, data, fine-tuned model weights, n8n workflows, CRM config. We retain rights to our reusable internal frameworks and tooling used to build them.
04 · DATA
Confidentiality & Data Sovereignty
All company data stays on a dedicated EU-based server. The private LLM never trains on third-party data. Mutual NDA signed at kick-off. GDPR-compliant. Zero data retention on any external model calls.
05 · WARRANTY
Post-Launch Support
30-day warranty on every Phase 1 deliverable — any bug traced to our build is fixed at no cost. After warranty, a fixed-price monthly maintenance retainer is optional, never required.
06 · SCOPE
Change Orders
Scope changes are documented as written change orders, re-estimated transparently, and only executed on approval. No silent scope creep. No surprise invoices.
07 · EXIT
Termination & Fair-Work
Either party may terminate on 14 days' written notice. Payment only for work delivered and accepted to date. All work-in-progress, source code, and data handed over within 7 days.
08 · LIABILITY
Liability Cap & Governing Law
Aggregate liability capped at total fees paid. No indirect or consequential damages. Governed by the laws of Malta; disputes in Maltese courts.

📄 Formal contract is issued on scope acceptance. This page is a proposal summary — binding terms are embedded in the signed Statement of Work.

Built for Construction.
Not Repurposed for It.

🧠
Private AI Brain
Your LLM runs on your own EU server. Zero data egress to OpenAI, Anthropic, or Google — ever. Your company's intelligence stays yours, contractually and technically.
🔄
Always Learning
Monthly AI retraining is included for 12 months. The Brain gets smarter as the CRM captures more leads — it's not a one-shot install, it's a compounding asset.
👥
8-Stage Pipeline
Built for Malta's interior-finishing workflow — not Salesforce with construction fields bolted on. Every stage, trigger, and Xero sync is configured for how Deskio actually works.
💰
Xero-Native Billing
Quotes, invoices, and contacts sync automatically. 18% Malta VAT applied. Milestone-triggered invoices generated in under 90 seconds with zero manual input.
7 Workflows Live
Quoting · Scheduling · Invoicing · Compliance · Emailing · Feedback · Follow-up — every major admin drain automated, documented, and auditable without writing code.
Human-Approved
Every outbound action — every email sent, every quote pushed — goes through a PM approval gate. The AI does the work; your team stays in control of every customer touch.

Ready to Build the
AI-Powered Future?

Let's schedule a discovery call to review your specific workflows, refine the scope, and create a customized plan that matches your exact needs and timeline.

Quick Start
Phase 1 live in 10 weeks
🔒
NDA Included
Full confidentiality guaranteed
💳
Payment Terms
30% on signing · balance monthly