mouse move will move the point on the curve, shown by red dot. The unit tangent is in cyan, the unit normal in magenta. The osculating circle is shown. Text below gives more explainations
This probably will not be interative on a phone, since it responds to mouse.
Since writing this page in 2021, I decided it is easier just to write examples in Desmos, which has the advantage that students can easily edit the example. Here is a desmos example of the same curve as below, which you can easily edit.

download image
mouse:


take a=1
f(t) = (t,sin(t)) (red dot)
f' (t) = (1,cos(t)) (blue tangent line)
|f'(t)| = 1 + cos(t) 2
T(t) = f'(t) 1 + cos(t) 2 (cyan line, normalized tangent direction; x,y components are marked and coloured depending on whether they are increasing or decreasing)
N(t) is the magenta line; this is normalized, and perpendicular to the tangent vector T(t); so either
N(t) = (-cos(t),1) 1 + cos(t) 2
or
N(t) = (cos(t),-1) 1 + cos(t) 2

the direction is determined by observing whether x and y components of T(t) are increasing or decreasing. Note N(t) is not well defined when T'(t)=0, and the direction changes at these points.
Computation of N(t) algebraically:
Let R(t)=|f'(t)|
R' = -cos(t) sin(t)/R
f''=(TR)'=T'R + TR'
use double angle formula, and f' from above:
(0,-sin(t))=T'R - T sin(2t)/(2R)
Let's look at x component of T'; call this T'x. Let the x-component of T be Tx
T'x = Tx sin(2t)/(2R2)
Use T=f'/R from above
T'x =sin(2t)/(2R3) =sin(t)cos(t)/R3
This can now already be used to tell us what N(t) is, since R is always positive, so the sign of N(t) is determined by the sign of sin(2t)
But let's compute the y component to double check everything:
-sin(t) = T'y R + cos(t)R'/R = T'y R - cos(t)2sin(t)/R2
so
T'y = (cos(t)2sin(t)/R2 -sin(t))/R
T'y = (cos(t)2sin(t) -sin(t) - sin(t)cos(t)2)/R3 =-sin(t)/R3
putting this together with the x-component gives
T'=sin(t)(cos(t),-1)/R3
So now we easily see that T' is the zero vector when sin(t)=0.
and since |(cos(t),-1)| = R
|T'| = |sin(t)|/R2
so
N = T'/|T| = s(cos(t),-1)/R
where the sign s is given by s = sin(t) |sin(t)|
So, s is 1 on intervals (0,pi), (2pi,3pi),...,(2k pi, (2k+1)pi),...
and -1 on (pi,2pi), (3pi,4pi),...,((2k-1)pi,2k pi),...
and undefined when t is a multiple of pi

The dark yellow line has length 1/k where k is curvature. it points to the center of the osculating circle. The osculating circle is shaded