<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP Archives - Sully Syed</title>
	<atom:link href="https://yllus.com/portfolio-category/php/feed/" rel="self" type="application/rss+xml" />
	<link>https://yllus.com/portfolio-category/php/</link>
	<description>Management executive, software developer and cyclist hailing from Toronto, Canada.</description>
	<lastBuildDate>Thu, 21 Dec 2023 20:27:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>#MyGolfYear (Golf Canada Wrapped)</title>
		<link>https://yllus.com/portfolio/mygolfyear-golf-canada-wrapped/</link>
					<comments>https://yllus.com/portfolio/mygolfyear-golf-canada-wrapped/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Tue, 12 Dec 2023 18:44:12 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3477</guid>

					<description><![CDATA[Since its debut in 2016, the end-of-year Spotify Wrapped campaign has always fascinated me as one of the most brilliant feats of marketing in the modern era: By simply summarizing a customer&#8217;s own data and putting an attractive graphics package <a href="https://yllus.com/portfolio/mygolfyear-golf-canada-wrapped/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>Since its debut in 2016, the end-of-year <a href="https://www.spotify.com/us/wrapped/">Spotify Wrapped</a> campaign has always fascinated me as one of the most brilliant feats of marketing in the modern era: By simply summarizing a customer&#8217;s own data and putting an attractive graphics package around it, Spotify earns mounds of free press (<a href="https://www.wired.com/story/spotify-wrapped-never-going-away/">Wired</a>, <a href="https://www.theverge.com/23980858/spotify-wrapped-2023-how-to">The Verge</a>, <a href="https://www.businessinsider.com/guides/streaming/how-to-find-spotify-wrapped">Business Insider</a>) and even more reach organically as millions of Spotify users share their listening preferences with their friends on social media.</p>
<p>In my first year with Golf Canada in 2021, having just gotten comfortable with the organization&#8217;s incredible dataset on golf being played in Canada, I pitched the obvious: Why don&#8217;t we spin up a large number of servers in the cloud, crunch through the data and gift each member of Golf Canada with their own shareable graphic of the golf they played that year? The go-ahead was quickly given and a furious three week effort resulted in the <a href="https://www.golfcanada.ca/articles/golfers-share-their-2021-stats-as-part-of-new-golf-canada-mygolfyear-campaign/">2021 #MyGolfYear campaign</a>, a simple but well-received surprise to Golf Canada members.</p>
<p><center></p>
<blockquote class="instagram-media" style="background: #FFF; border: 0; border-radius: 3px; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width: 540px; min-width: 326px; padding: 0; width: calc(100% - 2px);" data-instgrm-captioned="" data-instgrm-permalink="https://www.instagram.com/p/CYCNVHeF48W/?utm_source=ig_embed&amp;utm_campaign=loading" data-instgrm-version="14">
<div style="padding: 16px;">
<p>&nbsp;</p>
<div style="display: flex; flex-direction: row; align-items: center;">
<div style="background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"></div>
<div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;">
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"></div>
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"></div>
</div>
</div>
<div style="padding: 19% 0;"></div>
<div style="display: block; height: 50px; margin: 0 auto 12px; width: 50px;"></div>
<div style="padding-top: 8px;">
<div style="color: #3897f0; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: 550; line-height: 18px;">View this post on Instagram</div>
</div>
<div style="padding: 12.5% 0;"></div>
<div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;">
<div>
<div style="background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);"></div>
<div style="background-color: #f4f4f4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;"></div>
<div style="background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);"></div>
</div>
<div style="margin-left: 8px;">
<div style="background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;"></div>
<div style="width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg);"></div>
</div>
<div style="margin-left: auto;">
<div style="width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);"></div>
<div style="background-color: #f4f4f4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);"></div>
<div style="width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);"></div>
</div>
</div>
<div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;">
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;"></div>
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;"></div>
</div>
<p>&nbsp;</p>
<p style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;"><a style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none;" href="https://www.instagram.com/p/CYCNVHeF48W/?utm_source=ig_embed&amp;utm_campaign=loading" target="_blank" rel="noopener">A post shared by Laurence Applebaum (@laurence.applebaum)</a></p>
</div>
</blockquote>
<p><script async src="//www.instagram.com/embed.js"></script></center></p>
<p>In 2022 and 2023, with more time for planning and exploration, <a href="https://www.golfcanada.ca/articles/mygolfyear-is-back-for-2022/">the #MyGolfYear campaign returned</a>, with the basic summary values such as the Total Rounds, # of Holes, Distance Played and Best Round again being featured, and now adding 15 possible &#8216;achievements&#8217; a golfer could earn due to their play that year.</p>
<p><center></p>
<blockquote class="instagram-media" style="background: #FFF; border: 0; border-radius: 3px; box-shadow: 0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width: 540px; min-width: 326px; padding: 0; width: calc(100% - 2px);" data-instgrm-captioned="" data-instgrm-permalink="https://www.instagram.com/p/CmPir5nOY5u/?utm_source=ig_embed&amp;utm_campaign=loading" data-instgrm-version="14">
<div style="padding: 16px;">
<p>&nbsp;</p>
<div style="display: flex; flex-direction: row; align-items: center;">
<div style="background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"></div>
<div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;">
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"></div>
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"></div>
</div>
</div>
<div style="padding: 19% 0;"></div>
<div style="display: block; height: 50px; margin: 0 auto 12px; width: 50px;"></div>
<div style="padding-top: 8px;">
<div style="color: #3897f0; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: 550; line-height: 18px;">View this post on Instagram</div>
</div>
<div style="padding: 12.5% 0;"></div>
<div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;">
<div>
<div style="background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);"></div>
<div style="background-color: #f4f4f4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;"></div>
<div style="background-color: #f4f4f4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);"></div>
</div>
<div style="margin-left: 8px;">
<div style="background-color: #f4f4f4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;"></div>
<div style="width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg);"></div>
</div>
<div style="margin-left: auto;">
<div style="width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);"></div>
<div style="background-color: #f4f4f4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);"></div>
<div style="width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);"></div>
</div>
</div>
<div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;">
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;"></div>
<div style="background-color: #f4f4f4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;"></div>
</div>
<p>&nbsp;</p>
<p style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; line-height: 17px; margin-bottom: 0; margin-top: 8px; overflow: hidden; padding: 8px 0 7px; text-align: center; text-overflow: ellipsis; white-space: nowrap;"><a style="color: #c9c8cd; font-family: Arial,sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 17px; text-decoration: none;" href="https://www.instagram.com/p/CmPir5nOY5u/?utm_source=ig_embed&amp;utm_campaign=loading" target="_blank" rel="noopener">A post shared by Cassie Campbell-Pascall (@cassiecampbell77)</a></p>
</div>
</blockquote>
<p><script async src="//www.instagram.com/embed.js"></script></center></p>
<p>For technology, #MyGolfYear is powered by <a href="https://github.com/laravel/horizon"><strong>Laravel Horizon</strong></a> running on <a href="https://aws.amazon.com/"><strong>Amazon AWS Cloud</strong></a> as a fast, parallelized queue to process the millions of scores entered annually by hundreds of thousands of Golf Canada&#8217;s membership, with <strong><a href="https://mailchimp.com/">MailChimp and Mandrill</a></strong> used for e-mail and <a href="https://onesignal.com/"><strong>OneSignal</strong></a> for push notifications to provide members with their annual stats package.</p>
<p>With an e-mail open rate in excess of 64% and thousands of shareable graphics making the rounds on <a href="https://www.facebook.com/hashtag/MyGolfYear/">Facebook</a>, <a href="https://www.instagram.com/explore/tags/mygolfyear/">Instagram</a>, <a href="https://twitter.com/search?q=%23MyGolfYear&#038;src=typed_query">Twitter</a> and <a href="https://www.linkedin.com/feed/hashtag/?keywords=mygolfyear">LinkedIn</a>, #MyGolfYear had popular success, but added commercial success via sponsorship with <a href="https://www.journie.ca/en-CA">JOURNIE Rewards</a> in 2022 and <a href="https://www.bdo.ca/">BDO Canada</a> in 2023 and onwards. To me, like Spotify Wrapped, it is the definition of making use of an organization&#8217;s existing assets in a new (heavily &#8216;inspired by&#8217;) way to surprise-and-delight one&#8217;s own customers while also creating a saleable new asset.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/mygolfyear-golf-canada-wrapped/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Golf Canada Mobile App (Social Features)</title>
		<link>https://yllus.com/portfolio/golf-canada-mobile-app-social-features/</link>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Tue, 03 Oct 2023 13:11:10 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3438</guid>

					<description><![CDATA[With over 125,000 golfers using the Golf Canada Mobile App on a weekly basis, Golf Canada had a very successful app that was nonetheless severely limited in its ability to surface messaging and communicate with the userbase of the product. <a href="https://yllus.com/portfolio/golf-canada-mobile-app-social-features/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p><iframe style="aspect-ratio: 16 / 9; width: 100%;" src="https://www.youtube.com/embed/jER9_zR98L4?si=aLgSeNFRFIuxH9ZR" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></p>
<p>With over 125,000 golfers using the <a href="https://www.golfcanada.ca/golf-canada-app/">Golf Canada Mobile App</a> on a weekly basis, Golf Canada had a very successful app that was nonetheless severely limited in its ability to surface messaging and communicate with the userbase of the product. To provide a reason for Canadians to open and use the app outside of strictly recording their scores and increase engagement with their friends, Golf Canada and its partners, I proposed in 2022 that social network-style features be implemented in the next release of the Golf Canada Mobile App.</p>
<p>In late 2022 and early 2023, I architected and led the development of the friend system, home screen news feed, the ability to attach photos and videos to a score posting or content upload, and push / e-mail notifications about your friends&#8217; activities in the Golf Canada Mobile App. The API and backend in use is Laravel, with <a href="https://github.com/laravel/horizon"><strong>Laravel Horizon</strong></a> utilized in particular as a fast, parallelized queue to create cached score and content posts that can be instantly retrieved and displayed in the home screen feed of golfers. To notify golfers about friend requests and the activities of their friends, Laravel Horizon queues and executes 1:1 transactional push notifications via <a href="https://onesignal.com/"><strong>OneSignal</strong></a> and e-mail via <a href="https://mandrillapp.com/"><strong>Mandrill</strong></a>. Finally, <a href="https://voyager.devdojo.com/"><strong>Voyager</strong></a> provides Golf Canada staff with a simple-to-use web backend to administer and moderate content on the platform.</p>
<p>Since release in August 2023 through the month of December, over 9.8 million posts have already been viewed via the home screen feed, 136,000+ new friend requests have been made and accepted, and over 30,000+ photos and videos have been uploaded via the mobile app. Critically for Golf Canada&#8217;s partners, a 400% increase in banner ad code loads and a 300% increase in ad impressions has resulted from the introduction of the home screen news feed to the app.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Golf Canada Mobile App (Live Events)</title>
		<link>https://yllus.com/portfolio/golf-canada-mobile-app/</link>
					<comments>https://yllus.com/portfolio/golf-canada-mobile-app/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Fri, 24 Feb 2023 19:37:14 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3398</guid>

					<description><![CDATA[As hosts and organizers of the annual RBC Canadian Open and CP Women&#8217;s Open (the Canadian PGA and LPGA championship events respectively), in 2021, Golf Canada green-lit a project to add live event functionality into the Golf Canada Mobile App. <a href="https://yllus.com/portfolio/golf-canada-mobile-app/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>As hosts and organizers of the annual <a href="https://rbccanadianopen.com/">RBC Canadian Open</a> and <a href="https://www.cpwomensopen.com/">CP Women&#8217;s Open</a> (the Canadian PGA and LPGA championship events respectively), in 2021, Golf Canada green-lit a project to add live event functionality into the <a href="https://www.golfcanada.ca/golf-canada-app/">Golf Canada Mobile App</a>. For those two weeks of the year, event goers would be able use the app to view a course map, live leaderboards and tee times, access their tickets and use mobile ordering to purchase food and beverages anywhere on the grounds.</p>
<p>With mobile app development partner <a href="https://www.mirego.com/">Mirego</a> on board, I led this project internally at Golf Canada, soliciting and organizing requirements, architecting and developing a Laravel-based API and backend to drive content, data, images and video to the mobile app, interfacing with and implementing integrations with the <strong>PGA (ShotLink)</strong> and the <strong>LPGA (R2IT)</strong> for real-time leaderboards and tee times, <strong>Ticketmaster</strong> for mobile ticketing, <strong>VenueNext</strong> for mobile ordering of food and beverages, <strong>Intellitix</strong> for RFID wristbands, and <strong>Trak-4</strong> to enable real-time player positioning display in the mobile app.</p>
<p>During the two weeks of the live tournaments, the Golf Canada Mobile App was utilized by over 17,000 event attendees, and $65,000 CAD in incremental revenue was generated via mobile ordering of F&amp;B. The Laravel-based backend is dynamic and can be utilized in future years to display and run further tournaments without the need for further development efforts or even technical ability.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/golf-canada-mobile-app/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Vestaboard+</title>
		<link>https://yllus.com/portfolio/vestaboard-plus/</link>
					<comments>https://yllus.com/portfolio/vestaboard-plus/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Sun, 30 Oct 2022 23:04:18 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3369</guid>

					<description><![CDATA[I&#8217;ve always been fascinated with smart displays and unique visualization methods; so when in October 2018 I saw an opportunity to reserve one of the first Vestaboard smart displays very early in their conception (pre-hardware prototype), I jumped at the <a href="https://yllus.com/portfolio/vestaboard-plus/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p><iframe style="aspect-ratio: 16 / 9; width: 100%;" src="https://www.youtube.com/embed/SN-64kbhS9s?si=DXymYsujpo7Xw9MD" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe><br />
I&#8217;ve always been fascinated with smart displays and unique visualization methods; so when in October 2018 I saw an opportunity to reserve one of the first <a href="https://www.vestaboard.com/">Vestaboard smart displays</a> very early in their conception (pre-hardware prototype), I jumped at the chance. The timing of getting a note from <a href="https://www.linkedin.com/in/dorrianporter/">Dorrian Porter</a> and his team that my board was in production in February 2021 was perfect timing: I had just left my full-time role at the Canadian Football League and was looking for interesting new projects to take on.</p>
<p>With Vestaboard having <a href="https://docs.vestaboard.com/introduction">documented an API</a> to create software around, I got to work on what I thought would be the most obvious and useful integration: Real-time updates from the <strong>National Football League</strong> (NFL), <strong>National Basketball Association</strong> (NBA), <strong>Major League of Baseball</strong> (MLB) and <strong>National Hockey League</strong> (NFL). With those first four sports &#8220;installables&#8221; completed, I took on a contractor role with Vestaboard and completed a <strong>Stock Market</strong> (NYSE/NASDAQ), <strong>Google Calendar</strong>, <strong>Outlook Calendar</strong> and <strong>Spotify</strong> integration shortly before <a href="https://www.instagram.com/p/CNfbxOoAhnf/">my own physical Vestaboard arrived</a> in Toronto, Canada in April, 2021.</p>
<p>Starting in January 2022, the work I began with those first Installables now powers <a href="https://www.vestaboard.com/plus">Vestaboard+</a>, a subscription service for Vestaboard customers that&#8217;s expanded to 54 unique integrations that includes <strong>Sonos</strong>, <strong>Apple Music</strong>, weather reports, <strong>Cryptocurrencies</strong>, custom time clocks and even a build-it-yourself message set scheduler. Vestaboard+ runs on a <a href="https://laravel.com/">Laravel 8.x platform</a> utilizing <a href="https://laravel.com/docs/8.x/horizon">Laravel Horizon</a>, with each Installable scheduled to scan for time matches and fire a message to a Vestaboard when a match occurs.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/vestaboard-plus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GreyCupFanBase.ca</title>
		<link>https://yllus.com/portfolio/grey-cup-fan-base/</link>
					<comments>https://yllus.com/portfolio/grey-cup-fan-base/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Sun, 30 Aug 2020 20:34:44 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3302</guid>

					<description><![CDATA[In 2020 and facing a lost season of football due to the outbreak of the COVID-19 pandemic, the Canadian Football League undertook a new iniative: The Grey Cup Fan Base, an opportunity for fans of the league to directly support <a href="https://yllus.com/portfolio/grey-cup-fan-base/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<div class="row mt">
<div class="col-lg-10 col-lg-offset-1">
<p>In 2020 and facing a lost season of football due to the outbreak of the COVID-19 pandemic, the Canadian Football League undertook a new iniative: The <a href="https://www.greycupfanbase.ca/">Grey Cup Fan Base</a>, an opportunity for fans of the league to directly support the CFL and literally put their name in history in the process.</p>
<p>To build this new property, I developed a website and e-mail integration based on Laravel 6.x, creating a sales website, a purchase flow that integrates use of <a href="https://stripe.com/en-ca">Stripe</a> and <a href="https://www.ticketmaster.ca/">Ticketmaster</a>, a members-only section for those who purchased a name on the Fan Base, and e-mail automation with <a href="https://aws.amazon.com/ses/">Amazon SES</a>. In the members only section, details about a member&#8217;s personalization / location and an auto-generated certificate of support were created.</p>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/grey-cup-fan-base/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GreyCupFestival.ca</title>
		<link>https://yllus.com/portfolio/greycupfestival-ca/</link>
					<comments>https://yllus.com/portfolio/greycupfestival-ca/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Sat, 29 Aug 2020 22:09:18 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3360</guid>

					<description><![CDATA[In 2014, the Canadian Football League head office was handed over the WordPress website assets for the 104th Grey Cup Festival hosted in Winnipeg. From 2015 through 2017, we continued to flip over the website, now with a permanent URL <a href="https://yllus.com/portfolio/greycupfestival-ca/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>In 2014, the Canadian Football League head office was handed over the WordPress website assets for the 104th Grey Cup Festival hosted in Winnipeg. From 2015 through 2017, we continued to flip over the website, now with a permanent URL location of <a href="https://www.greycupfestival.ca/">https://www.greycupfestival.ca/</a> on behalf of each hosting team and made modest improvements each time.</p>
<p>By the offseason between 2017 and 2018, we&#8217;d had enough experience with operating the site and undertook a full rebuild, with the main goal of making the site easy to turn over each year by simply making use of the <a href="https://developer.wordpress.org/themes/customize-api/">WordPress Customizer</a> interface, the <a href="https://wordpress.org/plugins/the-events-calendar/">Events Calendar plug-in</a> and page templates for early in the year, mid-year and the time period in which the event calendar for the festival is partially or fully known. Finally, a standard website operating manual was creating and was provided each year to the new host team along with a screenshare tutorial on major site features.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/greycupfestival-ca/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>TryFootball.ca</title>
		<link>https://yllus.com/portfolio/tryfootball-ca/</link>
					<comments>https://yllus.com/portfolio/tryfootball-ca/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Mon, 24 Aug 2020 15:18:29 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3292</guid>

					<description><![CDATA[TryFootball.ca was developed and made public in 2019 to serve as a central source of information in Canada for parents to find a league or team playing amateur football in their region. Based on Laravel 5.x, this website property allows <a href="https://yllus.com/portfolio/tryfootball-ca/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p><a href="https://tryfootball.ca/">TryFootball.ca</a> was developed and made public in 2019 to serve as a central source of information in Canada for parents to find a league or team playing amateur football in their region. Based on Laravel 5.x, this website property allows the input of a Canadian postal code and maps the results visually using the Google Maps API.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/tryfootball-ca/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CFL Pick &#8216;Em</title>
		<link>https://yllus.com/portfolio/cfl-pick-em/</link>
					<comments>https://yllus.com/portfolio/cfl-pick-em/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Mon, 24 Aug 2020 14:33:52 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=3281</guid>

					<description><![CDATA[In 2014, a Ruby On Rails-based website application was developed by a vendor external to the Canadian Football League that allowed fans to register an account and virtually bet (no real monetary value placed) on which team would win each <a href="https://yllus.com/portfolio/cfl-pick-em/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>In 2014, a Ruby On Rails-based website application was developed by a vendor external to the Canadian Football League that allowed fans to register an account and virtually bet (no real monetary value placed) on which team would win each regular season and playoff game in the CFL season schedule.</p>
<p>In 2018, I undertook a rebuild and migration of the <a href="https://pickem.cfl.ca/">CFL Pick &#8216;Em website</a> to Laravel 5.x in order to improve the site stability, bring the codebase in line with existing internal CFL standards (PHP and MySQL-based whenever possible) and generally improve the website&#8217;s featureset. One major goal was to provide updated leaderboard rankings and scores within seconds of each game&#8217;s conclusion; <a href="https://laravel.com/docs/5.8/horizon">Laravel Horizon</a> as a queue/job processing solution makes this possible, with the <a href="https://aws.amazon.com/rds/aurora/">Amazon Aurora</a> database scaling automatically ramped up as any game enters its 4th quarter.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/cfl-pick-em/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CFL.ca</title>
		<link>https://yllus.com/portfolio/cfl-ca/</link>
					<comments>https://yllus.com/portfolio/cfl-ca/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Fri, 25 Mar 2016 21:29:31 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=2880</guid>

					<description><![CDATA[In 2015, the Canadian Football League looked to revamp its league and team websites, moving from a proprietary CMS and vendor to an open-source solution based on Drupal or WordPress. A new WordPress multi-site instance was set up on Amazon <a href="https://yllus.com/portfolio/cfl-ca/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>In 2015, the Canadian Football League looked to revamp its league and team websites, moving from a proprietary CMS and vendor to an open-source solution based on Drupal or WordPress. A new WordPress multi-site instance was set up on Amazon AWS, and with a team of 3 developers, website development was completed in a 45-day initial release:</p>
<ul>
<li>Develop a parent WordPress theme containing a <a href="https://www.cfl.ca/">home page</a>, <a href="https://www.cfl.ca/2020/08/24/mmqb-cfl-matters-ever/">article (post)</a> and <a href="https://www.cfl.ca/2020/08/11/best-in-the-league-s5-ep2-playmaker/">video</a> template, and generic page template</li>
<li>Create child WordPress themes that, using SASS variables, swap in team logos and colours in all the appropriate places</li>
<li>Develop a WordPress plug-in that automatically retrieves data from the <a href="http://api.cfl.ca/">CFL API</a> to make the <a href="https://www.cfl.ca/schedule/">Schedule Page</a>, <a href="https://www.cfl.ca/standings/">Standings Page</a>, <a href="https://www.cfl.ca/stats/">Stats Page</a> and <a href="https://www.cfl.ca/players/cody-fajardo/160140/">Player Profile</a> templates available and kept up-to-date</li>
<li>Implement a website backend that allows for managing data for a <a href="https://www.cfl.ca/draft-tracker/">CFL Draft</a>, player profiles, <a href="https://www.cfl.ca/remote-reunion-driven-kubota/">custom landing pages</a> and other league-specific features</li>
</ul>
<p>After the initial MVP was launched in November 2015, a full-time staff of 3 web developers were hired on in the league office in Toronto, Canada and continued to deploy new site features incrementally in weekly development sprints.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/cfl-ca/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>NHL Live / Rogers NHL Live</title>
		<link>https://yllus.com/portfolio/rogers-gamecentre-live/</link>
					<comments>https://yllus.com/portfolio/rogers-gamecentre-live/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Tue, 08 Sep 2015 22:56:57 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=2832</guid>

					<description><![CDATA[In 2014, Rogers assumed control of the direction and implementation of the NHL Live / Rogers NHL LIVE product, the live video streaming service for National Hockey League (NHL) games in Canada and the United States. In our second year, <a href="https://yllus.com/portfolio/rogers-gamecentre-live/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>In 2014, Rogers assumed control of the direction and implementation of the NHL Live / Rogers NHL LIVE product, the live video streaming service for National Hockey League (NHL) games in Canada and the United States. In our second year, we were looking iterate on the features of the NHL mobile app, and to revamp the website for GameCentre LIVE in a number of ways:</p>
<ul>
<li>Implement a new, simplified website layout to explain the product&#8217;s features and pricing options</li>
<li>Convert the site to the WordPress content management system, allowing all text displayed on all pages to be editable by GameCentre LIVE staff when copy changes are required</li>
<li>Improve the usability of the product by introducing <a href="https://gamecentrelive.rogers.com/en/schedule/">a Schedule page</a> with direct links to begin watching games, including a Game Of The Day highlight feature</li>
<li>Add <a href="https://gamecentrelive.rogers.com/en/support/">a Support section</a> that was highly flexible in the content that could be placed within it, with a search feature to allow customers to quickly find answers to their questions</li>
</ul>
<p>Despite managing one of the largest teams of WordPress developers in North America, I try to not automatically jump to the assumption of WordPress being the best choice to be the basis of a new website. Initially, we considered use of <a href="http://www.webhook.com/">Webhook</a> and other similar static page generators, but our more complex site requirements (single sign-on with NHL.com, data retrieval from the Sportsnet Stats API) nixed that.</p>
<p>Ultimately, we made the decision to go with building a WordPress site where all page content right down to section heads and button text could be modified in the site&#8217;s backend. Use of WordPress also allowed us to use top-notch plug-ins such as <a href="https://wordpress.org/plugins/polylang/">Polylang</a>, <a href="https://en-ca.wordpress.org/plugins/redirection/">Redirection</a> and <a href="https://en-ca.wordpress.org/plugins/wordpress-seo/">Yoast SEO</a>, which all come together  as extremely user-friendly tools to allow non-technical staff to efficiently administrate to the website.</p>
<p>I led the technical architecture of the website, bringing in <a href="https://www.linkedin.com/in/ericparlier">Eric Parlier</a> on contract as lead developer, <a href="https://www.linkedin.com/in/brianskene">Brian Skene</a> as design lead and <a href="https://www.linkedin.com/pub/godwine-lee/1/5aa/8b6">Godwine Lee</a> doing QA duties for the site. The site was launched successfully and on time, and has quickly became what we were hoping it would be: More than just marketing materials for the product, but actually also the primary method for how users of the product find live games and replays to watch, simplifying that process for a great many people.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/rogers-gamecentre-live/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Rogers Centre WiFi</title>
		<link>https://yllus.com/portfolio/rogers-centre-wifi/</link>
					<comments>https://yllus.com/portfolio/rogers-centre-wifi/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Tue, 14 Apr 2015 14:21:43 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=2791</guid>

					<description><![CDATA[To kick off the 39th season of the Toronto Blue Jays, the Rogers Centre in downtown Toronto unveiled its latest feature: Free Wi-Fi to all visitors to the stadium. Over the period of some months, the Network and IT divisions of <a href="https://yllus.com/portfolio/rogers-centre-wifi/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>To kick off the 39th season of the Toronto Blue Jays, the Rogers Centre in downtown Toronto unveiled its latest feature: Free Wi-Fi to all visitors to the stadium. Over the period of some months, the Network and IT divisions of Rogers, along with contractors from Cisco, deployed the <a href="http://www.cisco.com/web/strategy/sports/stadium_wifi.html">Cisco Connected Stadium Wi-Fi</a> product in the Rogers Centre under the SSID <strong>ROGERS WiFi Public</strong>.</p>
<p>Compared to the efforts of our peers in Network, our job in IT was relatively straightforward: Implement a secure authentication portal that could scale instantly to the levels required in the Rogers Centre (seating capacity: 54,000) with integration with Cisco. I worked closely with a typically small and nimble team of lead developer <a href="https://www.linkedin.com/pub/jonathan-bouganim/1b/4b/407">Jonathan Bouganim</a> (Sr. Developer) and <a href="https://ca.linkedin.com/pub/david-sedgwick/8/14b/61b">David Sedgwick</a> (Manager, Quality Assurance) to drive the solution live well in advance of our project deadline.</p>
<p>I attended the home opener of the Blue Jays on April 13, 2015 as part of the team monitoring the deployment in its first mass-scale usage by the public. The project was a complete success, with over 20,000 visitors connecting and making use of the wi-fi simultaneously. Many attendees of the game expressed their pleasure via social media:</p>
<p>https://twitter.com/fabthebrand/status/587791447753121793</p>
<p>https://twitter.com/trishfoto/status/587744116575961088</p>
]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/rogers-centre-wifi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>680 News</title>
		<link>https://yllus.com/portfolio/680-news/</link>
					<comments>https://yllus.com/portfolio/680-news/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Thu, 02 Apr 2015 15:43:00 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=2809</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/680-news/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CityNews.ca</title>
		<link>https://yllus.com/portfolio/citynews-ca/</link>
					<comments>https://yllus.com/portfolio/citynews-ca/#respond</comments>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Thu, 02 Apr 2015 13:53:31 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=2820</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
					<wfw:commentRss>https://yllus.com/portfolio/citynews-ca/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>myforumalerts.com</title>
		<link>https://yllus.com/portfolio/myforumalerts-com/</link>
		
		<dc:creator><![CDATA[Sully Syed]]></dc:creator>
		<pubDate>Tue, 04 Sep 2012 18:05:33 +0000</pubDate>
				<guid isPermaLink="false">http://yllus.com/?post_type=portfolio&#038;p=2444</guid>

					<description><![CDATA[A free service built on PHP / AJAX / MySQL / Apache that allows its users to monitor popular Web forums for the appearance of keywords. An e-mail alert is then dispatched to the user to notify them regarding the <a href="https://yllus.com/portfolio/myforumalerts-com/"><div class="read-more"><p>Read more &#8250;</p></div><!-- end of .read-more --></a>]]></description>
										<content:encoded><![CDATA[<p>A free service built on PHP / AJAX / MySQL / Apache that allows its users to monitor popular Web forums for the appearance of keywords. An e-mail alert is then dispatched to the user to notify them regarding the match. Primarily used for buy/sell/trade items and marketing research.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
