{"source":"https://contributable.vercel.app","licence":"CC BY 4.0","methodology":"https://contributable.vercel.app/methodology","v":2,"owner":"openfoodfacts","name":"smooth-app","updatedAt":"2026-10-11T05:34:35.345Z","coveredSince":"2025-10-04T12:45:28.029Z","facts":{"owner":"openfoodfacts","name":"smooth-app","description":"🤳🥫 The new Open Food Facts mobile application for Android and iOS, crafted with Flutter and Dart","stars":1428,"forks":486,"archived":false,"isFork":false,"license":"Apache-2.0","defaultBranch":"develop","pushedAt":"2026-10-10T21:55:01Z","createdAt":"2020-04-23T12:13:55Z","topics":["dart","dartlang","flutter","nutrition","openfoodfacts","food","android","ios","mobile-app","hacktoberfest","flutter-app","mobile","hacktoberfest-accepted"],"languages":{"Dart":4171072,"C++":22333,"CMake":18310,"Shell":10536,"Ruby":9713,"Swift":3546,"Kotlin":1848,"C":820,"Objective-C":38},"frameworks":[],"commits90d":89,"releases365d":6,"lastReleaseAt":"2026-08-24T13:35:11Z","gettingStarted":{"contributing":true,"codeOfConduct":true,"issueTemplates":true,"devcontainer":true,"cla":"none","channels":[],"policy":null}},"metrics":{"computedAt":"2026-10-11T05:34:35.345Z","outsidePulls":{"cohort":{"n":29,"merged":25,"closedUnmerged":1,"open":3,"mergeRate":0.9615384615384616,"openShare":0.10344827586206896,"evidence":{"merged":[7744,7736,7730,7727,7716,7696,7694,7691,7686,7676,7675,7668,7667,7632,7625,7620,7619,7614,7612,7608],"closedUnmerged":[7660],"open":[7755,7735,7733]}},"firstTimers":{"n":5,"merged":1,"closedUnmerged":1,"open":3,"mergeRate":null,"openShare":0.6,"evidence":{"merged":[7736],"closedUnmerged":[7660],"open":[7755,7735,7733]}},"year":{"n":109,"merged":81,"closedUnmerged":14,"open":14,"mergeRate":0.8526315789473684,"openShare":0.12844036697247707,"evidence":{"merged":[7744,7736,7730,7727,7716,7696,7694,7691,7686,7676,7675,7668,7667,7632,7625,7620,7619,7614,7612,7608],"closedUnmerged":[7660,7501,7462,7444,7443,7422,7381,7380,7354,7321,7258,7249,7136,7056],"open":[7755,7735,7733,7448,7447,7441,7421,7403,7396,7392,7388,7386,7294,7254]}}},"pullFirstResponse":{"n":29,"answered":29,"waiting":0,"medianHours":23.260277777777777,"p75Hours":74.98916666666666,"within48h":0.6206896551724137,"within7d":0.9310344827586207,"curve":[{"hours":0.05472222222222222,"waiting":0.9655172413793104},{"hours":0.09361111111111112,"waiting":0.9310344827586208},{"hours":0.2897222222222222,"waiting":0.8965517241379312},{"hours":0.36916666666666664,"waiting":0.8620689655172415},{"hours":0.41194444444444445,"waiting":0.8275862068965518},{"hours":2.2191666666666667,"waiting":0.7931034482758622},{"hours":3.7919444444444443,"waiting":0.7586206896551726},{"hours":4.423055555555556,"waiting":0.724137931034483},{"hours":6.625,"waiting":0.6896551724137933},{"hours":10.128055555555555,"waiting":0.6551724137931035},{"hours":10.926388888888889,"waiting":0.6206896551724139},{"hours":15.009444444444444,"waiting":0.5862068965517242},{"hours":17.06111111111111,"waiting":0.5517241379310346},{"hours":21.645555555555557,"waiting":0.517241379310345},{"hours":23.260277777777777,"waiting":0.4827586206896553},{"hours":25.05388888888889,"waiting":0.44827586206896564},{"hours":31.57138888888889,"waiting":0.41379310344827597},{"hours":41.74388888888889,"waiting":0.3793103448275863},{"hours":49.51305555555555,"waiting":0.34482758620689663},{"hours":55.723333333333336,"waiting":0.31034482758620696},{"hours":64.88888888888889,"waiting":0.2758620689655173},{"hours":74.98916666666666,"waiting":0.24137931034482762},{"hours":78.9225,"waiting":0.20689655172413798},{"hours":94.63027777777778,"waiting":0.17241379310344832},{"hours":96.65333333333334,"waiting":0.13793103448275865},{"hours":100.04222222222222,"waiting":0.10344827586206898},{"hours":125.52527777777777,"waiting":0.06896551724137932},{"hours":195.08166666666668,"waiting":0.03448275862068966},{"hours":894.9377777777778,"waiting":0}],"evidence":{"answered":[7755,7744,7736,7735,7733,7730,7727,7716,7696,7694,7691,7686,7676,7675,7668,7667,7660,7632,7625,7620],"waiting":[]}},"timeToMerge":{"n":29,"merged":25,"medianHours":100.5963888888889,"evidence":[7744,7736,7730,7727,7716,7696,7694,7691,7686,7676,7675,7668,7667,7632,7625,7620,7619,7614,7612,7608]},"issueFirstResponse":{"n":53,"answered":29,"waiting":24,"medianHours":261.89666666666665,"p75Hours":null,"within48h":0.37735849056603765,"within7d":0.49056603773584895,"curve":[{"hours":0.0425,"waiting":0.9811320754716981},{"hours":0.2311111111111111,"waiting":0.9622641509433962},{"hours":0.3630555555555556,"waiting":0.9433962264150944},{"hours":0.44222222222222224,"waiting":0.9245283018867925},{"hours":0.5638888888888889,"waiting":0.9056603773584906},{"hours":0.7358333333333333,"waiting":0.8867924528301887},{"hours":1.136111111111111,"waiting":0.8679245283018868},{"hours":1.4322222222222223,"waiting":0.8490566037735849},{"hours":1.9775,"waiting":0.8301886792452831},{"hours":2.3202777777777777,"waiting":0.8113207547169812},{"hours":3.1238888888888887,"waiting":0.7924528301886793},{"hours":3.1630555555555557,"waiting":0.7735849056603774},{"hours":4.874444444444444,"waiting":0.7547169811320755},{"hours":5.2011111111111115,"waiting":0.7358490566037736},{"hours":6.3125,"waiting":0.7169811320754718},{"hours":7.353888888888889,"waiting":0.6981132075471699},{"hours":14.560555555555556,"waiting":0.679245283018868},{"hours":16.041666666666668,"waiting":0.6603773584905661},{"hours":25.552777777777777,"waiting":0.6415094339622642},{"hours":32.823055555555555,"waiting":0.6226415094339623},{"hours":49.124722222222225,"waiting":0.6037735849056605},{"hours":63.653055555555554,"waiting":0.5849056603773586},{"hours":78.45666666666666,"waiting":0.5660377358490567},{"hours":88.41583333333334,"waiting":0.5471698113207548},{"hours":112.71777777777778,"waiting":0.5283018867924529},{"hours":149.92,"waiting":0.509433962264151},{"hours":261.89666666666665,"waiting":0.49056603773584917},{"hours":380.87944444444446,"waiting":0.4716981132075473},{"hours":531.99,"waiting":0.4528301886792454}],"evidence":{"answered":[7756,7750,7747,7746,7738,7737,7728,7720,7717,7715,7709,7707,7700,7698,7689,7687,7684,7683,7680,7679],"waiting":[7752,7745,7725,7724,7723,7722,7719,7718,7706,7705,7704,7695,7693,7692,7690,7682,7669,7658,7654,7623]}},"starter":{"counts":{"available":0,"claimed":7,"in-progress":13,"stale":17},"helpWantedAvailable":0,"issues":[{"n":7373,"title":"Counters not initialized upon connection","state":"in-progress","label":"beginner","createdAt":"2026-01-19T06:48:06Z","updatedAt":"2026-02-05T14:03:34Z"},{"n":7372,"title":"Use the username (if available) on the Community page","state":"in-progress","label":"beginner","createdAt":"2026-01-18T10:41:14Z","updatedAt":"2026-02-19T12:26:07Z"},{"n":6846,"title":"Apply the Price card glow up to other parts of the price XP","state":"in-progress","label":"beginner","createdAt":"2025-08-19T06:58:39Z","updatedAt":"2026-07-06T11:56:56Z"},{"n":6842,"title":"It would be nice to use roughly the same revamped price layout to revamp Top Location, Top Products","state":"stale","label":"beginner","createdAt":"2025-08-18T13:51:43Z","updatedAt":"2026-02-11T18:33:28Z"},{"n":6645,"title":"UI/UX improvements for the \"add a price for a product without barcode\" page","state":"in-progress","label":"beginner","createdAt":"2025-06-12T16:30:37Z","updatedAt":"2026-05-12T16:50:28Z"},{"n":6588,"title":"More verbose proof display","state":"claimed","label":"beginner","createdAt":"2025-05-09T08:36:25Z","updatedAt":"2025-07-13T13:23:34Z"},{"n":6474,"title":"Personal (compatibility) score in user lists","state":"claimed","label":"beginner","createdAt":"2025-03-24T18:58:59Z","updatedAt":"2025-03-30T10:39:35Z"},{"n":6473,"title":"Ingredient status is greyed out in the first step of the Road to Scores, even if it's actually complete","state":"claimed","label":"beginner","createdAt":"2025-03-24T15:26:54Z","updatedAt":"2025-07-13T12:56:27Z"},{"n":6457,"title":"Create a Compatibility Score explainer","state":"claimed","label":"beginner","createdAt":"2025-03-17T17:55:54Z","updatedAt":"2025-05-17T18:47:34Z"},{"n":6456,"title":"Revamp the \"user not connected\" popup","state":"claimed","label":"beginner","createdAt":"2025-03-17T17:43:06Z","updatedAt":"2025-11-16T10:53:54Z"},{"n":6419,"title":"Add a shortcut to edit the photo in the nutrition editing","state":"in-progress","label":"beginner","createdAt":"2025-03-06T15:29:46Z","updatedAt":"2025-03-10T11:51:42Z"},{"n":6414,"title":"New Nutri-Score native page link capture broken","state":"claimed","label":"beginner","createdAt":"2025-03-04T14:30:58Z","updatedAt":"2026-03-09T19:49:14Z"},{"n":6352,"title":"Instrument Actual interaction with food preferences (we can anonymize the values, or even the attributes, but my question is: do people tweak the scoring, if so","state":"stale","label":"beginner","createdAt":"2025-02-05T17:55:28Z","updatedAt":"2025-06-12T13:58:46Z"},{"n":6351,"title":"Add Matomo event for User clicking on account deletion - we can try to see if we can guess what caused it (eg: missing Scores, attempt to do something that fail","state":"claimed","label":"beginner","createdAt":"2025-02-05T17:55:19Z","updatedAt":"2025-03-10T12:17:15Z"},{"n":6274,"title":"Add quick stats on the % of NOVA 4 products in a list","state":"stale","label":"beginner","createdAt":"2025-01-24T15:27:09Z","updatedAt":"2025-04-13T21:24:53Z"},{"n":6257,"title":"Add an explainer for packaging components in Editing mode","state":"in-progress","label":"beginner","createdAt":"2025-01-20T17:26:44Z","updatedAt":"2026-08-30T18:35:43Z"},{"n":6255,"title":"Override help texts based on product_type","state":"stale","label":"beginner","createdAt":"2025-01-20T17:15:19Z","updatedAt":"2025-03-11T16:27:10Z"},{"n":6160,"title":"Auto-completion is often very slow","state":"in-progress","label":"beginner","createdAt":"2025-01-08T14:58:21Z","updatedAt":"2026-03-07T05:31:07Z"},{"n":6119,"title":"Add a small shortcut button in the ingredients nutrition and packaging gallery screens to jump into full edit mode","state":"in-progress","label":"beginner","createdAt":"2025-01-04T07:46:12Z","updatedAt":"2025-03-29T04:55:42Z"},{"n":5904,"title":"Add receipt and price tag icons","state":"stale","label":"beginner","createdAt":"2024-11-23T13:28:40Z","updatedAt":"2025-12-14T08:00:36Z"},{"n":5535,"title":"Add missing content pages","state":"stale","label":"beginner","createdAt":"2024-08-13T15:16:49Z","updatedAt":"2025-04-23T13:06:57Z"},{"n":5415,"title":"Spellchecker on Product Name field","state":"in-progress","label":"beginner","createdAt":"2024-06-20T05:14:22Z","updatedAt":"2025-07-25T16:38:25Z"},{"n":5339,"title":"Propose changing the default contribution language when switching countries ","state":"in-progress","label":"beginner","createdAt":"2024-06-06T07:31:41Z","updatedAt":"2025-03-24T09:44:30Z"},{"n":4662,"title":"\"Let's take some images\" should take images","state":"stale","label":"beginner","createdAt":"2023-09-28T20:17:25Z","updatedAt":"2025-04-14T06:39:28Z"},{"n":4446,"title":"Nutrition facts: check values before sending them","state":"in-progress","label":"beginner","createdAt":"2023-08-04T15:22:08Z","updatedAt":"2026-08-07T06:28:52Z"},{"n":4175,"title":"Add deep-link capture for product addition (https://world.openfoodfacts.org/cgi/product.pl?type=search_or_add&action=display)","state":"stale","label":"beginner","createdAt":"2023-06-15T17:46:13Z","updatedAt":"2025-03-13T09:44:03Z"},{"n":4174,"title":"Add deep-link capture for Products I Photographed (https://world.openfoodfacts.org/photographer/teolemon)","state":"stale","label":"beginner","createdAt":"2023-06-15T17:46:02Z","updatedAt":"2024-10-14T12:21:53Z"},{"n":4173,"title":"Add deep-link capture for Products I Added (https://world.openfoodfacts.org/contributor/teolemon)","state":"stale","label":"beginner","createdAt":"2023-06-15T17:45:58Z","updatedAt":"2025-04-12T17:55:17Z"},{"n":4172,"title":"Add deep-link capture for Sign-in (https://world.openfoodfacts.org/cgi/session.pl)","state":"stale","label":"beginner","createdAt":"2023-06-15T17:45:53Z","updatedAt":"2024-10-14T12:21:52Z"},{"n":4171,"title":"Add deep-link capture for Products I modified (https://world.openfoodfacts.org/editor/teolemon)","state":"stale","label":"beginner","createdAt":"2023-06-15T17:45:48Z","updatedAt":"2024-10-14T12:21:52Z"},{"n":4170,"title":"Add deep-link capture for Password reset (https://world.openfoodfacts.org/cgi/reset_password.pl)","state":"stale","label":"beginner","createdAt":"2023-06-15T17:45:40Z","updatedAt":"2025-05-05T19:08:48Z"},{"n":2738,"title":"Reintroduce the \"Grab product URL from QRCode or Google Search\" option","state":"in-progress","label":"beginner","createdAt":"2022-08-06T12:46:03Z","updatedAt":"2026-01-02T13:11:03Z"},{"n":2512,"title":"Explain what the region setting does","state":"stale","label":"beginner","createdAt":"2022-07-06T10:05:37Z","updatedAt":"2024-11-01T15:09:57Z"},{"n":2480,"title":"Add on-device search results integration","state":"stale","label":"beginner","createdAt":"2022-07-02T18:04:04Z","updatedAt":"2024-10-14T12:23:51Z"},{"n":1379,"title":"Product addition (tracker)","state":"stale","label":"beginner","createdAt":"2022-03-29T09:08:53Z","updatedAt":"2025-04-14T13:00:53Z"},{"n":921,"title":"Introduce Quick Actions from icon","state":"stale","label":"beginner","createdAt":"2022-01-11T20:53:03Z","updatedAt":"2025-11-13T12:46:18Z"},{"n":697,"title":"Folksonomy Engine in the mobile app (Tracker issue)","state":"stale","label":"help-wanted","createdAt":"2021-11-27T13:37:37Z","updatedAt":"2025-10-31T18:14:58Z"},{"n":525,"title":"🎯 What can I work on ? (mobile app)","state":"in-progress","label":"beginner","createdAt":"2021-08-23T08:49:51Z","updatedAt":"2025-11-07T11:27:09Z"},{"n":64,"title":"🎁 How to handle donations in the mobile app (tracker)","state":"in-progress","label":"help-wanted","createdAt":"2021-01-04T17:47:11Z","updatedAt":"2026-06-23T08:09:07Z"},{"n":20,"title":"Implement a points system with gamification","state":"stale","label":"help-wanted","createdAt":"2020-10-04T09:55:26Z","updatedAt":"2025-02-28T11:51:18Z"}]},"responseWindow":{"hours":[0,0,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,1,0,6,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0,1,2,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,1,3,5,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,5,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,6,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],"people":4,"replies":83},"activeMaintainers":10},"series":[{"week":"2025-10-12","opened":5,"merged":4,"answered7d":5,"activity":16},{"week":"2025-10-19","opened":4,"merged":4,"answered7d":4,"activity":49},{"week":"2025-10-26","opened":9,"merged":9,"answered7d":9,"activity":59},{"week":"2025-11-02","opened":4,"merged":3,"answered7d":4,"activity":66},{"week":"2025-11-09","opened":2,"merged":2,"answered7d":1,"activity":183},{"week":"2025-11-16","opened":4,"merged":2,"answered7d":4,"activity":25},{"week":"2025-11-23","opened":1,"merged":0,"answered7d":0,"activity":6},{"week":"2025-11-30","opened":0,"merged":0,"answered7d":0,"activity":4},{"week":"2025-12-07","opened":0,"merged":0,"answered7d":0,"activity":9},{"week":"2025-12-14","opened":1,"merged":0,"answered7d":1,"activity":31},{"week":"2025-12-21","opened":1,"merged":1,"answered7d":1,"activity":18},{"week":"2025-12-28","opened":1,"merged":0,"answered7d":1,"activity":38},{"week":"2026-01-04","opened":1,"merged":0,"answered7d":1,"activity":43},{"week":"2026-01-11","opened":2,"merged":2,"answered7d":2,"activity":22},{"week":"2026-01-18","opened":6,"merged":1,"answered7d":4,"activity":34},{"week":"2026-01-25","opened":1,"merged":0,"answered7d":0,"activity":4},{"week":"2026-02-01","opened":1,"merged":0,"answered7d":0,"activity":16},{"week":"2026-02-08","opened":2,"merged":2,"answered7d":1,"activity":9},{"week":"2026-02-15","opened":6,"merged":4,"answered7d":4,"activity":13},{"week":"2026-02-22","opened":3,"merged":3,"answered7d":3,"activity":12},{"week":"2026-03-01","opened":2,"merged":1,"answered7d":2,"activity":7},{"week":"2026-03-08","opened":2,"merged":0,"answered7d":1,"activity":4},{"week":"2026-03-15","opened":3,"merged":1,"answered7d":1,"activity":5},{"week":"2026-03-22","opened":0,"merged":0,"answered7d":0,"activity":8},{"week":"2026-03-29","opened":0,"merged":0,"answered7d":0,"activity":0},{"week":"2026-04-05","opened":1,"merged":1,"answered7d":1,"activity":8},{"week":"2026-04-12","opened":1,"merged":0,"answered7d":1,"activity":16},{"week":"2026-04-19","opened":0,"merged":0,"answered7d":0,"activity":5},{"week":"2026-04-26","opened":1,"merged":1,"answered7d":1,"activity":9},{"week":"2026-05-03","opened":1,"merged":1,"answered7d":1,"activity":20},{"week":"2026-05-10","opened":2,"merged":1,"answered7d":1,"activity":8},{"week":"2026-05-17","opened":2,"merged":2,"answered7d":0,"activity":6},{"week":"2026-05-24","opened":0,"merged":0,"answered7d":0,"activity":12},{"week":"2026-05-31","opened":9,"merged":9,"answered7d":9,"activity":37},{"week":"2026-06-07","opened":2,"merged":2,"answered7d":2,"activity":21},{"week":"2026-06-14","opened":5,"merged":5,"answered7d":5,"activity":14},{"week":"2026-06-21","opened":1,"merged":1,"answered7d":1,"activity":21},{"week":"2026-06-28","opened":3,"merged":3,"answered7d":3,"activity":14},{"week":"2026-07-05","opened":2,"merged":2,"answered7d":2,"activity":19},{"week":"2026-07-12","opened":1,"merged":1,"answered7d":1,"activity":9},{"week":"2026-07-19","opened":0,"merged":0,"answered7d":0,"activity":11},{"week":"2026-07-26","opened":1,"merged":0,"answered7d":1,"activity":9},{"week":"2026-08-02","opened":7,"merged":7,"answered7d":6,"activity":27},{"week":"2026-08-09","opened":1,"merged":1,"answered7d":0,"activity":6},{"week":"2026-08-16","opened":0,"merged":0,"answered7d":0,"activity":3},{"week":"2026-08-23","opened":3,"merged":3,"answered7d":3,"activity":8},{"week":"2026-08-30","opened":4,"merged":2,"answered7d":4,"activity":27},{"week":"2026-09-06","opened":1,"merged":0,"answered7d":1,"activity":4},{"week":"2026-09-13","opened":8,"merged":7,"answered7d":8,"activity":39},{"week":"2026-09-20","opened":5,"merged":1,"answered7d":3,"activity":9},{"week":"2026-09-27","opened":3,"merged":3,"answered7d":3,"activity":9},{"week":"2026-10-04","opened":2,"merged":0,"answered7d":1,"activity":6}],"trend":{"flag":"got-faster","recentMedianHours":6.278333333333333,"previousMedianHours":31.57138888888889,"recentN":18,"previousN":8,"openedThisWeek":2,"openedLastWeek":3},"programs":[{"program":"gsoc","slug":"open-food-facts","name":"Open Food Facts","years":[2025,2026]}]}