[{"data":1,"prerenderedAt":533},["ShallowReactive",2],{"home-case-studies":3},[4,85,138,189,239,291,335,387,436,479],{"id":5,"title":6,"body":7,"category":47,"challenge":25,"client":6,"description":17,"extension":48,"gallery":49,"image":50,"link":70,"meta":71,"navigation":72,"path":73,"role":74,"seo":75,"solution":32,"status":76,"stem":77,"technologies":78,"technologiesText":39,"__hash__":84},"projects\u002Fprojects\u002Fberkshire-associates.md","Berkshire Associates",{"type":8,"value":9,"toc":40},"minimark",[10,14,18,23,26,30,33,37],[11,12,6],"h1",{"id":13},"berkshire-associates",[15,16,17],"p",{},"Led a massive UI overhaul of their affirmative action platform, migrating from legacy JSP .NET to a modern Vue 3 + TypeScript + Tailwind + Quasar stack. Extensive unit and E2E testing, with close collaboration between designers, developers, and PMs.",[19,20,22],"h2",{"id":21},"the-challenge","The Challenge",[15,24,25],{},"Berkshire Associates was running a critical affirmative action compliance platform on legacy JSP .NET that was becoming impossible to maintain. They needed to modernize the entire frontend while ensuring zero data loss and maintaining complex business logic. The platform handled sensitive employee data, so security and reliability were non-negotiable.",[19,27,29],{"id":28},"the-solution","The Solution",[15,31,32],{},"Architected a complete frontend rewrite using Vue 3 with TypeScript for type safety on sensitive data flows. Implemented comprehensive unit testing with Vitest and E2E testing with Cypress to ensure feature parity with the legacy system. Used Quasar framework for enterprise-grade UI components. Created a detailed migration plan with parallel running systems to validate data accuracy before full cutover. Worked in close collaboration with PMs and designers to improve UX while maintaining familiar workflows for existing users.",[19,34,36],{"id":35},"technologies","Technologies",[15,38,39],{},"Vue 3 with Composition API and TypeScript for full type safety. Quasar framework for enterprise UI components and layout system. Tailwind CSS for custom styling. Vitest for unit testing and Cypress for E2E testing. Pinia for state management. Integrated with existing .NET backend APIs.",{"title":41,"searchDepth":42,"depth":42,"links":43},"",2,[44,45,46],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},"Vue 3","md",[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69],"\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fportal_berkshireassociates_com_6101_1440x900_Screenshots_df37d246dc-d7kzjp.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_1_7a03e910d6-qa8du2.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_10_2fcf2f8857-krmf7b.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_11_4f5a8515df-g7q2kk.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_12_5d17914c4f-shojrm.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_13_f452c4c6fb-qvh5bv.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_14_3a83c2bf37-epwihe.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_15_95f58b2158-yzj53a.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_2_754466131c-k2j2zy.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_3_63bf8da584-xtp9wh.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_4_9823eb2059-2y2ps9.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_5_9efd4b96a9-97hwvj.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_6_208cc0a088-g5w243.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_7_59b7f7a625-5ekngs.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_8_88cbe7e7b9-cpn1x2.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_9_66dde85b48-h7rc5n.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_aap_data_viz_overview_1440x900_Screenshots_e5674e1e05-5pupel.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_subdomain_redirection_subdomain_Redirect_true_and_view_As_User_8831cafc_9a79_4908_8259_167db5f923d7_1440x900_Screenshots_1_606b43f068-3upg0r.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_subdomain_redirection_subdomain_Redirect_true_and_view_As_User_8831cafc_9a79_4908_8259_167db5f923d7_1440x900_Screenshots_d81ffadd13-oqc15d.png","\u002Fimg\u002Fprojects\u002Fberkshire-associates\u002Fmcken_portal_berkshireassociates_com_6101_view_as_1440x900_Screenshots_bdf542eb10-3pjmhr.png","https:\u002F\u002Fwww.berkshireassociates.com",{},true,"\u002Fprojects\u002Fberkshire-associates","Frontend Developer",{"title":6,"description":17},"LIVE","projects\u002Fberkshire-associates",[47,79,80,81,82,83],"TypeScript","Tailwind CSS","Quasar","Unit Testing","E2E Testing","GxGJwPfMbF2fcxgiSy8sEUv37GZBWyHgdCQxxK-nsvU",{"id":86,"title":87,"body":88,"category":116,"challenge":100,"client":87,"description":95,"extension":48,"gallery":117,"image":118,"link":124,"meta":125,"navigation":72,"path":126,"role":127,"seo":128,"solution":105,"status":76,"stem":129,"technologies":130,"technologiesText":110,"__hash__":137},"projects\u002Fprojects\u002Fbitrivals.md","BitRivals",{"type":8,"value":89,"toc":111},[90,93,96,98,101,103,106,108],[11,91,87],{"id":92},"bitrivals",[15,94,95],{},"Full-stack engineer and community manager working with complex, varied game APIs. Built sophisticated messaging system, bidding system, notifications, Discord integration, and Stripe payments. Implemented rate limiting for game stat syncing and so much more complex functionality.",[19,97,22],{"id":21},[15,99,100],{},"BitRivals needed a complete esports wagering platform that could integrate with multiple gaming APIs, handle real-time matches, process payments securely, and manage a growing Discord community. They required complex features like live bidding, automated stat verification, fraud prevention, and instant payouts, all while maintaining compliance with gambling regulations.",[19,102,29],{"id":28},[15,104,105],{},"Architected a full-stack platform using React for the main site and Nuxt for the marketing pages. Built a sophisticated bidding system with WebSocket connections for real-time updates during live matches. Integrated with Riot Games, Steam, and other gaming APIs to automatically verify match results and player stats. Implemented rate limiting and caching to avoid API quota issues. Created Discord bot integration for community management and match notifications. Built secure payment processing with Stripe including escrow functionality for wagered amounts. Added fraud detection by tracking betting patterns and user behavior.",[19,107,36],{"id":35},[15,109,110],{},"React and Vue.js\u002FNuxt for frontend with different rendering strategies. Node.js backend with Express for API routes. Socket.io for real-time bidding and match updates. Discord.js for bot integration. Stripe API for payment processing and Connect for payouts. Redis for caching game stats and rate limiting. Postgres database for user data and match history.",{"title":41,"searchDepth":42,"depth":42,"links":112},[113,114,115],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},"React",[118,119,120,121,122,123],"\u002Fimg\u002Fprojects\u002Fbitrivals\u002Fwww_bitrivals_gg_High_Quality_Screen_Shot_1440x900_1_d4df5ee2a7_ef0d8486ca-f73nns.png","\u002Fimg\u002Fprojects\u002Fbitrivals\u002Fapp_bitrivals_gg_dashboard_Valorant_High_Quality_Screen_Shot_1440x900_1_36fc93a14b_60ff9b820a-243fyl.png","\u002Fimg\u002Fprojects\u002Fbitrivals\u002Fapp_bitrivals_gg_login_High_Quality_Screen_Shot_1440x900_2_8c9f16402c_c94972e0be-5k9qq0.png","\u002Fimg\u002Fprojects\u002Fbitrivals\u002Fapp_bitrivals_gg_login_High_Quality_Screen_Shot_1440x900_3_c5ee6b424c_9af0bee1c2-2l1960.png","\u002Fimg\u002Fprojects\u002Fbitrivals\u002Fapp_bitrivals_gg_login_High_Quality_Screen_Shot_1440x900_4_1_9fb25fd2b5_0fbafd2850-rsw2xv.png","\u002Fimg\u002Fprojects\u002Fbitrivals\u002Fapp_bitrivals_gg_login_High_Quality_Screen_Shot_1440x900_5_1_1e7e1e892c_13e2a3e757-r4tjz3.png","https:\u002F\u002Fwww.bitrivals.com",{},"\u002Fprojects\u002Fbitrivals","Full-Stack Developer & Community Manager",{"title":87,"description":95},"projects\u002Fbitrivals",[116,131,132,133,134,135,136],"Vue.js","Nuxt","Node.js","Socket.io","Discord API","Stripe","cN7WjfXjaAN63YPsHJvjwgCuil3xz2QAPWGDCRxPWZg",{"id":139,"title":140,"body":141,"category":132,"challenge":153,"client":140,"description":148,"extension":48,"gallery":169,"image":170,"link":179,"meta":180,"navigation":72,"path":181,"role":182,"seo":183,"solution":158,"status":76,"stem":184,"technologies":185,"technologiesText":163,"__hash__":188},"projects\u002Fprojects\u002Fbuongiorno-bagels-cafe.md","Buongiorno Bagels",{"type":8,"value":142,"toc":164},[143,146,149,151,154,156,159,161],[11,144,140],{"id":145},"buongiorno-bagels",[15,147,148],{},"Full-stack engineer helping this local bagel shop gain online visibility and manage content through Strapi CMS. Owned by the same operator as Leones Pizzeria next door.",[19,150,22],{"id":21},[15,152,153],{},"Buongiorno Bagels needed an online presence to compete with nearby bagel shops that offered online ordering. The owner wanted to highlight daily fresh-baked specials and make it easy for customers to place morning orders for pickup. Content updates needed to be simple since the shop operates early morning hours.",[19,155,29],{"id":28},[15,157,158],{},"Created a companion site to Leones Pizzeria using the same Strapi backend for cost efficiency. Built a mobile-first interface since most customers order from their phones during morning commute. Implemented a simplified menu system focused on speed since customers want quick breakfast orders. Added timezone-aware ordering cutoffs so fresh items are guaranteed. Optimized for local search with proper business markup.",[19,160,36],{"id":35},[15,162,163],{},"Nuxt 3 with mobile-first responsive design. Shared Strapi CMS instance with Leones Pizzeria for content management. Custom ordering logic for time-based menu availability. Local SEO optimization with Google My Business integration.",{"title":41,"searchDepth":42,"depth":42,"links":165},[166,167,168],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},[170,171,172,173,174,175,176,177,178],"\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_e2f411ffe5-y0mwn8.png","\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_1_2f95c0a51e-scfeuu.png","\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_2_fe3af7bdc4-5ukarx.png","\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_3_23a047dbf4-urw7n5.png","\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_4_392e56d456-pyt8i0.png","\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_5_f97962596d-y4book.png","\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_6_c9097263ae-mz83q9.png","\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_7_1_1ac0516275-8otpht.png","\u002Fimg\u002Fprojects\u002Fbuongiorno-bagels-cafe\u002Fbagel_shop_template_vercel_app_Screenshots_7_6d94d4709e-x49sjh.png","https:\u002F\u002Fwww.buongiornobagels.com",{},"\u002Fprojects\u002Fbuongiorno-bagels-cafe","Full-Stack Developer",{"title":140,"description":148},"projects\u002Fbuongiorno-bagels-cafe",[132,131,186,187],"Strapi","Content Management","bxikTQGZd-5G1KyL16LrrWO2b4dInqSezEx3vGCOxts",{"id":190,"title":191,"body":192,"category":116,"challenge":204,"client":191,"description":199,"extension":48,"gallery":220,"image":221,"link":229,"meta":230,"navigation":72,"path":231,"role":74,"seo":232,"solution":209,"status":76,"stem":233,"technologies":234,"technologiesText":214,"__hash__":238},"projects\u002Fprojects\u002Fchampions-round.md","Champions Round",{"type":8,"value":193,"toc":215},[194,197,200,202,205,207,210,212],[11,195,191],{"id":196},"champions-round",[15,198,199],{},"Worked on both the React website and React Native mobile app for this fantasy sports platform. Helped bring a seamless experience across web and mobile.",[19,201,22],{"id":21},[15,203,204],{},"Champions Round needed a fantasy sports platform that worked seamlessly across web and mobile with shared code and consistent UX. Users needed to be able to manage their teams, join contests, and track live scores from any device. Keeping the web and mobile apps in sync was a major challenge.",[19,206,29],{"id":28},[15,208,209],{},"Developed the web platform using React with responsive design for mobile browsers. Built the iOS and Android apps using React Native, sharing business logic and API integration code between platforms. Implemented real-time score updates using WebSockets that work consistently across web and mobile. Created a shared component library for UI elements that look native on each platform while maintaining brand consistency.",[19,211,36],{"id":35},[15,213,214],{},"React for web application with responsive design. React Native for iOS and Android apps. Shared JavaScript modules for API communication and business logic. WebSockets for real-time sports data. Redux for state management across platforms.",{"title":41,"searchDepth":42,"depth":42,"links":216},[217,218,219],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},[221,222,223,224,225,226,227,228],"\u002Fimg\u002Fprojects\u002Fchampions-round\u002Fsmall_Screenshot_2021_07_15_at_9_45_39_AM_56e9a7a1fd_6cc866d6dc-hgrha0.png","\u002Fimg\u002Fprojects\u002Fchampions-round\u002Fsmall_championsround_com_1440x900_Screenshots_9_9f827c8491_e300cf5a79-vokdg8.png","\u002Fimg\u002Fprojects\u002Fchampions-round\u002Fsmall_championsround_com_1440x900_Screenshots_10_9d5a108248_f0a9369216-jawbgx.png","\u002Fimg\u002Fprojects\u002Fchampions-round\u002Fsmall_championsround_com_1440x900_Screenshots_11_785ea235ca_b77472d6e1-yp4zk1.png","\u002Fimg\u002Fprojects\u002Fchampions-round\u002Fsmall_championsround_com_1440x900_Screenshots_12_999244dea9_8c632d107e-bqatgx.png","\u002Fimg\u002Fprojects\u002Fchampions-round\u002Fsmall_championsround_com_news_1440x900_Screenshots_1_23584e88af_3492e02567-dn5x43.png","\u002Fimg\u002Fprojects\u002Fchampions-round\u002Fsmall_championsround_com_spicy_slips_1440x900_Screenshots_2_1_e0737c0f9c_d0b1c359b7-axy6ow.png","\u002Fimg\u002Fprojects\u002Fchampions-round\u002Fsmall_championsround_com_spicy_slips_1440x900_Screenshots_3_1_7a612257c9_e4059ff1ce-zo37nl.png","https:\u002F\u002Fwww.championsround.com",{},"\u002Fprojects\u002Fchampions-round",{"title":191,"description":199},"projects\u002Fchampions-round",[116,235,236,237],"React Native","JavaScript","Mobile Development","4_dUq_Xm7349pdm1a7sNLLAMtEo8RdeOEHHP1ykjXhU",{"id":240,"title":241,"body":242,"category":270,"challenge":254,"client":241,"description":249,"extension":48,"gallery":271,"image":272,"link":282,"meta":283,"navigation":72,"path":284,"role":74,"seo":285,"solution":259,"status":76,"stem":286,"technologies":287,"technologiesText":264,"__hash__":290},"projects\u002Fprojects\u002Fclearview-energy.md","Clearview Energy",{"type":8,"value":243,"toc":265},[244,247,250,252,255,257,260,262],[11,245,241],{"id":246},"clearview-energy",[15,248,249],{},"Did extensive WordPress work with heavy team collaboration. Drastically improved site performance, especially focused on mobile performance and responsive design to reach customers on any device.",[19,251,22],{"id":21},[15,253,254],{},"Clearview Energy had a WordPress site with terrible mobile performance scores and high bounce rates on mobile devices. Pages were taking 8+ seconds to load on mobile networks, and the desktop-first design was causing usability issues on smaller screens. They were losing potential customers who found them through mobile search.",[19,256,29],{"id":28},[15,258,259],{},"Conducted a comprehensive performance audit and implemented aggressive optimization strategies. Lazy loaded images and videos, minified and combined assets, implemented critical CSS inlining for above-the-fold content. Rebuilt key pages with a mobile-first approach, ensuring smooth interactions on touch devices. Added service worker for offline functionality and faster repeat visits. Mobile page load time dropped from 8s to under 3s, and mobile bounce rate decreased by 35%.",[19,261,36],{"id":35},[15,263,264],{},"WordPress with custom performance-optimized theme. JavaScript for lazy loading and intersection observers. Implemented responsive images with srcset for different screen sizes. Used gulp for asset optimization and minification. Mobile-first CSS with progressive enhancement for desktop.",{"title":41,"searchDepth":42,"depth":42,"links":266},[267,268,269],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},"WordPress",[272,273,274,275,276,277,278,279,280,281],"\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_124158_2d893d1233_047b72e28a-wocc21.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_124309_bf9b5c5061_e7db205de9-sqars9.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_124517_3de0a66f9f_5e1ca12620-3hiz9i.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_124546_b1b279fdc5_2953ec10fb-e2zpyv.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_124612_8761f7ec2e_1_c89b34aa82-jj8ula.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_124612_8761f7ec2e_4083f92f3f-udwmre.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_125031_2436a7a300_0db2b98bc7-lc1to8.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_125114_1c98d378ff_25a04381e2-u9nnwm.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_125248_949e872b6d_0c1244203b-pofj0w.png","\u002Fimg\u002Fprojects\u002Fclearview-energy\u002Fsmall_Screenshot_2021_04_23_125304_1472b5dce8_c13c56b3f5-aw3qu1.png","https:\u002F\u002Fwww.clearviewenergy.com",{},"\u002Fprojects\u002Fclearview-energy",{"title":241,"description":249},"projects\u002Fclearview-energy",[270,236,288,289],"Performance Optimization","Mobile Optimization","34kL49-VP9e4N8P21MFI4BimiQfdhJKlggy7gVJNLro",{"id":292,"title":293,"body":294,"category":131,"challenge":306,"client":293,"description":301,"extension":48,"gallery":322,"image":323,"link":327,"meta":328,"navigation":72,"path":329,"role":74,"seo":330,"solution":311,"status":76,"stem":331,"technologies":332,"technologiesText":316,"__hash__":334},"projects\u002Fprojects\u002Fewayscooters.md","EwayScooters",{"type":8,"value":295,"toc":317},[296,299,302,304,307,309,312,314],[11,297,293],{"id":298},"ewayscooters",[15,300,301],{},"Worked on the UI and content for this local e-scooter company. Also did UI work on their React Native mobile app to ensure consistency across platforms.",[19,303,22],{"id":21},[15,305,306],{},"EwayScooters needed a modern web presence to showcase their e-scooter products while also maintaining a mobile app for their rental service. The web and app needed to share design language but serve different purposes. They were competing with larger scooter companies and needed to stand out.",[19,308,29],{"id":28},[15,310,311],{},"Developed a product-focused website using Vue.js with high-quality visuals and detailed specs for each scooter model. Created a consistent design system that carried over to their React Native rental app. The web site focuses on sales and product information, while the app handles rentals and user accounts. Shared component designs and brand assets between platforms for consistency.",[19,313,36],{"id":35},[15,315,316],{},"Vue.js for the marketing website with responsive design. React Native for iOS and Android rental apps. Shared design tokens for colors, typography, and spacing. Custom UI components that adapt to each platform's conventions.",{"title":41,"searchDepth":42,"depth":42,"links":318},[319,320,321],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},[323,324,325,326],"\u002Fimg\u002Fprojects\u002Fewayscooters\u002Fwww_ewayscooters_com_1440x900_Screenshots_897ad3acd3-saoaee.png","\u002Fimg\u002Fprojects\u002Fewayscooters\u002Fwww_ewayscooters_com_1440x900_Screenshots_1_1071f65878-7vvpxw.png","\u002Fimg\u002Fprojects\u002Fewayscooters\u002Fwww_ewayscooters_com_1440x900_Screenshots_2_6c78a3c7ec-vyasbx.png","\u002Fimg\u002Fprojects\u002Fewayscooters\u002Fwww_ewayscooters_com_1440x900_Screenshots_3_899676b35c-7qlb8y.png","https:\u002F\u002Fwww.ewayscooters.com",{},"\u002Fprojects\u002Fewayscooters",{"title":293,"description":301},"projects\u002Fewayscooters",[131,235,237,333],"UI\u002FUX","9cV7w0PDIhtB3z17-7nGW6mpwfviuMwjlxeRhzqEruU",{"id":336,"title":337,"body":338,"category":116,"challenge":350,"client":337,"description":345,"extension":48,"gallery":366,"image":367,"link":379,"meta":380,"navigation":72,"path":381,"role":74,"seo":382,"solution":355,"status":76,"stem":383,"technologies":384,"technologiesText":360,"__hash__":386},"projects\u002Fprojects\u002Fgetfods.md","GetFODS",{"type":8,"value":339,"toc":361},[340,343,346,348,351,353,356,358],[11,341,337],{"id":342},"getfods",[15,344,345],{},"Worked on WordPress development and built a custom estimate calculator for customers with complex mathematical formulas. Helped streamline their quoting process.",[19,347,22],{"id":21},[15,349,350],{},"GetFODS needed a way for customers to get instant quotes without waiting for sales calls. Their product pricing involved complex calculations based on multiple variables including size, duration, location, and add-ons. The manual quoting process was slow and sales team was spending too much time on unqualified leads.",[19,352,29],{"id":28},[15,354,355],{},"Built a custom React-based calculator that handles all pricing variables and provides instant quotes. Implemented validation to ensure customers enter realistic values and guide them toward valid configurations. The calculator integrates with their WordPress site and feeds qualified leads directly to the sales team with all requirements pre-filled. Added the ability to save and email quotes for customer reference.",[19,357,36],{"id":35},[15,359,360],{},"Custom calculator built with React for dynamic UI updates. Complex mathematical formulas handled in JavaScript with validation logic. Integrated with WordPress via REST API for lead capture. Responsive design for mobile quote generation.",{"title":41,"searchDepth":42,"depth":42,"links":362},[363,364,365],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},[367,368,369,370,371,372,373,374,375,376,377,378],"\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_1440x900_Screenshots_0ab27bae1e-1vmwjd.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_1440x900_Screenshots_1_15151bf1a8-ebqajh.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_1440x900_Screenshots_2_91086bd097-b41o0t.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_about_1440x900_Screenshots_1_73d5e315ba-wtsmc7.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_about_1440x900_Screenshots_39dc8aa335-yem5xs.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_blog_case_studies_san_diego_international_airport_new_t1_project_1440x900_Screenshots_1_2175d44fc5-d51gjy.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_blog_case_studies_san_diego_international_airport_new_t1_project_1440x900_Screenshots_f69d2982c7-uwzfyv.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_case_studies_1440x900_Screenshots_8d1c5694b7-939fyy.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_contractor_1440x900_Screenshots_1_3c19f89ab5-txsinv.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_contractor_1440x900_Screenshots_312a746e06-jshqsx.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_industries_1440x900_Screenshots_9d8cb56137-8uxd9c.png","\u002Fimg\u002Fprojects\u002Fgetfods\u002Fgetfods_com_industries_landfills_and_industrial_sites_1440x900_Screenshots_86f175cee9-tl2x3s.png","https:\u002F\u002Fwww.getfods.com",{},"\u002Fprojects\u002Fgetfods",{"title":337,"description":345},"projects\u002Fgetfods",[116,236,385],"Custom Calculator","df32ajj7fvpu2oQzKr0WoIQR3dsVzvsjQi3DLtV5IX0",{"id":388,"title":389,"body":390,"category":236,"challenge":402,"client":389,"description":397,"extension":48,"gallery":418,"image":419,"link":429,"meta":430,"navigation":72,"path":431,"role":74,"seo":432,"solution":407,"status":76,"stem":433,"technologies":434,"technologiesText":412,"__hash__":435},"projects\u002Fprojects\u002Fglobal-x-etf.md","Global X ETF",{"type":8,"value":391,"toc":413},[392,395,398,400,403,405,408,410],[11,393,389],{"id":394},"global-x-etf",[15,396,397],{},"Worked on WordPress updates and helped build an internal content management platform using Strapi. Enhanced the site to handle high traffic loads for this $50+ billion asset management firm.",[19,399,22],{"id":21},[15,401,402],{},"Global X ETF needed to modernize their content management workflow while maintaining site stability under massive traffic loads. Their existing WordPress setup was becoming difficult to scale, and they required an internal CMS that could handle complex financial content without compromising performance.",[19,404,29],{"id":28},[15,406,407],{},"Built a custom Strapi-based content management platform that integrated seamlessly with their existing WordPress infrastructure. Implemented aggressive caching strategies and optimized asset delivery to handle traffic spikes during market hours. The new system reduced content publishing time by 60% while maintaining sub-2-second page loads under heavy traffic.",[19,409,36],{"id":35},[15,411,412],{},"Built on WordPress with custom theme development. Created internal CMS using Strapi with custom content types for financial data. Implemented performance optimizations using vanilla JavaScript and aggressive browser caching. Deployed on enterprise hosting infrastructure with CDN integration for global asset delivery.",{"title":41,"searchDepth":42,"depth":42,"links":414},[415,416,417],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},[419,420,421,422,423,424,425,426,427,428],"\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_1440x900_Screenshots_faeecacc25-so04ok.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_model_portfolios_1440x900_Screenshots_99819d9b10-4zl4bm.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_about_1440x900_Screenshots_1_396d5db77a-xvwk6r.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_1440x900_Screenshots_2_b44e8fa39d-xhgkwj.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_about_1440x900_Screenshots_2_43c6f52e69-73x5ir.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_explore_1440x900_Screenshots_6218f2a712-a7djpx.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_about_1440x900_Screenshots_3_52021ac231-wonza3.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_about_1440x900_Screenshots_ab6f2c11a3-03qle1.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_research_1440x900_Screenshots_1d961e8dbc-qgaz9z.png","\u002Fimg\u002Fprojects\u002Fglobal-x-etf\u002Fwww_globalxetfs_com_1440x900_Screenshots_1_5d4c5af28d-hg1y70.png","https:\u002F\u002Fwww.globalxetfs.com",{},"\u002Fprojects\u002Fglobal-x-etf",{"title":389,"description":397},"projects\u002Fglobal-x-etf",[236,270,186,288],"pYUpt7Xvj7jbHTbfFBVT5yHzZYzrWb9c2EYH3jnyD74",{"id":437,"title":438,"body":439,"category":131,"challenge":451,"client":438,"description":446,"extension":48,"gallery":467,"image":468,"link":472,"meta":473,"navigation":72,"path":474,"role":74,"seo":475,"solution":456,"status":76,"stem":476,"technologies":477,"technologiesText":461,"__hash__":478},"projects\u002Fprojects\u002Fgobluecube.md","GoBlueCube",{"type":8,"value":440,"toc":462},[441,444,447,449,452,454,457,459],[11,442,438],{"id":443},"gobluecube",[15,445,446],{},"Frontend developer helping this digital marketing agency get more visibility for their services online.",[19,448,22],{"id":21},[15,450,451],{},"GoBlueCube is a marketing agency that ironically had poor online visibility. Their old website did not reflect the quality of work they deliver to clients. They needed a modern site that showcased their services and case studies while ranking well in search results for marketing agencies.",[19,453,29],{"id":28},[15,455,456],{},"Developed a clean, modern website using Nuxt for SSR and better SEO. Created dedicated pages for each service with detailed explanations and case studies. Implemented proper meta tags, structured data, and internal linking for search engine optimization. Built a portfolio section showcasing their best work with filterable categories. The site now ranks on the first page for several competitive marketing keywords.",[19,458,36],{"id":35},[15,460,461],{},"Nuxt with server-side rendering for SEO benefits. Vue.js for interactive components. Optimized meta tags and structured data for search engines. Fast loading times with lazy-loaded images and code splitting.",{"title":41,"searchDepth":42,"depth":42,"links":463},[464,465,466],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},[468,469,470,471],"\u002Fimg\u002Fprojects\u002Fgobluecube\u002Fgobluecube_com_1280x900_380ceb61b6-fqcyka.png","\u002Fimg\u002Fprojects\u002Fgobluecube\u002Fgobluecube_com_1280x900_1_b2efcdf772-l70l6c.png","\u002Fimg\u002Fprojects\u002Fgobluecube\u002Fgobluecube_com_1280x900_2_37c5a48f4b-rilox9.png","\u002Fimg\u002Fprojects\u002Fgobluecube\u002Fgobluecube_com_1280x900_3_cdc758274a-topfkr.png","https:\u002F\u002Fwww.gobluecube.com",{},"\u002Fprojects\u002Fgobluecube",{"title":438,"description":446},"projects\u002Fgobluecube",[131,132,236],"YZybJXT_i0q273mVeJ9EG1JJAYNA_FNu2HzkoyxxKQE",{"id":480,"title":481,"body":482,"category":131,"challenge":494,"client":481,"description":489,"extension":48,"gallery":510,"image":511,"link":526,"meta":527,"navigation":72,"path":528,"role":74,"seo":529,"solution":499,"status":76,"stem":530,"technologies":531,"technologiesText":504,"__hash__":532},"projects\u002Fprojects\u002Fgrailed.md","Grailed",{"type":8,"value":483,"toc":505},[484,487,490,492,495,497,500,502],[11,485,481],{"id":486},"grailed",[15,488,489],{},"Worked on the Vue.js UI for this massive fashion resale marketplace processing millions in transactions. Note: The platform later migrated to React, but I contributed during the Vue era.",[19,491,22],{"id":21},[15,493,494],{},"Grailed needed to scale their marketplace platform to handle rapid growth in users and transactions. The existing Vue.js frontend was experiencing performance issues with large product catalogs, and the checkout flow had a high abandonment rate. They needed to optimize the user experience without disrupting daily operations.",[19,496,29],{"id":28},[15,498,499],{},"Optimized product listing pages by implementing virtual scrolling for infinite lists, reducing DOM nodes and improving scroll performance. Refactored the checkout flow to reduce steps and added real-time validation to catch errors before submission. Implemented lazy loading for product images with blur-up placeholders for better perceived performance. Added TypeScript gradually to catch bugs during development.",[19,501,36],{"id":35},[15,503,504],{},"Built with Vue.js 2 and migrated critical components to TypeScript for better type safety. Used Vuex for state management across the complex marketplace flows. Implemented virtual scrolling using vue-virtual-scroller for product catalogs. JavaScript for custom interactions and form validation.",{"title":41,"searchDepth":42,"depth":42,"links":506},[507,508,509],{"id":21,"depth":42,"text":22},{"id":28,"depth":42,"text":29},{"id":35,"depth":42,"text":36},[511,512,513,514,515,516,517,518,519,520,521,522,523,524,525],"\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_1440x900_Screenshots_88663310d2-5jhmh0.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_1440x900_Screenshots_1_38906c7342-4kj5dl.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_1440x900_Screenshots_2_36a49ae7e7-8evhm9.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_1440x900_Screenshots_3_931f0462a6-1kep97.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_1440x900_Screenshots_4_80eccda1db-6wsb4j.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_1440x900_Screenshots_5_1d8041b783-edh2e9.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_1440x900_Screenshots_6_0802171cdd-p2vb8m.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_categories_all_1440x900_Screenshots_1_e47171f225-s7ns1w.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_categories_all_1440x900_Screenshots_2_c079ea8d45-wrli3f.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_categories_all_1440x900_Screenshots_2521966067-vlfwyr.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_categories_all_1440x900_Screenshots_3_403ea0f767-cw6yxm.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_listings_40831544_military_x_streetwear_x_vintage_vintage_grey_army_military_zip_up_windbreaker_travis_style_g_aidx_Listing_production_and_g_aqid_33fe9ca42d6fdc697d0d71cd196dfe3e_1440x900_Screenshots_9dce7925b2-jts2iu.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_listings_53512310_supreme_supreme_new_era_script_beanie_g_aidx_Listing_by_heat_production_and_g_aqid_54ff2a0308f14cceee0f68b32777c73f_1440x900_Screenshots_64788bd631-3ygk2e.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fwww_grailed_com_shop_1440x900_Screenshots_9684cefeb1-h85lqw.png","\u002Fimg\u002Fprojects\u002Fgrailed\u002Fhelp_grailed_com_hc_en_us_1440x900_Screenshots_91f62deacb-dwggb5.png","https:\u002F\u002Fwww.grailed.com",{},"\u002Fprojects\u002Fgrailed",{"title":481,"description":489},"projects\u002Fgrailed",[131,236,79],"0GbbilHqyG38puPqtjqIxMRK4K_ncd3GP0Sw2Jgm91Y",1778189026457]