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