Feuille de route

Ce que nous construisons, dans quel ordre, et ce qui est déjà fait. Ce qui est prévu est écrit ici comme un plan, pas comme une promesse.

Maintenant

Verein in Gründung, said plainly

60 % terminé

Jalons

  • Every public page states "Verein in Gründung" instead of a recognised status
  • Donation-receipt claims and invented UIDs removed from the site
  • The "not a charity" line removed — it contradicted the legal page
  • Association registered
  • Cantonal recognition as gemeinnützig (only then do receipts become possible)

Three divisions, one idea

100 % terminé

Jalons

  • evig computers live on the marketplace with one checkout for refurbished stock and community listings
  • evig technicians live on IT-Hilfe: post a request, receive offers from technicians nearby, choose one
  • evig ai live with a stated boundary: not a research lab, no magic, no lock-in
  • Division wordmarks, nav entries, footer column and division pages derive from one list
  • Homepage states the five pillars instead of a donation funnel

Quality control before anything reaches the shop

86 % terminé

Jalons

  • One capture contract: text, photo, CSV/Excel and speech normalise into the same product schema
  • Pass / fail / n.a. verdicts on every checklist item, serialised on a row lock
  • A failed required item puts the device in the failed state and blocks the shop
  • Audited one-click "publish without QC" path — the listing then carries no Prüfsiegel and buyers see the untested state
  • Vier-Augen-Prinzip in final QA with an audited solo override
  • QR device labels linking the physical device to its pipeline record
  • Retire the legacy capture write endpoint and the Kivvi-only CSV import once caller telemetry shows zero use

CO₂ figures with an open methodology

75 % terminé

Jalons

  • Per-category factors from ADEME/ARCEP open data, guarded by a test that rejects uncited numbers
  • Public methodology page with formula, sources and limits
  • CO₂ badge per marketplace listing, absent where the estimate would not be defensible
  • Extend factor coverage as further open data becomes available

Building in public

100 % terminé

Jalons

  • Public changelog with versioned release notes
  • Roadmap and changelog kept as plain records in the repository
  • Public roadmap page rendering the fleet's canonical record

Ensuite

Promo codes and gift cards at checkout

25 % terminé

Jalons

  • Promo-code foundation with a tested discount engine
  • Admin issuance surface
  • Redemption across marketplace, workshop and appointment checkout, including a 100%-off path that skips the payment gateway
  • Purchasable gift cards with a depleting balance on the same rail

Reparaturbonus Zürich

50 % terminé

Jalons

  • Public page explaining the programme
  • Bonus redemption on a repair request

More ways to pay

75 % terminé

Jalons

  • Payrexx live, escrow-capable, backing the community marketplace flow
  • BTCPay (Bitcoin, CHF-denominated) integrated in code, hidden at checkout until a server is provisioned
  • GNU Taler adapter in the registry, same status
  • BTCPay server provisioned and enabled at checkout

Kivvi as the canonical ERP

25 % terminé

Jalons

  • Non-blocking inventory sync to Kivvi after device capture
  • One customer/vendor master in Kivvi
  • Swiss QR-bill invoicing from Kivvi
  • Accounting canonical in Kivvi once opening balances reconcile

Distribution without ads

50 % terminé

Jalons

  • Blog with RSS, JSON-LD, hreflang and localised dates
  • Newsletter signup wired to a self-hosted Listmonk
  • Weekly post, monthly digest, every post linking a purchasable surface
  • Mastodon account on our own instance, cross-posting each post

Plus tard

Fleet orders for Vereine, schools and municipalities

A real build-from-inventory matcher

Marketplace discovery

Role-aware onboarding and richer profiles

Terminé

Refocus on affordable intelligence

100 % terminé

Jalons

  • evig architecture and evig health removed; they were personal research and now live on orangecat.ch
  • evig repairs renamed to evig technicians — the name describes what the user is looking for
  • Services catalogue reduced to four entries; placement in the nav is data, tested
  • evig stops asking for printer donations

Marketplace parity that serves the mission

100 % terminé

Jalons

  • Server-rendered listing detail with metadata, breadcrumbs and JSON-LD Product/Offer
  • Seller reputation: star histogram, verified-purchase reviews, seller responses
  • Stated refurbished guarantee — 6-month warranty and 14-day return — sourced from the AGB, shown only on evig stock
  • Paid listings no longer stay reserved forever: one completion path

Security and correctness

100 % terminé

Jalons

  • Cron authentication denies by default on every route
  • A vote is cast by whoever proves their identity, not whoever types an email
  • Money routes authorise on the finance permission, not the bare staff flag
  • Payment throttle keyed on the hop the proxy wrote, not a header the caller controls
  • Five baseline security headers, CSP in report-only
  • Invoices charge the current VAT rate from one source

Design system discipline

100 % terminé

Jalons

  • 116 hand-rolled card shells normalised to the Card primitive; the ratchet holds at 3
  • Set-state-in-effect warnings cleared and locked at error
  • Eight modal dialogs gained a focus trap and Escape
  • Every nav target is at least 44px

Platform

100 % terminé

Jalons

  • Resend as the primary email provider through the shared mail kit
  • AI provider chain through the shared ai kit, with a health endpoint that reports what it observes
  • pnpm 11, TypeScript 6, Node 24, vitest
  • Production at evig.orangecat.ch with a 308 redirect from the retired host