Track: Theme Track, Rethinking Waste

Inspiration

Korea grades every obligated package by law: Best, Good, Fair or Difficult. A Difficult pack must print "재활용 어려움" (difficult to recycle) on its face and pays a 20% surcharge on producer recycling fees. In the first year, 32% of about 27,000 evaluated packs came out Difficult. The grade is decided by small design details (a PVC sleeve, a glue that does not release in the 80 °C caustic wash, a mineral-filled tray), but producers only learn it after the official evaluation, when moulds and print runs are already paid for. We wanted the check to happen while the package is still a drawing.

The waste problem and how we'd measure it

We target packaging that is designed so it cannot be recycled. Gradeproof moves the legal check to the design stage and tells the designer which one or two supply changes lift the grade. Success is measured with numbers the system already produces: for each producer, the share of SKUs and of packaging tonnes graded Difficult before and after using Gradeproof, confirmed against the official grades issued by the Korea Environment Corporation; nationally, the tonnage billed the Difficult surcharge (about 99,000 t, 12% of shipments, in the first billing round).

What it does

Gradeproof is a web tool for packaging designers and compliance teams.

  • One package: pick one of the nine packaging types in Korea's Packaging Recyclability Grading Standard (Notice No. 2025-165) and answer questions about each part: body, label, closure. The legal grade updates as you type. Every finding quotes the Korean clause it applies, with an English translation, so a designer can show a supplier exactly why.
  • Cheapest way up: a search over design edits (up to three at a time) returns the change sets that raise the grade, cheapest first. Every set is minimal: drop any edit and the grade falls back. For beverage bottles it computes the exact empty-bottle weight that brings the lightweighting index to 1.
  • Portfolio: upload a CSV with one row per SKU and get the grade mix, the tonnes of packaging in each grade, how many SKUs must print the Difficult mark, and the single design changes that lift the most SKUs out of Difficult.
  • Shareable and printable: the spec lives in the URL, and the print view is a one-page pre-check report.

How we built it

  • Read the notice itself (Annex 1, nine tables plus footnotes) from the Korean national law portal and encoded it as one rule function per packaging part. Every rule returns a finding that points at a citation table holding the section, the Korean original and our English translation, so no verdict exists without a source.
  • The combination logic follows the notice literally: one "difficult" cell makes the pack Difficult; all "easy" makes it Good, or Best where the notice defines a Best condition; everything else is Fair; inseparability caused by a legally required child-resistant closure is softened to Fair.
  • The optimizer enumerates candidate edits per field (for numeric fields it jumps straight to the legal threshold, such as 20% adhesive coverage or the weight that gives L = 1), searches combinations of up to three, keeps only minimal sets, and drops plans beaten by a higher grade at the same or lower effort.
  • Vanilla JavaScript ES modules, no build step and no dependencies, so the same engine runs in the browser and in Node tests. 24 node:test tests cover the notice's own worked examples, every footnote exception, and optimizer properties (every plan really reaches its grade; removing any edit loses it). We also broke two guards on purpose to confirm the tests catch it.

Challenges we ran into

  • The plain-text version of the notice on the law portal flattens the lightweighting formula to L = 0.403 × W × (V/0.9)-0.375, which reads as a subtraction and gives nonsense. In the official PDF the -0.375 is a superscript (we checked font size and position in the PDF), so the formula is $$L = 0.403 \times W \times (V/0.9)^{-0.375}$$
  • Best is not "all parts Best": the notice's Example 1 says a PET bottle whose cap is only Good can still be Best if body and label are Best. We encoded the per-type Best conditions instead of a generic minimum.
  • One clause (a non-adhesive PET label printed with hot-alkali ink) is listed without a tier. Instead of guessing, Gradeproof assumes the lower tier and shows an "ambiguous, confirm with the regulator" note.
  • An exhaustive search that stopped at the first improvement missed plans where a cheap edit reaches Fair and a second edit reaches Best. We search all combinations and filter for minimality instead.

Accomplishments that we're proud of

  • Every verdict is traceable to a clause of the law, in the original language.
  • The fix plans are realistic: the PVC-sleeve water bottle goes from Difficult to Best with two supply changes (PP/PE film and a tear line), no new mould.
  • It covers all nine packaging types in the standard, not just bottles.

What we learned

The grade of a package is decided by details most people never see: the density of a label film, how much of a bottle is glued, whether a cap leaves a ring on a glass neck. Writing the rules as code also showed how easy it is to misread a regulation (the lost superscript) and why each verdict should carry its source.

What's next for Gradeproof

  • Supplier spec sheets: read adhesive coverage, film density and layer structure from PDF spec sheets so designers do not have to type them.
  • A second rule pack for the EU Packaging and Packaging Waste Regulation, whose recyclability grades start applying from 2030.
  • A pilot with a small Korean food or beverage maker: grade their range, apply the top fixes, and compare our pre-check with the official grades they receive.

Pre-check only: the official grade is issued by the Korea Environment Corporation. The sample product range in the demo is a fictional company.

Share this project:

Updates

Submission history