This GN approach expects a plain, un-bevelled curve as input:
It lets you set the shape of the pulse, and animate the diameter of the bevel, the pulse's position, length and diameter.
.. looking back at this, you may also want to expose the curve's resampling length, to make the group more adaptable to scale.