GOV web apps
Digital experience evaluation at scale
Index

motivation
As Tech Lead at California's Office of Data and Innovation I noticed:
Government stakeholders often have blindspots around the digital experience quality of web applications they hire vendors to deliver
cloud architecture
AWS Tools
- ArchitectJS
- Reproducible deploys
- AWS Lambda
- AWS Events
- AWS schedules (cron)
Open source
- NLP libraries
- Axe Core
- CrUX data
- VeraPDF
- Lighthouse
qa checks
- Playwright end to end tests
- Discord notifications
ArchitectJS
Community governed framework offers production equivalent dev environments for AWS Lambda/DynamoDb projects
The app.arc config file is a shorthand for AWS sam.json (Serverless Application Model) reproducible full cloud model setup instructions
@app
hello
@http
get /
get /likes
post /likes
@events
hit-counter
@scheduled
daily-affirmation rate(1 day)
@tables
likes
likeID *String
@tables-indexes
likes
date *StringLambda farms out expensive audit work via SNS Subscriptions to custom apps
AWS
Scale up and down cost effectively with Lambda, DynamoDB, SNS
1
HTML Accessibility
axe-core analysis
2
HTML Performance
Chrome User Experience Report (CrUX) data retrieval
3
HTML Performance
Lighthouse lab audit if no CrUX data
5
PDF Accessibility review with VeraPDF auditor
4
Robots, Sitemap, OpenGraph
Custom scripts review AI friendliness, SEO, Social
6
Readability
Custom scripts based on NLP packages extract text, evaluate ARI, FK
- Playwright Based
- End to End Tests
- Part of build process
Testing
- Audit success/failure
- AWS Resource health
- Report to Discord
- Error, Log Channels
Observability
ca.gov subdomains
interesting discoveries
- AI friendliness
- Readability
- Accessibility
- Performance
ai friendliness
AI crawlers have been blocked without full organization awareness
# robots.txt for https://virginiabeach.gov/
https://virginiabeach.gov/sitemaps-2-sitemap.xml
# live - don't allow web crawlers to index cpresources/ or vendor/
User-agent: *
Disallow: /cpresources/
Disallow: /vendor/
Disallow: /.env
Disallow: /cache/
# Disallow ChatGPT bot, as there's no benefit to allowing it to index your site
User-agent: GPTBot
Disallow: /
User-agent: bingbot
Disallow: /readability
The average readability index of content on government sites is 10

accessibility
The most commonly detected accessibility issues are easily remedied
.with-pseudo {
&::after {
content: '';
position: absolute;
inset: -0.5rem;
}
}
Performance
90% of government websites have performance issues

- Poor performance reduces success rates
-
The most vulnerable population suffer the most from slow web application
- Everyone experiences performance constraints at some point in time
- Performance is not backed by government guidance like accessibility
Creating complex web applications is easier than ever.
Which is great, but our no/low code tools often output apps with performance problems.
web performance
performance problems i've dealt with in different types of web apps
mpa + widgets
Multi page applications with embedded highly interactive widgets
cms/static
The majority of sites where content is published regularly and delivered with basic interactivity
spa
Single page applications
Standard WordPress with Custom Gutenberg Blocks based on design system
CMS / static sites


11ty
innovation.ca.gov
WordPress
cannabis.ca.gov
-
Manage tracking scripts
-
Avoid unnecessary frameworks
Static Site Generator frontend, headless WordPress backend
covid19.ca.gov
MPA + widgets


>

Dashboard migration from Tableau to Web Components
- Leverage web platform
- Use light components
- Build steps trim JS, CSS
- Build step size monitoring


All chart elements available
to screen readers
Easily manage deep translations
Additional benefits of web component architecture
my.scangov.com
free tools
SPA

- small Preact framework
- Lightweight components
- Small state manager
- route based code splitting
- depend heavily on APIs

differentiation
Helping government stakeholders gain awareness of digital experience quality helps them serve the public
Teams which can deliver high performance apps and help train the next generation of code creation tools will have a big impact on the quality of services.
Minimal
By Aaron Hans
Minimal
- 21