Skip to content

Refurb Workflow Diagrams

[HYPOTHESIS] — these diagrams describe the designed Boot Up pipeline (Phase 0). They are the working blueprint, not yet validated against a real cohort; steps will change once the first batch runs.

A donated or surplus machine moves through five stages: Acquisition → Intake → Sanitization → Install (Ubuntu + BNI Community Pack) → Ready for User. Units that can't be recovered are routed to responsible recycling or parts harvest.


End-to-end overview

flowchart LR
    A["Acquisition"] --> B["Intake & Triage"]
    B -->|"accepted"| C["Sanitization"]
    B -->|"rejected"| X["Responsible recycling / parts"]
    C --> D["Install: Ubuntu + BNI Community Pack"]
    D --> E["QA & Finalize"]
    E -->|"pass"| F(["Ready: award to graduate"])
    E -->|"fail"| R["Repair / re-image"]
    R --> D

1 — Acquisition

Three supply streams feed the program. Institutional surplus arrives stripped (destroy-drive policy), so power cords and drives are the parts the program must fund.

flowchart TD
    subgraph Sources
      S1["Institutional surplus<br/>State · City · Health · Industry"]
      S2["Individual & family donations"]
      S3["Corporate ITAD & national programs<br/>PCs for People, Human-I-T, etc."]
    end
    S1 --> N1["Driveless + cordless<br/>(mandatory destroy policy)"]
    S2 --> N2["May include live drive + charger"]
    S3 --> N3["Often tested, in bulk"]
    N1 --> L["Log inbound unit + source"]
    N2 --> L
    N3 --> L
    L --> P["Flag missing parts:<br/>drive / charger"]
    P --> G["Parts funded by<br/>supplies grant / CSR"]
    G --> I(["To Intake & Triage"])

2 — Intake & Triage

Every unit is logged, ownership is transferred in writing, and a minimum-spec gate keeps volunteer labor off machines that cost more than they're worth.

flowchart TD
    A["Receive unit"] --> B["Log: source, make, model, serial"]
    B --> C["Donation / transfer form signed"]
    C --> D{"Meets minimum spec?<br/>64-bit · 4GB+ · Ubuntu-supported"}
    D -->|"Yes"| E["Asset-tag + enter to inventory"]
    D -->|"No"| F{"Viable with cheap parts?"}
    F -->|"Yes"| G["Parts queue<br/>RAM · drive · battery · cord"]
    G --> E
    F -->|"No"| H["Responsible e-waste<br/>or parts harvest"]
    E --> I(["To Sanitization"])

3 — Sanitization

Boot Up always performs a verified, certified wipe at intake — a donor's self-wipe is a courtesy, not the system of record. The method depends on the media type. (Full detail: Data Sanitization & Wipe Certificate; donor-side options: Donate a Laptop.)

flowchart TD
    A["Unit at sanitization"] --> B{"Drive present?"}
    B -->|"No"| C["Install fresh SSD"]
    C --> Z(["To Installation"])
    B -->|"Yes"| D{"Drive type?"}
    D -->|"HDD"| E["nwipe — 1 pass + verify"]
    D -->|"SATA SSD"| F["ATA Secure Erase (hdparm)"]
    D -->|"NVMe SSD"| G["nvme format --ses=1 / sanitize"]
    D -->|"Self-encrypting (Opal)"| H["Cryptographic erase"]
    E --> V["Verify result"]
    F --> V
    G --> V
    H --> V
    V --> W["Generate wipe certificate<br/>+ log cert ID to inventory"]
    W --> Z

4 — Install: Ubuntu + BNI Community Pack

A clean Ubuntu 24.04 LTS base, then the curated BNI Community Pack of open-source apps and accessibility defaults. (Stack detail: Software.)

flowchart TD
    A["Boot Ubuntu installer USB"] --> B["Install Ubuntu 24.04 LTS"]
    B --> C["Create default user<br/>+ accessibility defaults"]
    C --> D["Apply BNI Community Pack"]
    D --> Pack
    subgraph Pack["BNI Community Pack"]
      P1["Web · email · office"]
      P2["Education & AI-literacy tools"]
      P3["Creative & productivity apps"]
      P4["Accessibility config (WCAG-minded)"]
      P5["Security updates + firewall"]
    end
    Pack --> E["MPowerUP preinstalled<br/>(future — Phase 5)"]
    E --> F(["To QA / Ready for User"])

[HYPOTHESIS] MPowerUP preinstallation depends on a desktop/web build of MPowerUP (its Phase 5) — shown as a future step, not a current capability.


5 — Ready for User

A QA gate confirms the machine actually works for a real person, then it's matched to a curriculum graduate and handed over with support.

flowchart TD
    A["QA checklist"] --> B{"Boots · Wi-Fi · battery ·<br/>audio · camera · apps · a11y OK?"}
    B -->|"No"| C["Repair / re-image"]
    C --> A
    B -->|"Yes"| D["Final label + inventory update"]
    D --> E["Pair with curriculum graduate"]
    E --> F["Handover pack:<br/>quick-start · support contact ·<br/>data-wipe certificate to donor"]
    F --> G(["Ongoing support tier"])