Create a cron expression builder and visualizer that turns cron's terse time-field syntax into something people can genuinely read, shape, and verify. The heart of the tool is a live loop between three views of the same schedule: the raw expression itself, a fluent human-readable explanation, and concrete upcoming run times — so a visitor can paste a cryptic string like `*/15 8-18 * * 1-5`, see it rendered as a plain sentence, watch the builder controls snap to match, and confirm against the next 10 exact timestamps that the schedule fires when they expect.
Build the expression builder as the primary working surface. Give each of the five standard fields — minute, hour, day of month, month, day of week — its own approachable control where visitors can choose between "every", specific values, ranges, and step intervals, with multi-select days and months presented as friendly labeled chips rather than bare numbers. Changes in any control should update the expression live, and edits to the raw expression should flow back the other way just as smoothly, with the active parts of each field visually tied to their meaning. Include a preset gallery of the schedules people actually reach for — every minute, hourly, daily at a set time, weekly on a chosen weekday, weekday mornings, monthly on the 1st, and similar — as one-click starting points. Also accept the common forms people paste without thinking: `@daily`, `@hourly`, `@weekly`, `@monthly`, `@yearly`, 6-field expressions with seconds, and day and month names like `MON` and `JAN`.
Treat correctness as the product. The human-readable explanation must read like a sentence a careful colleague would write — handling steps, ranges, lists, and the notoriously confusing day-of-month and day-of-week interaction, where restricting both fields means OR rather than AND — not a mechanical field-by-field concatenation. The next 10 run timestamps must be computed exactly, not estimated, with timezone awareness: let the visitor see times in their own local timezone and switch to others, and make daylight-saving transitions behave sensibly. Invalid or impossible expressions deserve inline, field-specific diagnosis that says what is wrong and how to fix it, never a silent failure or a wall of jargon.
Make the visualization earn its place. Beyond the textual readout, show the schedule's shape at a glance: which minutes, hours, and days light up, how a month's calendar looks under this schedule, and where the next runs land on a small timeline, with hover and focus states that tie each visual element back to the field and sentence that produced it. The visuals should update instantly as the expression changes, and they should stay legible for edge cases — sparse schedules, dense every-minute schedules, and month boundaries.
Give the tool a comfortable, focused working atmosphere with responsive layout from phone to desktop, keyboard-friendly operation, accessible labels and contrast, sensible copy-to-clipboard feedback, and the small touches of a well-made instrument: careful typography for the monospace expression, gentle state transitions, and no dead ends anywhere in the interface.
Do not take shortcuts or settle for a generic converter widget. This skill imposes no token budget limit, so pursue the full depth of the experience — parsing breadth, explanation quality, timestamp precision, visual clarity, and the secondary interactions and edge states — and keep refining until the tool feels authored, dependable, and complete.