I'm not a programmer. I have a certificate in GIS. I've blogged for years and I know a little HTML and CSS.

Here is a comment about prototyping without writing any code:

https://news.ycombinator.com/item?id=18400363

I was advised to start a design doc on my own. It's kind of an idea file to flesh out what you are trying to do.

I am personally leery of hiring a freelancer to code something up for things I want to accomplish, but maybe I will change my mind someday. That's just where I am mentally currently. It's not intended to suggest that where I am currently is some Final Word.

Here is some of why I am leery:

1. In GIS school, I learned that a proper Geographic information system was integrated into the workflow of an organization and maps were generated by people needing them, people who have a purpose for the map. The information they want to convey with the map matters and serves a goal. In an organization where GIS is some department where other people send requests for maps, you get a "map shop." Map shops wind up being places that produce pretty maps.

A good nap will be described as beautiful by many people. Good design is functional and has aesthetic appeal in the vein of something well engineered. But a pretty map isn't necessarily a good map. In fact, prettifying a map because making the map is all you do typically makes it less useful.

So what I learned is that good maps are made by people who are creating the map for a purpose, not people who get paid to crank out maps. The person with that purpose is the best person to make that map.

2. When you hire it out, you miss out on founder development. Good companies are made, not born. "Self made men" go through a substantial process to get there.

The single most important element in a business is paying customers. If you don't have that, you don't have a real business. You maybe have an expensive hobby.

Doing things yourself has a lot to do with interacting with the target market and thereby learning what you need to do differently. Hiring someone to code it up may have it's place, but it may also deny you those valuable interactions with your intended customers while you focus on having code rather than focusing on having a thing that accomplishes a particular objective. Code may end up being that thing that accomplishes that objective. But it may not be.

You might try collecting stories of things that were founded without initially having code. Craig's List started as an email list.

Having said all that, I will suggest that if you do hire someone, you do your homework as outlined by others in comments here. Make sure you know what you want them to do for you. Don't just throw an idea at them and expect them to make magic.

I do freelance writing. I vastly prefer to get short, concise instructions that give me a clear set of parameters for the piece. I hate getting multiple pages micromanaging details.

So spell out the big picture stuff. Avoid micromanaging, if possible.

Last, good communication is a big part of successful freelance work. Try to find someone you click with. They can't give you what you need if they don't really understand what you have in mind.

Edit: See also this current post: https://news.ycombinator.com/item?id=18480115