In a recent post I banged on about how you can't simply set it and forget it with SEO. You need to work hard and keep working hard if you want to succeed but it's possible and there are plenty of small guys out there beating the big guys.
Don't use being small and not having any money as an excuse. Research your market and find the niches, find the hidden gem keywords, create great content - and keep creating it.
Too often I hear people suggesting they don't have the time to make their websites better, they don't have the money to make them look great and they don't have the where with all to do what's needed.
Set all that aside. The Internet is a land of opportunity but it won't come to you unless you put the work in.