Waku Roadmap 2024 Gantt Chart

Status short term work only:

  • reliability for 1:1 chat and communities
  • up to 100 communities

Colour legend:

  • Red: engineering work to deliver the feature.
  • Other: test and telemetry work to ensure quality

Prefix legend:

  • TBC: Yet to be scheduled or estimation needs to be locked in.

Completion dates are delivery of the code + dogfooding.

If too hard to read, try to see this file in GitHub.

gantt
    dateFormat YYYY-MM-DD
    axisFormat %d-%b
    weekday monday
    
%% Team legend:
%% task name: team (accountable person)
%% - r-*: research (jm-clius)
%% - t-*: telemetry (fryorcraken)
%% - n-*: nwaku (ivansete)
%% - j-*: js-waku (weboko)
%% - c-*: chat (plopezlpz)
%% - g-*: go-waku (fryorcraken)
%% - bd-*: BD (pedro)
%% - se-*: Solution Engineer (vpavlin)
    
%% Milestones overview with deliverables
    section Store Service Upgrade
        Store v3 (sync): crit, milestone, after r-storev3sync n-storev3sync, 0
        DoS protection for req-res protocols: crit, milestone, after n-dosreqres g-dosreqres, 0
        PostgreSQL maintenance: crit, milestone, after n-pgsql-m, 0
    section Direct Message Reliability
        (telemetry) direct message reliability: milestone, after t-d-msg-rel-1 t-d-msg-rel-2, 0
        Reliability Protocol for Resource-Restricted Clients: crit, milestone, after j-rel-reqres-1 j-rel-reqres-2, 0
        Review MVDS usage and fail path: crit, milestone, after c-mvds, 0
        PostgreSQL optimisation - phase 1: milestone, after n-pgsql-opt-1, 0
    section E2e reliability protocol
        E2e reliability protocol PoC: milestone, crit, after r-e2e-rel, 0
        E2e reliability protocol Status integration: milestone, crit, after r-e2e-rel-status c-e2e-rel-status, 0
    section Static Sharding - dedicated shards
        (telemetry) Measure Bandwidth: milestone, after t-bandwidth, 0
        (telemetry) Sharding: milestone, after t-sharding, 0
        Sharding peer mgmt and discovery hardening: crit, milestone, after n-shard-peer-mgmt g-shard-peer-mgmt, 0
        (testing) Custom shard impl of Communities: milestone, after c-test-custom-shard, 0
        PostgreSQL optimisation - phase 2: milestone, after n-pgsql-opt-2, 0
        Setup Waku Community on dedicated shard with pre-shared key dos protection: milestone, after waku-com, 0
    section Bandwidth optimisation and Communities protocol review
        %% For now same person scheduled to do both research and implementation
        Minimal Community Specification and Implementation: milestone, after r-min-com-spec c-min-com-spec, 0
        Review usage of content topics in Status Communities protocol: milestone, after r-cont-topic, 0
        Specify de-MLS over Waku: milestone, after r-demls-spec, 0
        %% TODO: schedule
        TBC Telemetry review: milestone, after r-telem-review, 0
        TBC Minimal solution for greedy messages: milestone, after r-min-sol-com, 0
        TBC Define long-term solution: milestone, after r-define-com-sol, 0
    section Nwaku in Status Desktop (Relay mode)
        Nwaku on Windows: milestone, after n-nwaku-windows, 0
        Nwaku in Status Desktop: milestone, after n-nwaku-status-desktop, 0
    section RLN Mainnet
        Implement RLN smart contract for paid, multilevel memberships: milestone, after r-rln-sc n-rln-sc j-rln-sc, 0
        Public dogfooding RLNaaS web app: milestone, after j-pub-dogfood-web-app-1 j-pub-dogfood-web-app-2, 0
    section Scale up number of Communities
        Usage of rendezvous: milestone, after r-rendezvous, 0
    section Incentivise running a Waku infrastructure node
        RLN Relay Incentivisation: milestone, after r-rln-relay-incent, 0
        Service Incentivisation: milestone, after r-svc-incent, 0
    section Demonstrate product market-fit
        Define cost (self-host): milestone, after bd-define-cost, 0
        Define potential USPs: milestone, after bd-define-usps, 0
        Define target customers: milestone, after bd-define-custs, 0
        Customer interviews: milestone, after cust-int, 0
        Co-design sessions: milestone, after bd-codesign se-codesign, 0
        Review Waku MVP: milestone, 2025-01-15, 0

%% Tasks
    section Chat.plopezlpz
        (testing) Custom shard impl of Communities: c-test-custom-shard, 2024-08-26, 2024-09-30
        Setup Waku Community on dedicated shard with pre-shared key dos protection: waku-com, after c-test-custom-shard, 2w
    section Chat.kaichaosun
        Review MVDS usage and fail path: crit, c-mvds, 2024-08-01, 2024-09-30
        Minimal Community Specification and Implementation: c-min-com-spec, after c-mvds, 12w
    section Go.richard-ramos
        Implement RLN smart contract for paid, multilevel memberships: r-rln-sc, 2024-09-01, 6w
        Nwaku in Status Desktop: n-nwaku-status-desktop, after n-rln-sc, 2025-01-31
        Status Support: status-support-rr, 2024-09-01, 2024-12-31
    section Go.chaitanyaprem
        DoS Protection for Req-Res Protocols: crit, g-dosreqres, 2024-08-01, 2024-09-15
        Sharding peer mgmt and discovery hardening: crit, g-shard-peer-mgmt, 2024-08-26, 2024-09-12
        Review usage of content topics in Status Communities protocol: r-cont-topic, after g-shard-peer-mgmt, 10w
    section EcoDev.vpavlin
        (telemetry) direct message reliability: t-d-msg-rel-1, 2024-08-26, 2024-09-25
        (telemetry) Measure Bandwidth: t-bandwidth, after t-d-msg-rel-1, 8w
        %% TODO: do bandwidth telemetry?
        E2e reliability protocol Status integration: crit, c-e2e-rel-status, after r-e2e-rel, 6w
        %% TODO: fit that properly
        Specify de-MLS over Waku: r-demls-spec, 2024-10-01, 4w
        Co-design sessions: bd-codesign, after cust-int, 2024-11-15
    section Go.adklempner
        (telemetry) direct message reliability: t-d-msg-rel-2, 2024-08-01, 2024-09-25
        (telemetry) sharding: t-sharding, after t-d-msg-rel-2, 4w
    section Test.stubbsta
        (simulation) Functionality and stress test store v3: sim-storev3, 2024-07-08, 8w
        (simulation) Functionality and stress test store v3 sync: sim-storesync, 2024-09-01, 10w
        (simulation) Reliability performance impact: sim-rel, after sim-storesync, 10w
    section Res.shash256
        E2e reliability protocol - PoC: crit, r-e2e-rel, 2024-08-01, 2024-09-06
        E2e reliability protocol Status integration: r-e2e-rel-status, after r-e2e-rel, 10w 
    section Res.sionois
        %% Only dogfooding remaining
        Store v3 (sync): crit, r-storev3sync, 2024-08-01, 2024-09-20
        Store v3 - follow-up: after storev3-r, 8w
        Peer mgmt - follow-up: after storev3-r, 8w
        Usage of rendezvous: r-rendezvous, after r-storev3sync, 8w
    section Res.alrevuelta
        RLN Relay Incentivisation: r-rln-relay-incent, 2024-09-01, 2024-12-31
    section Res.s-tikhomirov
        Implement RLN smart contract for paid, multilevel memberships: rln-sc-d, 2024-09-01, 6w
        Service Incentivisation: r-svc-incent, 2024-09-01, 2024-12-31
    section Nim.Ivansete
        Store v3 (sync): crit, n-storev3sync, 2024-08-15, 2024-09-20
        PostgreSQL Maintenance: crit, n-pgsql-m, 2024-08-01, 2024-09-18
        %% TODO review date/estimate
        PostgreSQL Optimisation - phase 1: n-pgsql-opt-1, after n-pgsql-m, 6w
        PostgreSQL Optimisation - phase 2: n-pgsql-opt-2, after n-pgsql-opt-1, 8w
        Nwaku in Status Desktop: n-nwaku-status-desktop-2, after n-pgsql-opt-1, 6w
    section Nim.NagyZoltanPeter
        DoS Protection for Req-Res Protocols: crit, n-dosreqres, 2024-08-01, 2024-09-15
        %% TODO review
        TBC Store v3-beta + v3 (nwaku hardening): crit, storev3-n, after storev3-df dosreqresn, 3w
        Nwaku in Status Desktop: n-nwaku-status-desktop-n, after storev3-n, 12w
    section Nim.gabrielmer
        Sharding peer mgmt and discovery hardening: crit, n-shard-peer-mgmt, 2024-08-01, 2024-09-12
    section Nim.darshankabariya
        %% TODO: review estimate
        Nwaku on Windows: n-nwaku-windows, 2024-08-15, 6w
    section Js.weboko
        Reliability Protocol for Resource-Restricted Clients: crit, j-rel-reqres-1, 2024-08-01, 2024-09-13
        Public dogfooding RLNaaS web app: j-pub-dogfood-web-app-1, after j-rel-reqres-1, 8w
        Implement RLN smart contract (js-waku): j-rln-sc, after j-pub-dogfood-web-app-1, 10w
    section Js.danisharora099
        Reliability Protocol for Resource-Restricted Clients: crit, j-rel-reqres-2, 2024-08-01, 2024-09-13
        Public dogfooding RLNaaS web app: j-pub-dogfood-web-app-2, after j-rel-reqres-2, 8w
    section BD.pedro
        Define cost (self-host): bd-define-cost, 2024-08-01, 2024-11-30
        Define potential USPs: bd-define-usps, 2024-09-01, 2024-11-30
        Define target customers: bd-define-custs, 2024-09-01, 2024-09-30
        Customer interviews: cust-int, after bd-define-custs, 2024-10-31
        Co-design sessions: bd-codesign, after cust-int, 2024-11-15