Cool project! Building security tools from scratch is one of the best ways to understand networking fundamentals. Python's socket library is surprisingly powerful for this kind of work. One suggestion for the next iteration: consider adding async scanning with asyncio — it'll dramatically speed up scans on large port ranges since you're not waiting for each connection sequentially. Also, adding service banner grabbing would make this much more useful for actual recon. Looking forward to seeing the series evolve!