The Weierstrass function is continuous everywhere and nowhere differentiable (see this proof). Given parameters $0<a<1$ and $b$ an odd integer such that $ab>1+\frac{3}{2}\pi$, this is
$$w(x)=\sum_{n=0}^{\infty}a^n\cos(b^n\pi x)$$
Now note that this can be integrated to yield an everywhere $C^1$ nowhere $C^2$ function:
$$W(x)=\sum_{n=0}^{\infty}\frac{1}{\pi}\left(\frac{a}{b}\right)^n\sin(b^n\pi x)$$
This is extremely similar to the original function, only that $a$ has decreased, which regularizes the sum. Clearly, this constructs everywhere $C^k$ nowhere $C^{k+1}$ functions.
To pass to smoothness, but only at one point, we need a way to somehow interpolate between the values of $a$ depending on $x$... so let it change to $x$ directly.
Try (partial plot here)
$$f(x)=\sum_{n=0}^{\infty}\cos(b^n\pi x)\left|x\right|^n$$
which has good reason to locally be $C^n$ for all $n$ in neighbourhoods of $0$ of size approximately $b^{-n}$.
Following the original proof idea in (1), let's try using the Weierstrass M-test for uniform convergence of the $k$th termwise derivative of this sum. Using the product rule, the $k$th derivative of the $n$th term looks like
$$f_n^{(k)}=\sum_{q=0}^{\min(n,k)}\binom{k}{q}\cos\left(b^n\pi x+\frac{(k-q)\pi}{2}\right)\left(b^n\pi\right)^{k-q}\frac{n!}{(n-q)!}\mathrm{sgn}(x)^q\left|x\right|^{n-q}$$
For sufficiently small magnitude of $x$, a crude upper bound on the magnitude of the term is
$$\left|f_n^{(k)}\right|<\sum_{q=0}^k\binom{k}{q}\left(b^n\pi\right)^{k-q}n^q\left|x\right|^{n-q}<2^k\left(b^n\pi\right)^kn^k\left|x\right|^{n-k}=\left(\frac{b^k}{\left|x\right|}\right)^n\left(2\pi n\left|x\right|\right)^k$$
and recall that $k$ is a constant here. Since polynomials ($n^k$) are dominated by exponentials ($k^n$), the series converges uniformly whenever $\frac{b^k}{\left|x\right|}<1$ for all $k$.
Therefore in the neighbourhood $\left(-b^{-k},b^{-k}\right)$, the function $f(x)$ is $C^k$.
To prove the other direction, let us pick $b\geq7$ for our purposes. Suppose that $\left|x\right|$ is such that $b^k\left|x\right|<1$ and $b^{k+1}\left|x\right|>1+\frac{3}{2}\pi$, that is
$$b^{-k}\left(\frac{1+\frac{3}{2}\pi}{b}\right)<\left|x\right|<b^{-k}$$
and we have chosen $b$ to make this interval nontrivial.
Note that the termwise $k$th derivative double sum is absolutely and uniformly convergent, so basically we can rearrange it as much as we want. In particular, let us split out the "principal" piece where we take the derivative of the $\cos$ all the time:
$$\begin{align*}f_n^{(k)}&=\pi^k\cos\left(b^n\pi x+\frac{k\pi}{2}\right)\left(b^k\left|x\right|\right)^n\\
&\hphantom{{}={}}+\sum_{q=1}^{\min(n,k)}\binom{k}{q}\cos\left(b^n\pi x+\frac{(k-q)\pi}{2}\right)\left(b^n\pi\right)^{k-q}\frac{n!}{(n-q)!}\mathrm{sgn}(x)^q\left|x\right|^{n-q}\end{align*}$$
Call the remaining pieces $f^{(k)*}_n$ and take the derivative one more time and bound:
$$\left|\left(f^{(k)*}_n\right)'\right|<\sum_{q=1}^{k+1}\binom{k+1}{q}\left(b^n\pi\right)^{k+1-q}n^q\left|x\right|^{n-q}<2^{k+1}\left(b^n\pi\right)^kn^{k+1}\left|x\right|^{n-k-1}=\left(\frac{b^k}{\left|x\right|}\right)^n\left(2\pi n\left|x\right|\right)^{k+1}$$
and the point is that under our hypothesis, $\frac{b^k}{\left|x\right|}<1$ and the Weierstrass M-test still applies to it.
What this means is that
$$f^{(k)}=\underbrace{\sum_{n=0}^{\infty}\pi^k\cos\left(b^n\pi x+\frac{k\pi}{2}\right)\left(b^k\left|x\right|\right)^n}_{\text{call this }f^{(k)p}}+\sum_{n=0}^{\infty}f^{(k)*}_n$$
where we have just proven the latter sum is itself continuously differentiable. Therefore $f^{(k)}$ is itself differentiable if and only if the principal part $f^{(k)p}$ is.
Now, to take the derivative at some value $a$, we only care about a neighbourhood of $a$, so let us approximate it with the actual Weierstrass function with parameter $b^k\left|a\right|$:
$$f^{(k)p}=\sum_{n=0}^{\infty}\pi^k\cos\left(b^n\pi x+\frac{k\pi}{2}\right)\left(b^k\left|a\right|\right)^n+\sum_{n=0}^{\infty}\underbrace{\pi^k\cos\left(b^n\pi x+\frac{k\pi}{2}\right)b^{kn}\left(\left|x\right|^n-\left|a\right|^n\right)}_{\text{call this }f^{(k)e}_n}$$
We take the derivative of the error termwise using first principles:
$$\begin{align*}\left(f^{(k)e}_n\right)'(a)&=\lim_{h\rightarrow0}\frac{f^{(k)e}_n(a+h)-\overbrace{f^{(k)e}_n(a)}^0}{h}\\
&=\left(\lim_{h\rightarrow0}\pi^k\cos\left(b^n\pi(a+h)+\frac{k\pi}{2}\right)b^{kn}\right)\left(\lim_{h\rightarrow0}\frac{\left|a+h\right|^n-\left|a\right|^n}{h}\right)\\
&=\pi^k\cos\left(b^n\pi a+\frac{k\pi}{2}\right)b^{kn}n\;\mathrm{sgn}(a)\left|a\right|^{n-1}\end{align*}$$
and one last time, by the Weierstrass M-test the error terms are continuously differentiable.
Finally, we're left with
$$f^{(k)}-(C^1\text{ function})=\sum_{n=0}^{\infty}\pi^k\cos\left(b^n\pi x+\frac{k\pi}{2}\right)\left(b^k\left|a\right|\right)^n$$
which is a Weierstrass function with parameters $b^k\left|a\right|$ and $b$, and by hypothesis this function is nowhere differentiable. So $f$ within this range is $C^k$ but not $C^{k+1}$.