Used to complete as a club swimmer, then swam for the county then competed in lots of competitions until I was about 16, 100M fly was my main event. The main coach actually trained two swimmers from our club who went on to win olympic medals later on, although many of the things I was taught have changed now.
I don't swim that often now, but when I do I often work off the clock, usually in blocks of 50M or 100M sprints (I was always a sprinter I was never a distance swimmer) I usually do a 400m warmup
One thing that I always enjoyed doing, was doing blocks of 50M freestyle as interval training, hell for ******* leather as hard as I can for each interval, followed by 60 seconds break between each one, I also mixed it up with butterfly or drills with a kick board, keep doing it until there's nothing left.
Also focus on your leg kick - most freestyle swimmers have a very weak kick, compared to their arms - I used to drill the hell out of my kick with a kick board to the point where I could do 50M kick with a board (flutter kick) in about 35 seconds, vs 26 seconds for 50M freestyle (which was my fastest) either way - learn to really beast your kick, it adds up to a lot of extra speed.
I see some people using flippers and small hand-paddles sometimes, I was always told to avoid them - they make you go very fast but I don't think it really adds anything to your technique or real speed,