📦 EqualifyEverything / equalify-docs

📄 2026-03.md · 165 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165---
title: "March 2026 Development Report"
date: 2026-03-01
description: "Monthly development progress report for March 2026"
author: "Equalify Team"
---

# March 2026 Development Report

**Reporting period:** Feb 3 – Mar 6, 2026  
**Sources:** [#584](https://github.com/EqualifyEverything/equalify/issues/584), [#585](https://github.com/EqualifyEverything/equalify/issues/585), [#586](https://github.com/EqualifyEverything/equalify/issues/586), [#587](https://github.com/EqualifyEverything/equalify/issues/587)  
**Contributors:** T. Daniel, C. Aitken

## Executive Summary

March was a highly productive month for Equalify, with 26 tasks completed across 111 code commits and significant improvements to platform stability, usability, and reporting capabilities. Key accomplishments include the launch of Equalify Hub v1, a new Quick Scan feature for single-URL accessibility checks, CSV export for blocker reports, and a thorough resolution of recurring scan reliability issues. The team also addressed a database performance incident and upgraded infrastructure to support the platform's growing usage ahead of broader production rollout.

## Highlights

- **Launched Equalify Hub v1**, providing a centralized information portal with Q&A updates for the UIC community at [equalify.uic.edu/updates](https://equalify.uic.edu/updates)
- **Introduced Quick Scan**, a streamlined feature allowing users to run a single-URL accessibility scan with a simplified results view
- **Added CSV export to the Blockers Table**, enabling users to download accessibility issue data for external reporting and analysis
- **Resolved recurring hung scan issues**, completing a full post-mortem analysis and implementing fixes for status tracking, error handling, and timeout management
- **Upgraded database infrastructure** from a micro to a large instance to prevent performance degradation and support production-scale usage

## Key Metrics

| Metric | Value |
|--------|-------|
| Tasks completed | **26** |
| Tasks remaining | 63 |
| New tasks added | 44 |
| Completion rate | **58%** |
| Code commits | **111** |
| Repositories with activity | **6** |
| Issue edits (activity) | 85 |
| Source issues | 4 |

*(Note: 44 new tasks were identified and added during the reporting period, which accounts for the expanded backlog.)*

## Completed Work

### Team

- Reviewed and triaged questions and issues raised during the introductory talk to determine which should be pre-screened for follow-up.

### T. Daniel

- Developed a simplified view of audit results and the Blockers Table, informed by feedback from the service team on what information is most critical for reports shared with Accessibility Liaisons.
- Built a new public-facing Blocker detail endpoint that returns individual blocker information, including the affected URL and remediation guidance, with links accessible from the audit Blockers Table.
- Created a specification for the WordPress plugin for B. Bertuccelli-Booth.
- Added toggleable column visibility to the Blockers Table, along with a simplified view mode.
- Fixed code formatting display in the Blockers Table.
- Resolved color contrast issues in the header and footer navigation menus.
- Fixed a bug preventing users from changing audit scan frequency.
- Added a Y-axis label to the Blockers Table graph.

### C. Aitken

- Launched Equalify Hub v1, including an "Updates" section with the latest Q&A responses.
- Implemented CSV export functionality for the Blockers Table.
- Added a "Not yet scanned" state message for audits that have not yet run their first scan.
- Replaced the login screen with a waitlist sign-up page.
- Removed the public feature request interface.
- Completed the Quick Scan feature, including a dedicated route, simplified audit view (removing scan frequency controls, graphs, and email notification settings), and proper URL scheme handling.
- Increased AWS soft quotas for Lambda concurrency, SQS, and database size in preparation for production rollout, and added WAF rate-limit configuration.
- Established sensible platform constraints, such as limits of 10,000 URLs per audit and 10,000 audits per user.
- Resolved the blank screen issue reported by a user, which was traced to resources reaching their configured limits.

## Notable Events

- **Feb 20** (C. Aitken): Completed a comprehensive fix for recurring hung scan issues. A full post-mortem document was prepared for reference, covering root causes and remediation steps.
- **Mar 3** (C. Aitken): On Friday, February 27, 2026, the team experienced degraded performance on the Equalify database. Core indexing issues were identified and resolved, and the database was upgraded from a t4g.micro instance to an m8g.xlarge instance to prevent future performance degradation under production workloads.

## Risks & Blockers

- **Hung scans (partially resolved):** Significant fixes were deployed in February, but additional edge cases remain under investigation, including scans that hang after a URL is deleted from an audit. Continued testing is underway.
- **Production email deliverability:** Reports from testing indicate potential email delivery issues in the production environment. Investigation is in progress.
- **AWS cost visibility:** A conversation is needed with university leadership to separate PDF-related costs from core Equalify costs within the shared AWS account and to establish budget ceilings and recommendations.
- **Database schema version control:** Version control for the database schema and Hasura metadata has not yet been implemented, which poses a risk for reproducibility and disaster recovery.

## In Progress & Upcoming

### Discussion

- Establish a regular monthly reporting cadence, aligned with the first week of each month and coordinated with DASE all-hands meetings.
- Validate scheduled scan functionality with ongoing test audits.
- Begin planning the onboarding sprint.

### Outstanding

- Implement filtering on the Audits listing page. *(T. Daniel)*
- Continue debugging remaining hung scan edge cases through additional testing. *(C. Aitken)*
- Correct the production URL configuration for Hasura. *(C. Aitken)*
- Resolve window scroll behavior when filters are changed. *(C. Aitken)*
- Investigate and resolve production email deliverability issues. *(C. Aitken)*
- Add documentation explaining how Equalify's crawling approach differs from other tools. *(C. Aitken)*
- Add user role documentation to the Equalify Hub. *(C. Aitken)*
- Complete the Remote CSV integration feature, including: adding a remote CSV field to audits, incorporating CSV configuration into the audit builder, fetching and parsing remote CSVs at scan time with error handling, merging imported URLs with existing audit URLs, and updating the audit screen to display URLs from the last scan and indicate external CSV mode. *(T. Daniel)*
- Add "Created by" attribution to the Audits listing screen. *(T. Daniel)*
- Add "Sort by Last Opened" and general sort functionality to the Audits listing. *(T. Daniel)*
- Coordinate a meeting with Helen and Michael to align on documentation workflow and clarify how Equalify communications, updates, and FAQs are managed across teams. *(C. Aitken)*
- Resolve rate-limit issues in the Equalify Hub. *(C. Aitken)*
- Separate PDF-related costs from core Equalify costs in the AWS account and establish budget guidance with university leadership. *(C. Aitken)*
- Implement database schema version control and Hasura metadata version control. *(C. Aitken)*
- Complete testing for the CSV integration feature prior to merge. *(C. Aitken)*

### Newly Identified Work

- Add wiki-style descriptive content to individual blocker pages, potentially maintained in an open-source repository.
- Replace custom-styled filter controls in the Blockers Table (Active/Ignore and HTML/PDF) with standard select boxes for improved visual consistency.
- Explore optional LLM-assisted generation of issue descriptions and remediation steps for individual blockers.
- Clarify the "Teams" section in the user roles documentation, which is currently causing confusion between the concept of a team feature and references to the Equalify instance itself.
- Document the specific rulesets used by veraPDF and axe-core scanning engines.
- Evaluate the equalify-uic-utilities repository for relevance and next steps.
- Improve the loading state for the summary view on large scans to provide better user feedback while data is being processed.
- Verify that the email delivery fix is working correctly in production.

## Development Activity

### Contributor Activity

| Contributor | Commits |
|------------|--------|
| T. Daniel | 47 |
| C. Aitken | 28 |
| D. Isaac | 21 |
| B. Bertuccelli-Booth | 14 |
| J. Ku | 1 |

### Active Repositories

| Repository | Commits |
|-----------|--------|
| [equalify](https://github.com/EqualifyEverything/equalify) | 60 |
| [equalify-reflow-docs](https://github.com/EqualifyEverything/equalify-reflow-docs) | 21 |
| [equalify-hub](https://github.com/EqualifyEverything/equalify-hub) | 10 |
| [raci](https://github.com/EqualifyEverything/raci) | 10 |
| [equalify-docs](https://github.com/EqualifyEverything/equalify-docs) | 6 |
| [equalify-uic-utilties](https://github.com/EqualifyEverything/equalify-uic-utilties) | 4 |

### Recent Commit Highlights

- Resolved the hung scans issue through improved status tracking, error handling, timeout reduction (now 15 minutes), and elimination of duplicate processing nodes.
- Implemented the Quick Scan feature, allowing users to scan a single URL through a dedicated, simplified interface with automatic HTTPS handling.
- Built the Remote CSV integration front-end and back-end, including a fetch and validation API, header row handling, and audit builder interface.
- Connected scheduled audit email notifications with deduplication logic and a shared email utility.
- Added search and filtering to the Audits listing screen, including case-insensitive search, filter-by-user functionality, "Created by" attribution, and an empty state display.
- Implemented CSV export functionality for the Blockers Table, along with a Y-axis label on the graph and improved button layout.
- Fixed color contrast issues introduced by recent global color changes and resolved various spacing inconsistencies across the interface.
- Improved page scroll behavior so the window only scrolls to the top on route changes, not on filter adjustments.

## Planned Sprints

### Infrastructure Sprint (1-2 weeks)

This sprint focuses on making Equalify deployable by any institution. The team will select an infrastructure-as-code framework, create build and deployment scripts, and produce technical documentation covering provisioning, deployment, and a developer-oriented introduction to the platform.

### Design and Maintenance Sprint (1-2 weeks)

This sprint will establish a cohesive visual direction for the platform, including branding guidelines, a component design system for interface consistency, dark mode support, mobile-responsive layouts, and a general code and style cleanup to reduce technical debt.

### Onboarding Features Sprint (1-2 weeks)

This sprint will deliver site onboarding capabilities, including a crawling service for new sites, integration of onboarding steps into the audit builder, support for external linked CSVs as a URL source for audits (enabling WordPress plugin integration), and a CSV-based user import feature.