A lot of freelance work stays on the surface. Someone hands you a task and you build exactly that. I try to work differently, because I am an engineer. I do frontend and backend, but I also think about the business side and what the client actually needs, which is often not the same as what they asked for at the start.