{"product_id":"san-rafael-upcycle-denim-1","title":"San Rafael - Upcycle Denim Advanced Techniques - 26 Sep 2026","description":"\u003cp class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body\" dir=\"ltr\" style=\"color: #000000; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #ffffff;\"\u003eReady to take your denim skills further? In this follow-up to our Denim class, we'll move beyond the basics into advanced upcycling techniques — reverse appliqué, structural patchwork, decorative fraying and distressing, and creative hardware embellishment (rivets, studs, and topstitching details). You'll leave with a finished, one-of-a-kind piece transformed from thrifted or worn denim, plus the skills to keep upstyling on your own. Prior denim experience (Part 1 or equivalent) recommended but not required.\u003c\/p\u003e\n\u003cp class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body\" dir=\"ltr\" style=\"color: #000000; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #ffffff;\"\u003e\u003cstrong\u003eSupply List\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717print:space-y-1 x_1081186017ydp45bec824yiv9672960878ydp1753d717mb-3 x_1081186017ydp45bec824yiv9672960878ydp1753d717gap-1 x_1081186017ydp45bec824yiv9672960878ydp1753d717list-disc x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-8 x_1081186017ydp45bec824yiv9672960878ydp1753d717print:block x_1081186017ydp45bec824yiv9672960878ydp1753d717flex x_1081186017ydp45bec824yiv9672960878ydp1753d717flex-col\" dir=\"ltr\" style=\"color: #000000; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; background-color: #ffffff;\"\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003e1 pair of old jeans or denim garments (varying washes encouraged)\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eSewing machine\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eDenim\/heavy-duty machine needles (size 90\/14 or 100\/16)\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eHeavy-duty or topstitching thread\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eAll-purpose thread to match denim\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eFabric scissors + small embroidery scissors\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eRotary cutter and self-healing cutting mat\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eClear acrylic ruler\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eFabric clips or pins\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eSeam ripper\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eTailor's chalk or fabric marking pen)\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003eOptional: rivet\/stud hardware kit\u003c\/li\u003e\n\u003cli class=\"x_1081186017ydp45bec824yiv9672960878ydp1753d717break-words x_1081186017ydp45bec824yiv9672960878ydp1753d717whitespace-normal x_1081186017ydp45bec824yiv9672960878ydp1753d717font-claude-response-body x_1081186017ydp45bec824yiv9672960878ydp1753d717pl-2\"\u003e\n\u003ch3 style=\"color: #4b5563; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\"\u003eInstructor\u003c\/h3\u003e\n\u003cp style=\"color: #4b5563; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-size: 14px;\"\u003eFrumiesha Brown is a fashion designer, sustainability advocate, and founder of Design. Decrease. Distribute, a winner of the Macy's UpStyle contest and recognized as one of LA's Most Inspiring Artists (Voyage LA 2026).\u003c\/p\u003e\n\u003cp style=\"color: #4b5563; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-size: 14px;\"\u003e\u003cstrong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; opacity: 1; background-color: #ffffff; color: #5e5e5e; font-family: 'Open Sans', sans-serif; font-size: 18px; box-sizing: border-box !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; font-weight: bold !important; background-attachment: scroll !important; background-image: none !important; background-position: 0px 0px !important; background-repeat: repeat !important; inset: auto !important; clear: none !important; clip: auto !important; counter-increment: none !important; counter-reset: none !important; direction: inherit !important; display: inline !important; float: none !important; font-variant-numeric: normal !important; font-variant-east-asian: normal !important; font-variant-alternates: normal !important; font-variant-position: normal !important; font-variant-emoji: normal !important; line-height: inherit !important; list-style-type: inherit !important; list-style-position: outside !important; list-style-image: none !important; margin: 0px !important; max-height: none !important; max-width: none !important; min-height: 0px !important; min-width: 0px !important; padding: 0px !important; position: static !important; quotes: '\\' \\'' !important; table-layout: auto !important; text-decoration-line: inherit !important; unicode-bidi: normal !important; vertical-align: baseline !important; visibility: inherit !important; width: auto !important; z-index: auto !important; background-origin: padding-box !important; background-clip: border-box !important; background-size: auto !important; -webkit-border-image: none !important; border-radius: 0px !important; box-shadow: none !important; column-count: auto !important; column-gap: normal !important; column-rule: black !important; column-width: auto !important; font-feature-settings: normal !important; overflow: visible !important; hyphens: manual !important; perspective: none !important; perspective-origin: 50% 50% !important; backface-visibility: visible !important; text-shadow: none !important; transition: all !important; transform: none !important; transform-origin: 50% 50% !important; transform-style: flat !important; -webkit-text-fill-color: currentcolor !important; word-break: normal !important;\"\u003eInstructor fee\u003c\/strong\u003e\u003cspan style=\"color: #5e5e5e; font-family: 'Open Sans', sans-serif; font-size: 18px; background-color: #ffffff;\"\u003e is $60 to be paid directly to the instructor via Venmo: @Frumiesha-Brown (last 4 digits of phone number are 2343)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"color: #4b5563; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-size: 14px;\"\u003e\u003cspan style=\"color: #5e5e5e; font-family: 'Open Sans', sans-serif; font-size: 18px; background-color: #ffffff;\"\u003ePlus a \u003c\/span\u003e\u003cstrong style=\"--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 \/ 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; opacity: 1; background-color: #ffffff; color: #5e5e5e; font-family: 'Open Sans', sans-serif; font-size: 18px; box-sizing: border-box !important; border-width: medium !important; border-style: none !important; border-color: currentcolor !important; border-image: none !important; font-weight: bold !important; background-attachment: scroll !important; background-image: none !important; background-position: 0px 0px !important; background-repeat: repeat !important; inset: auto !important; clear: none !important; clip: auto !important; counter-increment: none !important; counter-reset: none !important; direction: inherit !important; display: inline !important; float: none !important; font-variant-numeric: normal !important; font-variant-east-asian: normal !important; font-variant-alternates: normal !important; font-variant-position: normal !important; font-variant-emoji: normal !important; line-height: inherit !important; list-style-type: inherit !important; list-style-position: outside !important; list-style-image: none !important; margin: 0px !important; max-height: none !important; max-width: none !important; min-height: 0px !important; min-width: 0px !important; padding: 0px !important; position: static !important; quotes: '\\' \\'' !important; table-layout: auto !important; text-decoration-line: inherit !important; unicode-bidi: normal !important; vertical-align: baseline !important; visibility: inherit !important; width: auto !important; z-index: auto !important; background-origin: padding-box !important; background-clip: border-box !important; background-size: auto !important; -webkit-border-image: none !important; border-radius: 0px !important; box-shadow: none !important; column-count: auto !important; column-gap: normal !important; column-rule: black !important; column-width: auto !important; font-feature-settings: normal !important; overflow: visible !important; hyphens: manual !important; perspective: none !important; perspective-origin: 50% 50% !important; backface-visibility: visible !important; text-shadow: none !important; transition: all !important; transform: none !important; transform-origin: 50% 50% !important; transform-style: flat !important; -webkit-text-fill-color: currentcolor !important; word-break: normal !important;\"\u003e$10 non-refundable deposit\u003c\/strong\u003e\u003cspan style=\"color: #5e5e5e; font-family: 'Open Sans', sans-serif; font-size: 18px; background-color: #ffffff;\"\u003e when you click RSVP on this site to reserve your spot\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"event-calendar-app","offers":[{"title":"General Admission","offer_id":49249439973684,"sku":null,"price":10.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1577\/9165\/files\/unnamed_70efd9d1-392c-4c1e-93d3-ce4297a9d7b0.jpg?v=1786999602","url":"https:\/\/villagesewing.com\/products\/san-rafael-upcycle-denim-1","provider":"Village Sewing","version":"1.0","type":"link"}