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!
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("${imageURL}")">
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} </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>