Newbie building a complex, dynamic site--need advice, tools

Hi guys,

I work for an entrepreneurial startup and have the ambitious task of building a data-driven website  I could sure use some help! Here is what I have to work with:

1. We have no I.T. dept. I hope to build at least 80% of the site with off-the-shelf products that can be somewhat customized.
2. I only know VB.NET, so would like to use that + SQL Server platform (ASP.NET).
3. I'd like to keep costs as low as possible, but we're willing to pay for the "good stuff" if necessary (but try to keep total cost under $50K)

This will be a website for insurance agents. Here is what it has to do (the basics at least):

1. I need to setup "personalized agent websites" as subdomains using some kind of template system (i.e. If I can figure out a way so that agents could edit their own sites themselves, that would be great.

2. I need to create a web form that allows "online enrollment" (a binding electronic contract) for agents to sign up with companies we represent. I need to add logic to this form that would validate the agent's info. Agents are "recruited" under various hiring managers, and there are several recruitment levels.  So this enrollment system needs a way to identify both their hiring manager and the appropriate level to place the agent (using a special code or password the agent is given). Then the agent needs to be presented the appropriate contract to electronically sign. Did I mention that I also need to generate an encrypted feed (HIPAA compliant) to send to the insurance company? Whew.

3. I need to create a secure "Agent Portal" where agents would log in with a User Name and Password. Once logged in, the agent needs to be delivered personalized content based on what companies they're licensed with and other agent characteristics. This portal would be a repository for news, various PDFS, and reports.

Here's what I've researched so far:
- Using CMS like Mambo, ExpressionEngine, Sitecore, or Vignette
- Using Web Portal system like Vignette Web Portal
- Using hosted form solution like LogiForms or FormRouter
- Using hosted database like Caspio
- Using Intelligent PDF forms like Adobe LiveCycle
- Using Rapid .NET Dev tool like IronSpeed

I'm really not sure what combination of tools will be adequate for this job. I can do a small amount of custom VB.NET programming, but don't have the time or experience to build anything from scratch. Oh, and did I mention that our CEO wants everything yesterday??

If anyone could point me in the direction of some good tools that will do this job, I'd greatly appreciate it!


Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

If you have 50k or close to it to spend, I would recommend that you hire a professional.  Has that been considered?  The results will be much more satisfying than a site cobbled together with pre-fab components by a self-professed 'Newbie'.
PJ_SAuthor Commented:
I certainly intend to hire some professional help. The question is, does it all have to be custom-built? Any money saved will definately help--and speed of development is extremely important. I'm only a newbie in the area of web development; I actually have done extensive software development, and am used to using 3rd party componenents to speed up that process. I was hoping a similar principle could be applied to web development, in some form or fashion.
No, it doesn't have to be entirely custom-built, but if you are going to be hiring a professional, that is the person who should make these decisions ultimately.  Many (and I suspect most) web dev professionals use scripts and other components, but recommending specific solutions now is impractical.  If I suggest a fantastic PHP solution, it won't mean much if your designer works with ASP.NET or something like that.  So, we could suggest alternatives to your examples, but I'm not sure that would be helpful.

It appears that you have a very good idea of what you want.  That's a good start.  The examples you have provided in your question demonstrate the kind of functionality that is required.  I would suggest that the next step is to start speaking with some designers/design companies, present your requirements and preferences and see what kind of feedback you get.
Exploring SQL Server 2016: Fundamentals

Learn the fundamentals of Microsoft SQL Server, a relational database management system that stores and retrieves data when requested by other software applications.

PJ_SAuthor Commented:
OK, you've partially convinced me. However, my experience with hiring professionals is that you constantly need to re-consult with them if you need to tweak any little thing. Our company has done this in the past and it has cost us an arm and a leg to keep a site maintained and to add any new functionality. That's partly why I was hoping to use some "off-the-shelf" components that I could learn to use myself, and make minor adjustments when necessary, at least for some parts of the site. Am I SOL, or is some compromise available?
"... my experience with hiring professionals is that you constantly need to re-consult with them if you need to tweak any little thing."

This is something you definitely want to avoid.  That's one of the main purposes of a dynamic site, though, giving the client a user-friendly means of controlling the content and updating the site as needed.  Let the developer know that if you need them next month, they messed up.

"That's partly why I was hoping to use some 'off-the-shelf' components that I could learn to use myself, and make minor adjustments when necessary, at least for some parts of the site. Am I SOL, or is some compromise available?"

If there were a single solution for all of your requirements, then it would be somewhat easier.  The problem is that your requirements are sufficiently advanced and specific that there is no one-stop answer.  Patching together and integrating a group of single-purpose entities still requires considerable knowledge of HTML, a scripting language and a database.  Some are notoriously difficult to install, even to web dev professionals.  Frankly, creating something from scratch is often easier.  

For example, when I first started including CMS functions in the sites I was developing, I reasearched and tried several open source CMS options, but ultimately each site has its own needs and starting with a blank slate is simpler than trying to make significant customizations to someone else's code.

Nevertheless, I think your overall plan inherently requires some third-party elements to be integrated.  It's simply a matter that the best choice is entirely dependent on the structure of the whole.  By that, I mean it's about balance.  If you pick the 'best' server platform and the 'best' scripting language and the 'best' CMS and the 'best' database, etc. there is no guarantee that they can work together.  If your answers to the above are Linux/Apache, ASP.NET, Mambo, and MS SQL, then you have a problem.  For each element, the right choice is the one that best works with the other elements.
PJ_SAuthor Commented:
OK, thanks for the feedback, I appreciate your perspective. A few final questions, if you don't mind. Since I have no frame of reference, could you give me a "ball-park" figure for what I should expect to pay for someone to build this kind of project? And how long it should take? Would I be better off hiring a contract programmer, or going to a web design firm? Again, I'd really like a ASP.NET/SQL Server solution so that I at least have some familiarity with the technology.

We've been ripped off in the past and I'm trying not to let it happen again! Thanks.
I can understand why you would want to stick with ASP.NET/SQL.

You're likely better off with a a web design firm as this project may require more than one person (ie. a designer and a programmer, for example).  Individually, most of us are either capable at doing many things or very good at doing one thing.  The steps to choosing the right company and not getting ripped off: provide detailed requirements, check references and portfolio thoroughly, monitor progress, and pray.

In terms of cost, that's very hard to estimate.  A couple of years ago, another designer and I put together detailed specs for a big e-comm site and submitted it to a number of design firms (anonymously) to get quotations.  The range was $12k to $115k.  So, I'm tempted to say "between $12k and $115k", but if forced to narrow it down further, I would say that the right people will cost between half and all of your $50k budget.

Also, since this is only my opinion, I'd be more comfortable if there were other opinions being given here :)   It might be a good idea to keep this question open and post a pointer in the Web Dev topic area asking for additional feedback.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Development Software

From novice to tech pro — start learning today.