richardkeep/nova-timenow
A Laravel Nova field that shows the current time and updates live in your resources and dashboards. Configure timezone and display format to add a real-time clock wherever you need it.
Whether internal admin ergonomics gets any budget at all. This package has zero customer-facing surface. The real decision it forces is whether "quality-of-life for operators" is a line item or a permanently deferred nice-to-have. At roughly an hour of engineering time, it's a cheap policy probe: ship it, watch whether anyone actually uses the ops dashboard, and let that evidence settle the argument before you commit real budget to internal tooling.
Build vs. buy (vs. vendor-and-own) for trivially small capabilities. The functional scope is a config array of IANA timezone identifiers, a render loop, and a view — on the order of 50 lines. Framing this as "buy vs. build" overstates it. The actual trade is "accept a low-signal third-party dependency inside our admin panel" versus "own code we can maintain forever at negligible cost." The right answer is usually decided by this sprint's engineering capacity, not by the package's merits, so surface it as a standing policy question rather than re-litigating it for every micro-package.
Global ops and follow-the-sun coordination. If support, on-call, or escalation paths span APAC/EMEA/AMER, a multi-timezone panel removes a recurring micro-friction from every scheduling decision. The value per interaction is small but compounds across the team and the year — and it's concentrated in the people who live in Nova daily, which is exactly the group whose friction rarely makes it onto a roadmap.
Dependency governance for the admin tier. Nine stars, zero dependents, a single maintainer, and a December 2024 release mean adoption is an explicit decision to carry an unvalidated supply-chain dependency into a system with privileged access to your data. Use this as the trigger for a written policy on which admin-tier packages require a fork/vendor step, rather than arbitrating case by case on star counts.
A due-diligence question that must be resolved before any estimate. The package metadata and the technical assessments disagree about what the artifact is: the description describes a field that stamps the current timestamp into date/time inputs, while the repo name and the assessments describe a dashboard card that displays clocks across timezones. These are different use cases with different value — data-entry accuracy versus at-a-glance awareness — and scoping a ticket against the wrong one burns a sprint. Resolving it is a 15-minute source read; the fact that it's necessary is itself a documentation-quality signal about the vendor.
Roadmap signal (weak, but real). Low adoption here says nothing about product direction. It does suggest your Nova instance is under-customized for operational use. If you adopt, batch it with other admin-panel improvements rather than shipping a single card as an initiative.
Consider it when:
Look elsewhere — or build the ~50 lines yourself — when:
php artisan nova:card and own it. Subclassing buys a merge conflict at the next Nova major for no benefit at this size.Carbon::now($tz). If a requirement needs timezone logic in the product, that requirement belongs in the product, not in a dashboard widget.EST, PST are not IANA zones and fail silently or throw depending on where conversion happens; US/Eastern is valid but deprecated).Cost of finding out is near zero, and that's the real argument. No migrations, no stored data, trivial rollback: deregister the card, composer remove, clear views, republish. Because rollback is free, trial it on a non-critical dashboard with real users for a week before deciding. The cost is one hour, not one project. The only recurring cost to flag is maintenance: cards ship compiled JS built against a specific Nova/Tailwind version, so "re-verify the timezone card" needs to go on your Nova upgrade checklist. Nothing upstream will test it for you.
To executives (one paragraph): This is a small, free widget for our internal admin panel that shows the current time across our teams' regions. It's not a product feature and it doesn't touch customers. The reason to consider it is that it's a one-hour, fully reversible experiment that tells us whether investing in internal tooling for our operators has any payoff — and the reason to be cautious is that it's a one-maintainer, nine-star dependency inside a privileged system. My recommendation is to trial it on a non-critical ops dashboard, pin the version, and decide based on whether anyone misses it when we remove it.
To engineering (the honest brief): Scope is roughly 50 lines: a config array of IANA timezone identifiers, a render loop, and a view. Two things to verify before anyone writes a ticket. First, read src/ — the package metadata describes a form field while the repo name and prior assessments describe a dashboard card, and those are different tickets. Trust the source over the README. Second, determine whether the time is computed server-side or in the Vue component; if it's the browser clock, we fork, because a screenshot of a skewed laptop clock is worse than no card at all. If we adopt it, we pin the tag, register it in a Dashboard class rather than globally (a card nobody asked for on the default dashboard is how admin panels accrete clutter), guard the timezone list with array_intersect against timezone_identifiers_list(), and add a re-verify step to the Nova upgrade runbook. If any requirement goes beyond display, we build our own card instead — at this size, owning it is cheaper than carrying the dependency.
The decision to make now, in one line: fund an hour to resolve what the artifact actually is and trial it on a scratch dashboard — or make the standing call that admin-tier micro-packages get forked rather than adopted, and skip the evaluation entirely. Either is defensible; drifting into adoption without deciding is not.
How can I help you explore Laravel packages today?