← Back to Blog

Apache Workflow Automation: What a Small Business Can Run

· 21 min read A tabletop machine of brass rollers and gears moving paper envelopes past open cardboard boxes on a dark navy stand.

Apache Hop is worth a look if you repeatedly clean and combine business files. Airflow and NiFi need an IT provider. The other projects here are specialist systems or parts your developer builds into software.

Start with the task that someone repeats after closing: matching supplier files, preparing tomorrow's delivery list or checking that yesterday's sales reached the reporting database. Write down what arrives, what should leave and who notices when it fails. That description is more useful than choosing an automation platform first.

A free license can be a good deal when you already have the skills and need control over your data. It can be an expensive way to avoid a small subscription when you only need two cloud applications to talk. The examples below deliberately include cases where the subscription wins.

We read the official documentation and pricing on October 29, 2026. We have not installed these projects for this series. Every business below is an illustration, not a customer story. Installation sizes describe a starting point; they do not promise throughput or uninterrupted service.

October 30, 2026 update: added setup time and costs when an AI agent does the typing.

The eleven projects in this group

Scroll to compare columns and rows when the table extends beyond the box.

Project What it does Who runs it Latest release and date
Apache Airflow Schedules data jobs and tracks whether each step finished successfully. Your IT department or provider 3.3.2; 2026-09-17
Apache Camel Connects applications and translates messages between their different formats. Your developer 4.23.0; 2026-10-15
Apache Dolphinscheduler Schedules data workflows and coordinates their dependencies across systems. Your IT department or provider 3.4.3; 2026-09-06
Apache Gobblin Collects data from many sources and prepares it for analysis. Your IT department or provider 0.17.0; 2023-06-14
Apache Hamilton (Incubating) Organizes data transformations into reusable Python workflows with visible dependencies. Your developer 1.90.0-incubating; 2026-04-25
Apache Hop Designs visual workflows that clean, transform and move business data. You 2.19.0; 2026-08-17
Apache InLong Collects and moves incoming data into storage and analysis systems. Your IT department or provider 2.4.0; 2026-08-13
Apache KIE (Incubating) Provides rules, decisions and workflow tools for developers building business automation. Your developer 10.2.0; 2026-04-28
Apache NiFi Moves and transforms data between systems through a visual flow editor. Your IT department or provider 2.12.0; 2026-09-13
Apache SeaTunnel Copies and transforms data between databases, files and analytics systems. Your IT department or provider 3.0.0; 2026-09-29
Apache Synapse Routes and transforms messages between business applications and services. Your IT department or provider 3.0.2; 2023-05-10

The table preserves the series catalog's releases. Camel's date is an artifact modification date for its representative Core release; maintained LTS branches also exist. Hamilton's date is an artifact date. Gobblin's June date is its source archive timestamp; the homepage announced it in August 2023. These dates do not all mean the same thing.

Hamilton and KIE are incubating. Under the Apache Incubator policy, incubation means the projects are still developing their community and governance and are not yet fully endorsed by the ASF. It is not a production readiness guarantee.

Hop: stop rebuilding the same spreadsheet every morning

Hop gives you a visual editor for pipelines that read, transform and write data. A workflow controls when those pipelines and other actions run. The difference matters: changing a date column is a data transformation; waiting for the supplier's file before making the stock report is orchestration. You can inspect the steps without turning the whole job into a custom application.

For example, a six person plumbing company says its parts report takes too much copying. It receives one supplier CSV and exports yesterday's jobs. A helper would build a Hop pipeline that matches part numbers, rejects unknown codes and produces a review sheet. On a normal morning the dispatcher checks exceptions instead of pasting columns. Our small-server case below budgets $92 to $229 monthly, including time, plus setup. The purchase decision should depend on how much copying actually disappears.

For example, a bakery with two shops and twelve employees needs tomorrow's ingredient order from two till exports. It would use separate input files, consistent product codes and a final totals sheet. The baker still approves the order. Both examples assume one modest workflow with 100 to 300 monthly billable actions if implemented in the competing cloud product, and 50 to 100 GB of retained backup copies. Those are our assumptions, not measurements. The bakery uses the same cost range; employees do not each need an automation subscription seat for this example.

The Hop installation guide says to install Java 21, download the distribution and unzip it. Its configuration guide says one CPU core and 4 GB RAM should suffice for the default distribution, while acknowledging smaller configurations are possible. That is why we budget the shared 4 GiB server. You still need someone who understands file permissions, database connections, column types and failed jobs.

The download page confirms 2.19.0, released August 17, 2026. Start with that page and the installation guide. Use an ordinary local pipeline before considering remote engines. The download page labels Hop Web work in progress; a browser interface should not be assumed to have the same readiness as the desktop tools.

For an alternative, Zapier Professional advertises a starting price of $19.99 per month with annual payment. Our comparison assumes the required connectors and task allowance fit that entry plan, with zero incremental setup cost on the SaaS side. Confirm the actual task quote: a row, a workflow run and a billable action are different units. This is a purchase alternative for a small file-to-app job, not a claim that Zapier reproduces every Hop transformation.

Scroll to compare columns and rows when the table extends beyond the box.

Cost over 36 months Low assumption High assumption
Self hosted setup $272 $817
Self hosted monthly $92 $229
Self hosted 36 months $3,598 $9,057
Zapier Professional 36 months $720 $720
Self hosted savings Negative $2,878 Negative $8,338
Break even month never never

Here the low calculation is 4 × $68.09 + 36 × ($24 + $0.278 + 1 × $68.09) = $3,598. Zapier is 36 × $19.99 = $720. The high calculation uses 12 setup hours, three monthly hours and $0.6255 storage. Self hosting never breaks even at this subscription price. SaaS workflow design still takes time; add a quote for it if the job needs one rather than treating our zero setup assumption as a promise.

Skip Hop when the source files change unpredictably, nobody owns the data definitions or a built-in app export already answers the question. Before scheduling it, test an empty file, a repeated file and an unexpected product code. Keep the original input and a rejected-row list. A job that finishes successfully can still produce the wrong purchase order.

Airflow: know which overnight step failed

Airflow schedules workflows expressed in Python and records task execution. It suits dependencies such as waiting for an export, loading a reporting table and then running a check. It does not decide how to reconcile your books or supply every connector without configuration. The official quick start is a learning route, not permission to expose the demonstration to the internet.

For example, a fifteen person independent retailer with one shop and an online store wants stock reports ready before opening. Its developer would define separate tasks for inventory import, order import and reconciliation, with a failed reconciliation stopping publication. The morning changes from asking which script ran to reviewing one failed task. Our single-host IT budget is $116 to $253 monthly plus $272 to $817 setup, before writing the actual business workflow.

For example, a ten person delivery company receives shipment files each evening. A provider would schedule route preparation only after all expected files arrive and send the dispatcher a failure notice if one is absent. The dispatcher still decides what to do about a missing customer. This example uses the same budget and our assumption of one low-volume workflow. Neither business should infer that the infrastructure allowance covers a custom routing algorithm or storefront integration.

Airflow prerequisites recommend at least 4 GB memory, with actual requirements depending heavily on deployment. Production runs on Linux; the page explicitly says not to use SQLite in production. A small installation needs a supported metadata database, service configuration and Python package management. Our 8 GiB single-host budget leaves more room than the stated starting recommendation, but it is our sizing assumption, with one server at both ends. It buys no failover. A separate database or worker changes the price.

Use the installation documentation, including its supported installation methods and dependency constraints. The release notes confirm 3.3.2 dated September 17, 2026. Pin the application and provider package versions, rehearse upgrades and retain a recoverable metadata database. Scheduling tools need patching even when the scheduled jobs look uneventful.

For these deliberately simple app workflows, the alternative remains Zapier Professional at the verified annual starting price of $19.99 monthly. If your work requires arbitrary Python dependencies, backfills or a substantial data platform, this plan is not equivalent and the comparison should stop. Obtain a managed Airflow quote for that scope instead; we do not substitute an invented price for it.

Scroll to compare columns and rows when the table extends beyond the box.

Cost over 36 months Low assumption High assumption
Self hosted setup $272 $817
Self hosted monthly $116 $253
Self hosted 36 months $4,462 $9,921
Zapier Professional 36 months $720 $720
Self hosted savings Negative $3,742 Negative $9,202
Break even month never never

The low monthly formula is $48 + $0.278 + $68.09 = $116.368. Use the same setup and administration range as a single-server installation, not the cluster range, because this illustration has no cluster. Both examples lose the subscription comparison. Outside IT providers bill above the employee compensation proxy used here; their quote can widen that gap.

Skip Airflow if the entire job is sending a lead notification after a form submission. Start with the application's native automation or a modest SaaS workflow. If you do need Airflow, test rerunning yesterday's task. A retry must not charge a customer twice or append the same shipment twice. That safety belongs in the task design, beyond the scheduler's ability to retry.

NiFi: see where a file is waiting

NiFi moves data through processors and queues in a visual editor. It can help an operator see backlogs and follow data through a flow. That makes it useful when inputs arrive continuously and destinations sometimes stop accepting work. The queue is also a responsibility: disk space, retention and access rules determine what happens during an outage.

For example, an eighteen person machine shop receives inspection files from several workstations. Its provider would validate filenames and columns, quarantine malformed files and send accepted records to an existing reporting system. The supervisor sees the rejection queue during the morning check. Our low-volume one-host assumption costs $116 to $253 monthly plus setup, excluding the connector and validation development.

For example, a property manager with eight employees and two offices gets routine maintenance exports from a contractor portal. It would collect those files, remove unnecessary personal fields and place a consistent summary into its work queue. Staff review the summary rather than reopening several exports. The same one-host cost applies only while the file volume fits the measured disk and memory envelope. A photo archive or long retention period needs a different storage estimate.

The NiFi administration guide requires Java 21 and explains that hardware depends on the flow. It publishes no universal CPU or RAM minimum. It specifically calls out space for the content, FlowFile and provenance repositories. Our 8 GiB server is therefore a planning test size, not an Apache minimum. One server can run NiFi; a production cluster is a separate design.

The official install route is to extract the binary distribution, configure the service and start it using its supplied scripts. Secure the web interface, separate operator privileges and preserve the configuration secrets needed to recover protected values. The download page lists NiFi 2.12.0 dated September 13, 2026. It also warns that 1.28 was the last minor release of the older line, so an old tutorial is a poor starting point.

For the property manager's modest supported connector workflow, compare the same $19.99 annual-payment Zapier starting plan. For the machine shop, this comparison is useful only if its files can legitimately leave the network and the required integration is supported. It is not a substitute for pricing a managed data flow service at industrial volume.

Scroll to compare columns and rows when the table extends beyond the box.

Cost over 36 months Low assumption High assumption
Self hosted setup $272 $817
Self hosted monthly $116 $253
Self hosted 36 months $4,462 $9,921
Zapier Professional 36 months $720 $720
Self hosted savings Negative $3,742 Negative $9,202
Break even month never never

The calculation uses one $48 server, 50 to 100 GB retained backups and the single-server labor range. It therefore matches Airflow's budget but not its behavior. Negative savings mean the cloud app option costs less over 36 months. A local-data requirement may justify paying more; it should be recorded as a requirement, rather than relabelled as savings.

Start with one non-sensitive sample flow and deliberately stop the destination. Measure queue growth, restore service and confirm every expected record arrived once. Skip NiFi if nobody can explain the queue's recovery and retention settings. Moving the error from a spreadsheet into a server does not make it disappear.

Needs your IT department or a provider

The following staffing ranges are our assumptions from the same cost method. They cover platform care, not building connectors. A low subscription price is only an alternative when its connectors and usage allowance actually cover the business job.

DolphinScheduler offers a visual scheduler. Its official standalone instructions describe a learning setup with an in-memory database and embedded coordination service; they recommend cluster or Kubernetes deployment for production. The cluster instructions distribute components across hosts but do not establish one universal business hardware minimum. Budget 6 to 16 administration hours monthly for a small cluster and ask for node sizing. A twenty person manufacturer already running data jobs might justify it. For a simple supplier notification chain, Zapier Professional starts at $19.99 monthly with annual payment; it is not a managed DolphinScheduler host.

Gobblin is for data ingestion and preparation. Its deployment guide documents a standalone single-machine mode as well as distributed modes, without a workload-independent RAM minimum. The page also carries old Java and Hadoop references: ask the provider to reconcile those with the chosen release before purchase. Allow 1 to 3 monthly administration hours for a modest standalone service, or 6 to 16 for a cluster. A regional delivery firm combining several operational feeds might justify it. A small supported app-to-table transfer can instead start with Zapier's $19.99 annual-payment plan; it does not replace bulk ingestion at scale.

InLong joins data collection with messaging and processing services. Its standalone guide still requires database, Flink, Docker and a supported message queue. That is the smallest documented starting stack, not a single ready-to-use business app, and the guide gives no universal RAM minimum. Use the cluster staffing range of 6 to 16 monthly hours for that operational burden. A growing ecommerce brand with an existing event platform may need it. A basic order-notification use case can use the same verified Zapier starting plan; continuous ingestion needs a separate managed quote.

SeaTunnel copies and transforms data between systems. Its current quick start distinguishes local single-machine validation from cluster deployment. The provider must size the runtime and source database load; the page does not give a universal hardware floor. Our staffing allowance is 1 to 3 hours monthly for a small local job or 6 to 16 for a distributed service. A wholesaler consolidating catalog feeds might justify it. Zapier Professional's $19.99 annual starting plan is a possible alternative for a small supported app workflow, not a price for database replication.

Synapse routes and transforms service messages. Its deployment guide offers a standalone binary or servlet deployment; the smallest topology is one service host with the necessary Java runtime. It gives no current numerical hardware minimum and contains older component references. Require a supported dependency inventory before using it. Budget 1 to 3 hours monthly for a modest single service, plus separate integration work. An auto repair chain connecting an older supplier service may meet it through a vendor. For an ordinary cloud-app connection, Zapier's verified $19.99 annual starting plan is easier to price; it does not implement arbitrary legacy service mediation.

Your developer's toolbox

Camel is a framework for writing integration routes. You meet it inside a supplier portal or a custom stock connection; ask the developer which maintained Core or LTS line is used. Hamilton (Incubating) organizes Python transformations and their dependencies, so a report can be reproduced from code. KIE (Incubating) supplies rules, decisions and workflow components for applications. A rules engine can encode your discount policy, but someone must test what happens at its boundaries. None of these is an owner-operated replacement for an accounts or scheduling application.

What the cost estimates include

Our assumptions use the series research read October 29, 2026: $68.09 per hour for administration, derived from the BLS administrator wage of $47.66 divided by the 70.0% wages share of compensation. This estimates employee compensation. An outside provider bills more; get a quote.

DigitalOcean monthly prices are $24 for 2 vCPU and 4 GiB RAM, or $48 for 4 vCPU and 8 GiB RAM. Backblaze B2 is $6.95 per decimal TB per month, with the first 10 GB free. Our low and high backup assumptions are 50 and 100 GB retained, including versions: (50 minus 10) × $0.00695 = $0.278, or (100 minus 10) × $0.00695 = $0.6255 monthly. We assume no chargeable excess transfer or API calls. Check both providers' allowances before moving large files.

For one server, our low and high labor assumptions are 4 and 12 setup hours, then 1 and 3 administration hours per month. For a small cluster they are 24 and 60 setup hours, then 6 and 16 hours per month. These are planning ranges, not measured installation times. Custom development, data cleanup, migration, training, compliance reviews and major incidents are excluded. Budget those separately on both sides.

Setup = hours × $68.09. Monthly = server charges + backups + administration hours × $68.09. The 36 month total = setup + 36 × monthly. Savings = alternative total minus self hosted total. Break even = setup difference divided by monthly savings, rounded up, only when monthly savings are positive. Displayed totals are rounded to whole dollars; calculations retain cents. Prices are US dollars before tax, read October 29, 2026.

Setup time when Claude or ChatGPT does the typing

We keep the plumbing company's Hop example: one $24 server and 50 to 100 GB of retained backups. These are our planning assumptions, not measured installs. Low/high setup shares are 50%/80% of manual hours; monthly shares are 75%/100%. AI hours include prompting, correction and review: 1 to 3 setup hours and 0.5 to 1.5 monthly hours are human review within those totals.

Scroll to compare columns and rows when the table extends beyond the box.

Hop planning case Low High
Manual setup hours 4 12
AI setup hours, including review 2 9.6
Manual monthly admin hours 1 3
AI monthly admin hours, including review 0.75 3
Manual 36 month total $3,598 $9,057
Claude Pro subscription 36 month total $3,049 $9,094
ChatGPT Plus subscription 36 month total $3,049 $9,094
API: Claude Opus 5.5 36 month total $2,863 $9,008
API: GPT-6 Astra 36 month total $2,886 $9,179

Here S/A are manual setup/monthly hours, q/r the AI shares, L = $68.09/hour and H = $24 plus $0.278/$0.6255 backups. T0/Tm are setup/monthly tool fees. We calculate before rounding totals to whole dollars.

Manual total = S x L + 36 x (H + A x L)
AI total = S x q x L + T0 + 36 x (H + A x r x L + Tm)
API fee = (uncached input x input rate + cache writes x write rate
           + cache reads x read rate + output x output rate) / 1,000,000

Claude Pro and ChatGPT Plus each cost $20 monthly as read October 29, 2026. We charge a separate setup month, then allocate 25%, or $5 monthly, for 36 operating months only if other work uses the remainder. Dedicated use adds $540. Included coding usage has limits; check allowances and price extra usage. Matching prices do not imply matching results.

The API view uses separate token billing without subscription fees or credits. Our assumed setup input/output is 200,000/20,000 to 1,000,000/100,000 tokens; monthly budgets are half. Low input is 30% ordinary, 10% short cache writes and 60% reads; high input is uncached. The kit lists Claude and OpenAI rates and charges.

Claude Code or Codex could draft Hop launch commands and check configuration changes. Desktop Commander could install Java and Hop, edit configuration and read pipeline logs on the authorized server. Its free local service is included here; optional paid Remote access is extra. Claude in Chrome could inspect the provider panel and Cloudflare records while you watch; Hop's desktop editor remains separate. ChatGPT's verified browser option is its separate cloud browser, subject to availability.

Use a staging server, keep secrets out of chat and approve commands or use a restricted sandbox. Watch dashboard actions; use subscriptions for supported tools under human direction and API keys for custom automation. Review changes, test rejected rows and restore a backup; you retain responsibility for updates and the final decision.

Zapier still wins at $720 over 36 months; none of these Hop cases breaks even against it. The high subscription case even exceeds manual Hop by $37 because monthly labor does not fall.

Risks, support and a safe first week

Automation credentials can change records in several systems. Give each flow only the permissions it needs, keep secrets out of exported configuration and remove customer details from diagnostic logs. A retry should be safe to repeat. A successful exit should also check row counts, rejected records and the business date; those checks catch mistakes that availability monitoring misses.

Read Hop security notices, Airflow security guidance, NiFi advisories and the ASF security page. Check the last release, current mailing-list activity and retirement notices before commissioning work. A quiet project may fit a stable existing system, but an old release is a reason to investigate support, not evidence that patching has finished forever.

Hop's support page links its commercial offerings directory and explains that volunteer help has no promised response time. Ask a provider for a response commitment, supported versions, recovery scope and who owns the workflow files when you leave. A vendor listing is not an ASF endorsement.

The Apache License 2.0 allows commercial use and modification subject to its terms, including notice obligations when distributing software. It provides no warranty and does not grant trademark rights. This is a practical summary, not legal advice.

In the first week, agree on one output, test bad inputs, run beside the current process and restore a backup into an isolated test system. Keep the old process available until the owner accepts the result. This approach fits the small-business budgeting theme of The $97 Launch: decide what useful work you are buying before buying more infrastructure.

Download the kit

The workflow automation kit includes a Hop starter card, provider questions for the other operational projects, the complete table and the worked cost worksheet.

Related reading

Fact-check notes and sources

  1. Apache Airflow. Read October 29, 2026, 21:12 UTC.

  2. 3.3.2; 2026-09-17. Read October 29, 2026, 21:39 UTC.

  3. Apache Camel. Read October 29, 2026, 21:12 UTC.

  4. 4.23.0; 2026-10-15. Read October 29, 2026, 21:20 UTC.

  5. Apache Dolphinscheduler. Read October 29, 2026, 21:13 UTC.

  6. 3.4.3; 2026-09-06. Read October 29, 2026, 21:13 UTC.

  7. Apache Gobblin. Read October 29, 2026, 21:13 UTC.

  8. 0.17.0; 2023-06-14. Read October 29, 2026, 21:25 UTC.

  9. Apache Hamilton (Incubating). Read October 29, 2026, 21:13 UTC.

  10. 1.90.0-incubating; 2026-04-25. Read October 29, 2026, 21:26 UTC.

  11. Apache Hop. Read October 29, 2026, 21:13 UTC.

  12. 2.19.0; 2026-08-17. Read October 29, 2026, 21:38 UTC.

  13. Apache InLong. Read October 29, 2026, 21:13 UTC.

  14. 2.4.0; 2026-08-13. Read October 29, 2026, 21:14 UTC.

  15. Apache KIE (Incubating). Read October 29, 2026, 21:13 UTC.

  16. 10.2.0; 2026-04-28. Read October 29, 2026, 21:18 UTC.

  17. Apache NiFi. Read October 29, 2026, 21:13 UTC.

  18. 2.12.0; 2026-09-13. Read October 29, 2026, 21:38 UTC.

  19. Apache SeaTunnel. Read October 29, 2026, 21:39 UTC.

  20. 3.0.0; 2026-09-29. Read October 29, 2026, 21:15 UTC.

  21. Apache Synapse. Read October 29, 2026, 21:13 UTC.

  22. 3.0.2; 2023-05-10. Read October 29, 2026, 21:22 UTC.

  23. Apache Incubator policy. Read October 29, 2026, 21:38 UTC.

  24. Hop installation guide. Read October 29, 2026, 21:39 UTC.

  25. configuration guide. Read October 29, 2026, 21:39 UTC.

  26. Zapier Professional. Read October 29, 2026, 21:38 UTC.

  27. quick start. Read October 29, 2026, 21:38 UTC.

  28. Airflow prerequisites. Read October 29, 2026, 21:38 UTC.

  29. installation documentation. Read October 29, 2026, 21:38 UTC.

  30. release notes. Read October 29, 2026, 21:38 UTC.

  31. NiFi administration guide. Read October 29, 2026, 21:38 UTC.

  32. official standalone instructions. Read October 29, 2026, 21:39 UTC.

  33. cluster instructions. Read October 29, 2026, 21:40 UTC.

  34. deployment guide. Read October 29, 2026, 21:38 UTC.

  35. standalone guide. Read October 29, 2026, 21:40 UTC.

  36. current quick start. Read October 29, 2026, 21:39 UTC.

  37. deployment guide. Read October 29, 2026, 21:40 UTC.

  38. BLS administrator wage. Read October 29, 2026, 21:12 UTC.

  39. 70.0% wages share of compensation. Read October 29, 2026, 21:17 UTC.

  40. DigitalOcean monthly prices. Read October 29, 2026, 21:10 UTC.

  41. Backblaze B2. Read October 29, 2026, 21:10 UTC.

  42. Hop security notices. Read October 29, 2026, 21:39 UTC.

  43. Airflow security guidance. Read October 29, 2026, 21:39 UTC.

  44. NiFi advisories. Read October 29, 2026, 21:38 UTC.

  45. ASF security page. Read October 29, 2026, 21:39 UTC.

  46. Hop's support page. Read October 29, 2026, 21:40 UTC.

  47. Apache License 2.0. Read October 29, 2026, 21:39 UTC.

  48. Claude subscription pricing. Read October 29, 2026, 23:31:08 UTC.

  49. ChatGPT subscription pricing. Read October 29, 2026, about 23:27 UTC in a regular browser.

  50. Codex CLI. Read October 29, 2026, 23:32:01 UTC.

  51. Codex plan access and limits. Read October 29, 2026, 23:31:16 UTC.

  52. Desktop Commander. Read October 29, 2026, 23:31:09 UTC.

  53. Desktop Commander pricing. Read October 29, 2026, 23:31:08 UTC.

  54. Desktop Commander permissions and server setup. Read October 29, 2026, 23:31:41 UTC.

  55. Claude in Chrome. Read October 29, 2026, 23:31:11 UTC.

  56. Claude in Chrome permissions. Read October 29, 2026, 23:31:09 UTC.

  57. ChatGPT cloud browser. Read October 29, 2026, 23:32:01 UTC.

  58. Claude API pricing. Read October 29, 2026, 23:31:14 UTC.

  59. OpenAI API pricing. Read October 29, 2026, 23:31:13 UTC.

  60. OpenAI prompt caching. Read October 29, 2026, 23:32:00 UTC.

  61. Anthropic Consumer Terms. Read October 29, 2026, 23:31:08 UTC.

  62. OpenAI Terms of Use. Read October 29, 2026, about 23:27 UTC in a regular browser.

Apache, the Apache feather logo and the Apache project names are trademarks of The Apache Software Foundation. This site is not affiliated with or endorsed by the ASF. Other product names are used for identification only.

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility Statement • Privacy Policy

Last updated: April 2026