7373 </ section >
7474
7575 < section >
76- < h2 > Examples </ h2 >
76+ < h2 > Case Studies </ h2 >
7777 </ section >
7878
7979 < section >
@@ -95,17 +95,72 @@ <h3><a href="https://rankedplacement.com">Ranked Placement</a></h3>
9595 < section >
9696 < h3 > < a href ="https://www.testreflector.app "> Test Reflector</ a > </ h3 >
9797
98- < p >
99- Effortlessly monitor your GitHub Actions workflows directly from your Mac’s menubar. Test Reflector provides a
100- convenient overview of your workflows’ statuses and recent results, eliminating the need to constantly switch
101- tabs or watch your email for failure notices.
102- </ p >
103-
10498 < p >
10599 With dozens of open-source repositories and a host of personal and private projects that we maintain, we found
106100 that we needed a better tool for tracking GitHub Actions—especially on the days where we update dependencies
107101 across 40+ repos. Thus < a href ="https://www.testreflector.app "> Test Reflector</ a > was born.
108102 </ p >
103+
104+ < p >
105+ Test Reflector provides a concise overview of CI workflow statuses and recent results across repositories,
106+ eliminating the need to constantly switch tabs or watch your email for failure notices. The application targets
107+ iOS as well as macOS. We wrote the core of the application in Rust, for its type safety, stability,
108+ headless testability, and cross-platform portability, bridged with Swift for the UI.
109+ </ p >
110+ </ section >
111+
112+ < section >
113+ < h3 > Replatforming a mission-critical legacy codebase</ h3 >
114+
115+ < p >
116+ A Fortune 500 company relied on a legacy business-critical application for worldwide budgeting. This decades-old
117+ application was difficult to understand, to modify, and to maintain. Operations had been outsourced, and no
118+ team within the company had the expertise to continue development on this application.
119+ </ p >
120+
121+ < p >
122+ We joined an existing team of developers who had just begun replatforming the application to Elixir and Phoenix.
123+ In addition to feature development, we introduced software design patterns that increased the team’s ability to
124+ ship code quickly, and we helped bring the team’s less-experienced Elixir developers up to speed.
125+ </ p >
126+ </ section >
127+
128+ < section >
129+ < h3 > Building a carbon emissions data pipeline</ h3 >
130+
131+ < p >
132+ A large global logistics company wanted to operationalize the tracking of their greenhouse gas emissions.
133+ Their data team could manually create emissions reports, taking days or weeks to produce; the company
134+ wanted to provide on-demand real-time emissions data to their customers.
135+ </ p >
136+
137+ < p >
138+ We joined a team of developers who had just begun building the new application. We built the initial data
139+ pipeline that pulled data from a large data lake as well as from external APIs, performed real-time emissions
140+ calculations, and created streaming exports capable of generating 100M row Excel sheets. We developed PostgreSQL
141+ queries capable of summarizing and calculating emissions over 100s of millions of records in real-time using
142+ optimized common table expressions (CTEs). We also trained developers new to Elixir in testing and coding paradigms.
143+ </ p >
144+ </ section >
145+
146+ < section >
147+ < h3 > Processing a multi-year healthcare data backlog</ h3 >
148+
149+ < p >
150+ A state department of health had a multi-year backlog of COVID-19 health care data that epidemiologists needed
151+ access to in order to perform comorbidity analysis. Processing the data required interacting with 6 different
152+ health information exchanges (HIE), each of which had different resource thresholds and concurrencty limits. While
153+ documenting that they supported the same HL7v3 API format, each HIE’s API demonstrated inconsistences and unique
154+ response behaviors. New daily data dumps continually increased the size of the backlog, as well as changed the priority
155+ of existing records depending on certain markers.
156+ </ p >
157+
158+ < p >
159+ We rapidly developed a data pipeline application with built-in real-time dashboards for monitoring and reconfiguring
160+ concurrency. We interacted with HIE personnel to investigate their APIs, develop workarounds for unintended API
161+ behaviors, and help them to identify and apply fixes where possible. The deployed application used resilient
162+ architectural patterns that allowed for real-time reprioritization, idempotency, error recovery, and observability.
163+ </ p >
109164 </ section >
110165
111166 < section >
0 commit comments