[{"data":1,"prerenderedAt":309},["ShallowReactive",2],{"projects":3},[4,47,66,86,104,122,151,170,207,233,251,270,290],{"id":5,"title":6,"body":7,"company":31,"description":32,"extension":33,"github":34,"image":35,"imageAlt":36,"isBeta":37,"liveUrl":38,"meta":39,"navigation":40,"npm":34,"path":41,"position":42,"readMoreUrl":34,"seo":43,"stem":44,"tag":45,"__hash__":46},"projects\u002Fprojects\u002Fnetflix-ads-suite.md","Netflix Ads Suite",{"type":8,"value":9,"toc":27},"minimark",[10],[11,12,13,14,18,19,22,23,26],"p",{},"Building the UI for Netflix's ad platform creative tools, enabling internal ad account managers to build, develop, and manage ad creatives. Built with ",[15,16,17],"strong",{},"React",", ",[15,20,21],{},"TypeScript",", and ",[15,24,25],{},"GraphQL",".",{"title":28,"searchDepth":29,"depth":29,"links":30},"",2,[],"Netflix","Building the UI for Netflix's ad platform creative tools, enabling internal ad account managers to build, develop, and manage ad creatives. Built with React, TypeScript, and GraphQL.","md",null,"netflix-ads.png","Netflix Ads Suite logo on dark background",false,"https:\u002F\u002Fadvertising.netflix.com\u002Fen-us",{},true,"\u002Fprojects\u002Fnetflix-ads-suite",0,{"title":6,"description":32},"projects\u002Fnetflix-ads-suite","professional","kJ1Rq49TpcdossO9-hctIyisUQobeOINIT9HNAaRAtw",{"id":48,"title":49,"body":50,"company":34,"description":54,"extension":33,"github":57,"image":58,"imageAlt":59,"isBeta":37,"liveUrl":34,"meta":60,"navigation":40,"npm":34,"path":61,"position":42,"readMoreUrl":34,"seo":62,"stem":63,"tag":64,"__hash__":65},"projects\u002Fprojects\u002Frescue-group.md","RescueGroup Mobile App",{"type":8,"value":51,"toc":55},[52],[11,53,54],{},"I’m working on a React Native-based iOS app aimed at making it easier to rescue animals in need of a home, and make it easier for rescue organizations to find homes for their furry friends.",{"title":28,"searchDepth":29,"depth":29,"links":56},[],"https:\u002F\u002Fgithub.com\u002Fdvalinotti\u002FRescueGroupApp","RescueGroup.png","RescueGroup mobile app icon",{},"\u002Fprojects\u002Frescue-group",{"title":49,"description":54},"projects\u002Frescue-group","personal","2O8GU7erc1kNiLIAswGX3ofNrH38eBvEUSAImVByVMU",{"id":67,"title":68,"body":69,"company":76,"description":73,"extension":33,"github":34,"image":77,"imageAlt":78,"isBeta":40,"liveUrl":34,"meta":79,"navigation":40,"npm":34,"path":80,"position":81,"readMoreUrl":82,"seo":83,"stem":84,"tag":45,"__hash__":85},"projects\u002Fprojects\u002Fads-creative-studio.md","Ads Creative Studio",{"type":8,"value":70,"toc":74},[71],[11,72,73],{},"A unified home for Google’s creative advertising tools, to help you build compelling experiences for video, display and audio ads. Ads Creative Studio will allow creative teams to build and innovate together while increasing productivity and simplifying the overall process to bring a great ad to life.",{"title":28,"searchDepth":29,"depth":29,"links":75},[],"Google","acs.jpg","Ads Creative studio illustration",{},"\u002Fprojects\u002Fads-creative-studio",1,"https:\u002F\u002Fblog.google\u002Fproducts\u002Fads-commerce\u002Fads-creative-studio-launch-cannes\u002F",{"title":68,"description":73},"projects\u002Fads-creative-studio","k7EylzfSEfgWaPb4cDRBZQGw4oYf2DeMhdV6BIhnXVc",{"id":87,"title":88,"body":89,"company":76,"description":93,"extension":33,"github":34,"image":96,"imageAlt":97,"isBeta":37,"liveUrl":34,"meta":98,"navigation":40,"npm":34,"path":99,"position":81,"readMoreUrl":100,"seo":101,"stem":102,"tag":45,"__hash__":103},"projects\u002Fprojects\u002Fdv3.md","Google Ads Display & Video 360",{"type":8,"value":90,"toc":94},[91],[11,92,93],{},"Display & Video 360 is the evolution and consolidation of DoubleClick Bid Manager, Campaign Manager, Studio, and Audience Center. It offers a single tool for planning campaigns, designing and managing creative, organizing and applying audience data, finding and buying inventory, and measuring and optimizing campaigns.",{"title":28,"searchDepth":29,"depth":29,"links":95},[],"dv3.png","Google Ads Display & Video 360 logo on dark gray background",{},"\u002Fprojects\u002Fdv3","https:\u002F\u002Fmarketingplatform.google.com\u002Fabout\u002Fdisplay-video-360\u002F",{"title":88,"description":93},"projects\u002Fdv3","LwY470V9lnvwLhX_kumyBNRipEB1qT92_UsTrYwNVPU",{"id":105,"title":106,"body":107,"company":34,"description":111,"extension":33,"github":114,"image":115,"imageAlt":116,"isBeta":37,"liveUrl":34,"meta":117,"navigation":40,"npm":34,"path":118,"position":81,"readMoreUrl":34,"seo":119,"stem":120,"tag":64,"__hash__":121},"projects\u002Fprojects\u002Fexpress-babel-starter.md","Express.js Babel Starter Project",{"type":8,"value":108,"toc":112},[109],[11,110,111],{},"A GitHub repo template that makes it easy to start building a Node.js backend application. Includes support for modern ES6 syntax, input validation, GitHub Action templates, Google App Engine deployment, and more. Comes with a Model-View-Controller directory structure for better project organization.",{"title":28,"searchDepth":29,"depth":29,"links":113},[],"https:\u002F\u002Fgithub.com\u002Fdvalinotti\u002Fexpress-babel-starter","express-babel-node.png","Express, Babel, NodeJS and JavaScript logos",{},"\u002Fprojects\u002Fexpress-babel-starter",{"title":106,"description":111},"projects\u002Fexpress-babel-starter","CbiH2YtrBIN0mIYzEVjXCkV21l6ASr3XgtsveRAQVv0",{"id":123,"title":124,"body":125,"company":76,"description":143,"extension":33,"github":34,"image":77,"imageAlt":144,"isBeta":37,"liveUrl":34,"meta":145,"navigation":40,"npm":34,"path":146,"position":29,"readMoreUrl":147,"seo":148,"stem":149,"tag":45,"__hash__":150},"projects\u002Fprojects\u002Fcampaign-manager.md","Google Ads Campaign Manager",{"type":8,"value":126,"toc":141},[127],[11,128,129,130,132,133,136,137,140],{},"Built new surfaces for recommendations in ",[15,131,124],{}," that help advertisers increase campaign performance through actionable asset insights. Developed with ",[15,134,135],{},"Angular TypeScript"," on the frontend and ",[15,138,139],{},"Java"," on the backend.",{"title":28,"searchDepth":29,"depth":29,"links":142},[],"Built new surfaces for recommendations in Google Ads Campaign Manager that help advertisers increase campaign performance through actionable asset insights. Developed with Angular TypeScript on the frontend and Java on the backend.","Google Ads Creative Studio illustration",{},"\u002Fprojects\u002Fcampaign-manager","https:\u002F\u002Fads.google.com\u002Fintl\u002Fen_us\u002Fhome\u002Fcampaigns\u002F",{"title":124,"description":143},"projects\u002Fcampaign-manager","7ITnGbMF8hJ2qykE7zAD8vTmmNzBo-lYYKt2iQlMrUE",{"id":152,"title":153,"body":154,"company":34,"description":158,"extension":33,"github":161,"image":162,"imageAlt":163,"isBeta":37,"liveUrl":34,"meta":164,"navigation":40,"npm":34,"path":165,"position":166,"readMoreUrl":34,"seo":167,"stem":168,"tag":64,"__hash__":169},"projects\u002Fprojects\u002Fhue-morse-messenger.md","Hue Morse Messenger",{"type":8,"value":155,"toc":159},[156],[11,157,158],{},"My first React Native + Expo app, which utilized Philips' Hue Smart Lightbulb API, enabling users to send Morse Code messages to rooms in their house by flashing the lights. This also involved building a desktop app with React\u002FElectron that starts an Express app to connect to Philips' Hue API. Not practical, but very fun!",{"title":28,"searchDepth":29,"depth":29,"links":160},[],"https:\u002F\u002Fgithub.com\u002Fdvalinotti\u002FHue-Morse-Messenger","ExpoLogo.png","Expo logo on black background",{},"\u002Fprojects\u002Fhue-morse-messenger",3,{"title":153,"description":158},"projects\u002Fhue-morse-messenger","AgHht1dNAw5LLLqb_SD4fGpRj5PjizvGYNkMre-BKpU",{"id":171,"title":172,"body":173,"company":197,"description":198,"extension":33,"github":34,"image":199,"imageAlt":200,"isBeta":37,"liveUrl":201,"meta":202,"navigation":40,"npm":34,"path":203,"position":166,"readMoreUrl":34,"seo":204,"stem":205,"tag":45,"__hash__":206},"projects\u002Fprojects\u002Fhum-by-colgate.md","hum by Colgate",{"type":8,"value":174,"toc":195},[175],[11,176,177,178,182,183,186,187,190,191,194],{},"Launched a new \"sub-brand\" of Colgate called ",[179,180,181],"em",{},"hum"," with a headless DTC E-commerce website. Built with ",[15,184,185],{},"Nuxt.js"," on the frontend, using ",[15,188,189],{},"Shopify"," as a backend CMS for handling products, customers, orders and checkouts. We also used ",[15,192,193],{},"Three.js and GSAP"," to create cool, fluid animations throughout the site.",{"title":28,"searchDepth":29,"depth":29,"links":196},[],"Colgate-Palmolive","Launched a new \"sub-brand\" of Colgate called hum with a headless DTC E-commerce website. Built with Nuxt.js on the frontend, using Shopify as a backend CMS for handling products, customers, orders and checkouts. We also used Three.js and GSAP to create cool, fluid animations throughout the site.","hum.png","hum by Colgate logo on a red background","https:\u002F\u002Fhum.colgate.com",{},"\u002Fprojects\u002Fhum-by-colgate",{"title":172,"description":198},"projects\u002Fhum-by-colgate","Fz-bfr2j44TmuOV8ud0eoWqoUJQ35DwjGc0dI0O6AEo",{"id":208,"title":209,"body":210,"company":197,"description":223,"extension":33,"github":34,"image":224,"imageAlt":225,"isBeta":37,"liveUrl":226,"meta":227,"navigation":40,"npm":34,"path":228,"position":229,"readMoreUrl":34,"seo":230,"stem":231,"tag":45,"__hash__":232},"projects\u002Fprojects\u002Fco-by-colgate.md","CO. by Colgate",{"type":8,"value":211,"toc":221},[212],[11,213,214,215,217,218,220],{},"Colgate's second \"sub-brand\" launch of CO. by Colgate, with a Gen-Z focused oral care brand on a headless DTC E-commerce site. Built with ",[15,216,185],{}," on the frontend, and ",[15,219,189],{}," as a backend CMS for products, orders, customers etc. A very unique design that also keeps accessibility in mind.",{"title":28,"searchDepth":29,"depth":29,"links":222},[],"Colgate's second \"sub-brand\" launch of CO. by Colgate, with a Gen-Z focused oral care brand on a headless DTC E-commerce site. Built with Nuxt.js on the frontend, and Shopify as a backend CMS for products, orders, customers etc. A very unique design that also keeps accessibility in mind.","co.png","CO. by Colgate logo on beige background","https:\u002F\u002Fco.colgate.com",{},"\u002Fprojects\u002Fco-by-colgate",4,{"title":209,"description":223},"projects\u002Fco-by-colgate","kPxFBd19EeBO6qz1LOO3hkRhCPyDjBhWIKdTY5tgBYo",{"id":234,"title":235,"body":236,"company":34,"description":240,"extension":33,"github":243,"image":244,"imageAlt":245,"isBeta":37,"liveUrl":34,"meta":246,"navigation":40,"npm":34,"path":247,"position":229,"readMoreUrl":34,"seo":248,"stem":249,"tag":64,"__hash__":250},"projects\u002Fprojects\u002Frust-sandbox.md","Rust Sandbox",{"type":8,"value":237,"toc":241},[238],[11,239,240],{},"Web app that allows users to write and execute Rust code in their browser. Built with React + Next.js with TypeScript.",{"title":28,"searchDepth":29,"depth":29,"links":242},[],"https:\u002F\u002Fgithub.com\u002Fdvalinotti\u002Frust-sandbox","rust-sandbox.png","Rust logo on purple background",{},"\u002Fprojects\u002Frust-sandbox",{"title":235,"description":240},"projects\u002Frust-sandbox","YyDVm2GcmNii2xLjSSx56EYr69UpvKGRWFIB0x3lunQ",{"id":252,"title":253,"body":254,"company":34,"description":258,"extension":33,"github":261,"image":262,"imageAlt":263,"isBeta":37,"liveUrl":34,"meta":264,"navigation":40,"npm":265,"path":266,"position":229,"readMoreUrl":34,"seo":267,"stem":268,"tag":64,"__hash__":269},"projects\u002Fprojects\u002Fvue-vimeo.md","Vue Vimeo Player",{"type":8,"value":255,"toc":259},[256],[11,257,258],{},"Vue.js component for embedding Vimeo videos, with several options and event hooks for custom behavior.",{"title":28,"searchDepth":29,"depth":29,"links":260},[],"https:\u002F\u002Fgithub.com\u002Fdan-valinotti\u002Fvue-vimeo-player#readme","Vimeo-512.png","Blue image of Vimeo logo",{},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@dvalinotti\u002Fvue-vimeo-player","\u002Fprojects\u002Fvue-vimeo",{"title":253,"description":258},"projects\u002Fvue-vimeo","Y7PAf49HfN8EDtYkk5flcJeADvWTNa7LpfvCZjca7Pw",{"id":271,"title":272,"body":273,"company":34,"description":277,"extension":33,"github":280,"image":281,"imageAlt":282,"isBeta":37,"liveUrl":34,"meta":283,"navigation":40,"npm":284,"path":285,"position":286,"readMoreUrl":34,"seo":287,"stem":288,"tag":64,"__hash__":289},"projects\u002Fprojects\u002Fcgen-cli.md","React Component Generator CLI",{"type":8,"value":274,"toc":278},[275],[11,276,277],{},"CLI tool built with OCLIF that allows developers to quickly generate files for React components. Supports JavaScript or Typescript, and mulitple component styling options.",{"title":28,"searchDepth":29,"depth":29,"links":279},[],"https:\u002F\u002Fgithub.com\u002Fdvalinotti\u002Fcgen-cli","cgen-cli.png","React logo on a terminal icon.",{},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@dvalinotti\u002Fcgen-cli","\u002Fprojects\u002Fcgen-cli",5,{"title":272,"description":277},"projects\u002Fcgen-cli","lM96ysVQyrGUda_8kJrUyjsx-O9e5LbaLlihSYeMJv4",{"id":291,"title":292,"body":293,"company":300,"description":297,"extension":33,"github":34,"image":301,"imageAlt":302,"isBeta":37,"liveUrl":303,"meta":304,"navigation":40,"npm":34,"path":305,"position":286,"readMoreUrl":34,"seo":306,"stem":307,"tag":45,"__hash__":308},"projects\u002Fprojects\u002Ffarrell-partnership.md","Farrell Partnership Website",{"type":8,"value":294,"toc":298},[295],[11,296,297],{},"Designed, developed and deployed a new brand website for Farrell Partnership, LLC., an architecture firm based in New Jersey. I used Vue + Nuxt for server-side rendering, and Strapi.io for a CMS which greatly improved speed, user experience, and site reliability compared to the previous WordPress site.",{"title":28,"searchDepth":29,"depth":29,"links":299},[],"Freelance","FPLogo.png","Farrell Partnership company logo on orange background","https:\u002F\u002Ffarrellpartnership.com",{},"\u002Fprojects\u002Ffarrell-partnership",{"title":292,"description":297},"projects\u002Ffarrell-partnership","LzU8tjj5UZ1ihgqKB9ipqrNZQQyjG5yIp9onXPYtKu0",1776925020722]