Michael Shay Wins 2025 ChicagoCIO ORBIE Award

Michael Shay Wins 2025 ChicagoCIO ORBIE Award

Congratulations to Illinois Tollway Chief Information Officer Michael Shay for winning a 2025 ChicagoCIO ORBIE Award in the nonprofit/public sector category!

The ORBIE Awards recognize chief information officers who demonstrate outstanding leadership excellence, drive innovation and create measurable business value through technology.

“Michael’s visionary leadership has been transformative for the Illinois Tollway,” said Illinois Tollway Executive Director Cassaundra Rouse. “This award is a testament not only to his technical expertise, but to his ability to lead a diverse, collaborative team that consistently delivers innovation and value for our customers.”

Since joining the Illinois Tollway in 2022, Shay has led the agency’s IT and Business Systems departments through a period of growth and modernization. He oversees the agency’s technology strategy serving millions of daily customers and leads a team of more than 130 professionals committed to innovation, cybersecurity and exceptional public service.

Under his leadership, the Tollway has modernized its toll collection systems, enhanced customer engagement platforms and implemented digital tools that enable data-driven decision-making across the organization.

Shay received the award at the ChicagoCIO ORBIE Awards ceremony in Chicago on May 16, where nearly three dozen finalists were honored in seven award categories.

Congratulations to Mike Shay on this well-deserved recognition!

An error occurred while processing the template.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 1, column 53:
Lexical error: encountered "u" (117), after "\"Reaching New Milestones \\".
---end-message---

The failing expression:
==> imageJSON?eval  [in template "20157#20197#1153404" at line 152, column 41]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign imageStr = imageJSON?eval  [in template "20157#20197#1153404" at line 152, column 21]
----
1<#-- 
2Widget templates can be used to modify the look of a 
3specific application. 
4 
5Please use the left panel to quickly add commonly used variables. 
6Autocomplete is also available and can be invoked by typing "${". 
7--> 
8 
9<style> 
10    img { 
11        max-width: 100%; 
12        width: auto\9; 
13        height: auto; 
14        vertical-align: middle; 
15        border: 0; 
16        -ms-interpolation-mode: bicubic; 
17
18 
19    .image-large{ 
20        width: 100% 
21
22 
23    .image-medium{ 
24        padding-top: 10px; 
25        max-height: 100%; 
26
27 
28    .image-small{ 
29	    display: block; 
30		width: 100%; 
31		height: 0px; 
32		background-size: cover; 
33		background-position: center; 
34		background-repeat: no-repeat; 
35        padding-bottom:100%; 
36
37 
38    .separator { 
39        border-top: 1px dotted #bfbfbf !important; 
40
41 
42    /* Avoid buttons being croped in small devices*/ 
43    .taglib-page-iterator .lfr-pagination-buttons>li>a{ 
44        width: auto !important; 
45
46 
47    @media screen and (max-width: 750px) { 
48        .navbar-search.pull-right{ 
49            max-width: 100%; 
50
51
52 
53    @media screen and (max-width: 979px){ 
54        .form-search .btn[type="submit"]{ 
55            display: block !important; 
56            position: inherit !important; 
57            margin-top: 10px !important; 
58 
59            -webkit-border-radius: 14px 14px 14px 14px !important; 
60            -moz-border-radius: 14px 14px 14px 14px !important; 
61            border-radius: 14px 14px 14px 14px !important; 
62
63 
64        .navbar-search.pull-right{ 
65            max-width: 90%; 
66
67
68 
69    .entry-content { 
70        margin-bottom: 0px; 
71
72    .entry-body p { 
73        line-height: 18px; 
74        margin-bottom: 10px; 
75
76 
77     .entry-date { 
78        color: #999; 
79
80  .entry-footer:after { 
81    display: inline; 
82    content: initial; 
83
84 
85    .pagination-bar { 
86        align-items: center; 
87        display: flex; 
88        flex-wrap: wrap; 
89        clear: both; 
90        height: auto; 
91        width: auto; 
92
93 
94    .pagination-bar .pagination .page-item .page-link{ 
95        color: #009c34; 
96
97     .pagination-bar .pagination .page-item .page-link:hover { 
98        color: #0B3D16; 
99        text-decoration: none; 
100
101     .pagination-bar .pagination .page-item .page-link:focus { 
102        box-shadow: 0 0 0 0.2rem #28a7453d; 
103
104    .pagination-bar .pagination .page-item.disabled .page-link { 
105        color: #6c757d; 
106
107    .page-link:active, .page-link.active, .nav-underline .tab.active a.page-link { 
108        background-color: #009c34; 
109        border-color: #009c34; 
110
111     .entry-title h2 { 
112    margin-right: 0px;  
113
114    .page-item.active .page-link, .nav-underline .tab.active a.page-item .page-link, .page-item.show .page-link { 
115        background-color: #009c34; 
116        border-color: #009c34; 
117        color: #FFF !important; 
118        cursor: default; 
119        z-index: 3; 
120
121    .twitter-share-button.twitter-share-button-rendered.twitter-tweet-button { 
122        width: initial !important; 
123
124 
125</style> 
126 
127 
128    <#if entries?has_content> 
129     
130    <h3 style="color:black !important;">PREVIOUS POSTS</h3> 
131     
132    <#list entries as curEntry> 
133    <#-- -- > ${curEntry?index} --> 
134    <div class="entry col-md-12" style="padding-bottom: 10px;"> 
135    <div class="" style="padding-right: 0px; padding-left: 0px;"> 
136        <#assign 
137            assetRenderer = curEntry.getAssetRenderer() 
138            journalArticle = assetRenderer.getAssetObject() 
139            doc = saxReaderUtil.read(journalArticle.getContentByLocale("en_US")) 
140            rootElement = doc.getRootElement() 
141            dynamicElements = rootElement.elements() 
142        /> 
143         
144       
145    
146     
147        <#list dynamicElements> 
148            <#items as dynamicElement> 
149                
150                <#if "BigImage" == dynamicElement.attributeValue("name") > 
151                    <#assign imageJSON = dynamicElement.element("dynamic-content").getText()> 
152                    <#assign imageStr = imageJSON?eval> 
153                    <#assign imageURL = "/c/document_library/get_file?uuid=" + imageStr.uuid+ "&groupId=" + imageStr.groupId/> 
154                    
155 
156                    <div class="col-md-4 col-sm-12" style="padding-right: 0px; padding-left: 0px;"> 
157 
158 
159						<div class="image-small" style="background-image: url(&quot;${imageURL}&quot;)"> 
160 
161						</div> 
162					</div> 
163 
164                       
165                    
166                </#if> 
167 
168 
169                
170 
171                <#if "Title" == dynamicElement.attributeValue("name") > 
172                    <#assign title = dynamicElement.element("dynamic-content").getText()> 
173                     <div class="col-md-8 col-sm-12"> 
174 
175                    <div class="entry-content"> 
176                        <div class="entry-title"> 
177                            <h2><a href="${themeDisplay.getPortalURL()+"/-/"+assetRenderer.getUrlTitle()}" style="color: #009c34">${title}&nbsp;</a></h2> 
178                        </div> 
179                    </div> 
180 
181 
182 
183                </#if> 
184               
185                <#if "DisplayDate" == dynamicElement.attributeValue("name") > 
186                    <#assign displayDate = dynamicElement.element("dynamic-content").getText()> 
187                     
188                     
189                    	<div class="entry-footer"> 
190							<span class="entry-date"> 
191	                    	<span class=" lfr-portal-tooltip" title="Date"> 
192						            <img id="mefv__column1__1" src="https://www.illinoistollway.com/o/istha-public/images/common/date.png" alt="Date" title="Date"> 
193		                            <span class="taglib-text hide-accessible">Date</span> 
194		                      </span> 
195                              ${displayDate} 
196							</span> 
197						</div> 
198                  
199                 </div> 
200                </#if> 
201                 
202            </#items> 
203            <div class="col-md-12 col-sm-12"> 
204                <div class="separator"><!-- --></div> 
205            </div> 
206        </#list> 
207    </div> 
208    </div> 
209    </#list> 
210</#if>