Every feature in Consequent is designed to eliminate ambiguity and promote shared understanding across your team. For the planners, we strive to make editing fluid and intuitive, and visuals clean and concise.
Start No Earlier Than (SNET)
We have sought to collapse elements with multiple meanings into simpler constructs wherever possible. Start (and End) dates exist in other systems confusingly as inputs in some contexts and calculated results in others (sometimes reciprocally updated when duration is changed). They are only derived elements in Consequent. Tasks by default start ASAP, unless a specific "Start No Earlier Than" (SNET) date is required, entered as a constraint.
Key Principle:
By default, work begins as soon as dependencies are satisfied. SNET dates are explicit constraints, not artifacts with dual meanings depending on context.
Tasks don't have "end dates" — they have FNLT alarms
We have removed the end date with a dual behavior (entered vs calculated) and replaced it with duration as the sole input (with convenience methods to calculate and roll-up durations). We have also changed the "Finish No Later Than" (FNLT) from a constraint to an alarm. This is different from the blocking behavior of other systems. Consequent flags and enumerates FNLT violations and explains their drivers, instead of blocking the user from making a violating change that may be necessary, but whose downstream effects cannot be simultaneously addressed. This more closely models real-world project scheduling workflows.
Want to "pin" a date?
Set the SNET and FNLT to the same date. This makes your constraint explicit and auditable.
Anything less is noise in 99% of cases
Our experience informs us that the hour is the right unit of measure for project tasks. Smaller units add complexity without value for the audience we serve. Consequent has no 1.999 hours, no 3.9999 days. Everything is x days and y hours.
For Instant Events:
Use milestones for "instant in time" tasks like permits, approvals, and go-live moments.
Simple, logical rules that eliminate opaque relationships
Task groups ("parents") are not valid predecessors or successors. Dependencies only connect leaf tasks so the logic stays explicit.
If a phase must finish before another begins, link the successor to a specific child task or a dedicated milestone like "Phase A complete."
Individual tasks can be predecessors or successors of other tasks. Keep dependencies between leaf tasks for clarity.
Why These Rules Matter
Parent tasks have no intrinsic work — their dates are derived from children. Allowing dependencies on parents would silently expand into many child-level links and make structural edits change scheduling logic. Keeping dependencies on leaf tasks preserves explicit, auditable intent.
A deliberate design choice
In practice, we observe that the same real-world situation is modeled in incompatible ways across different planners and teams:
Option 1
A single activity: "setting + curing"
Option 2
Activity + undocumented lag
Option 3 ✓
Two explicit activities: "setting" → "curing"
Why Prefer Explicit Activities?
All three describe the same reality, but only (1) and (3) are explicit and communicable. Lag introduces a second, hidden language for expressing time, fragmenting shared understanding and making plans harder to read, explain, and lint.
Consequent encourages explicit temporal activities. This slightly increases verbosity, but improves clarity, auditability, and consistency across teams. To offset verbosity, Consequent provides strong visual grouping and compression, so explicit phases remain readable without hiding meaning.
Rare constraint types in traditional PM tools hide what's actually happening. Consequent maps these cleanly to visible, named milestones.
Visible on the Gantt
Milestones appear prominently, not buried in constraint dialogs
Can be named
"Permit issued", "Go-live allowed" — explicit and communicable
Participate in dependencies
Milestones work with the same dependency logic as tasks
Make schedule pressure explicit
Everyone can see critical moments in the timeline
Built for speed, reliability, and global distribution
Ultra-fast and state-of-the-art compiled F# engine.
Multiple edge deployments with independent databases ensure low-latency performance and automated failover across regions.
Enterprise tools have become powerful over decades of feature accumulation, but also carry legacy ambiguities and configuration overload. Consequent aims to be a poweful and streamlined tool, highly useful from day 1.