Big News: FounderDating is joining OneVest to build the largest community for entrepreneurs. Details here
Latest Notifications
You have no recent recommendations.
Name
Title
 
MiniBio
FOLLOW
Title
 Followers
FOLLOW TOPIC

Question goes here

1,300 Followers

  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur

Technology stack suggestions based on the following business requirements?

Firstly - cheers @Jake Carlson for helping me better frame this question.

Briefly, I've customer tested a concept that monitors IMAP compliance and facilitates the exchange of data between manufacturers and online merchants. The business requirements are;

- User registration (multiple roles and user hierarchy)
- User invitation creating a subset of users attached to the parent
- Notification engine
- Upload data via FTP, API
- Data mapping
- Clone and edit existing data
- Monitor and compare data on external websites with rules set by users
- API with access to data for developers to create apps and services
- User created forms
- User dashboards
- Report engine
- Subscription billing inc. third party billing and commissions

I'm actively seeking a technical co-founder(s) but it would be awesome to get feedback from the community in regard to their ideal tech stack. That will put some batteries in my torch so to speak.

31 Replies

James Bond
4
0
James Bond Entrepreneur
CTO at SupplyBetter
I'd suggest using a computer programming language running under some operating system ;-)

Seriously -- almost any modern stack could work for these requirements, there's nothing I see here that's technology-specific. Don't let anyone snow you that this stack or that stack would be "better" or "more productive" -- It's really more about what your tech co-founder is most comfortable with, and to a lesser extent, the infrastructure you want to use (though that's become pretty ubiquitous across different stacks as well). Another consideration is availability & cost of contractors -- that varies a lot, with the hottest languages/stacks (currently, I'd say Node.JS and Ruby) commanding the highest, and PHP the lowest.
Kevin Coleman
0
0
Kevin Coleman Entrepreneur
--
For a reporting engine, I would look at usinghttp://www.jaspersoft.com/
Jonathan Barronville
0
0
Jonathan Barronville Entrepreneur
Software Engineer at npm, Inc.
Other than the statement about PHP not being hawt, I completely agree with Mr. James Bond :) ... for the requirements you've specified, any modern tech stack should do, and don't let anyone tell you otherwise. Of course every stack has their pros and cons, but that doesn't really change my previous statement.

Good luck Kate!

- Jonathan
Kate Hiscox
0
0
Kate Hiscox Entrepreneur • Advisor
Boss at Venzee
Thank you all =)
Karthik Hariharan
0
1
Karthik Hariharan Entrepreneur • Advisor
Engineering Manager at Desk.com
I'm biased because I'm a Ruby developer, but Ruby has some good solutions for this:

A basic Rails app would cover your web application needs. Pull in a good backend solution like Sidekiq for your background jobs.

Utilize Amazon Web Services for your Notifications (SNS), Storage (S3), and Database (RDS with Postgresql).

Finally, round it off with Stripe for your billing.


Brent Anderson
0
4
Brent Anderson Entrepreneur
Software Architect/Developer Consultant
However hot Node (hot) and Ruby (losing steam) are these days, the complexity of your system deserves a modern, mature stack. I suggest a .NET/SQL stack. You could also go in the JAVA direction but I have found that the more ambitious and creative devolopers are on our the MS stack (compared to JAVA).


 kris maganti
0
1
kris maganti Entrepreneur
IT Architect at Milyoni, Inc.
Hi Kate,

You probably cant go wrong with rails/ruby. The other alternative is to go for the Mean stack , especially if you wanna be mobile focussed. You could use parse.com as a backend and shorten your dev cycle.
Tom Maiaroto
2
0
Tom Maiaroto Entrepreneur • Advisor
Full Stack Consultant
Cool. You can use a myriad of technology combinations to reach those goals. I'd next think about the type of developers you would come across in your area and what the salary ranges are. This will help you understand your business, timing, and finances better. As they relate to your technology/app/site/code/tool/dashboard/product. How easy is it to find and replace talent? Expect to replace talent in a startup. People will come and go or you'll be forced to sadly get rid of people. Happens.

So stay flexible. I'm not sure where this PHP hate is coming from and this push for Ruby. I would argue that Ruby is a dying language that's finding it increasingly difficult to differentiate itself (PHP and Node.js are eating into Ruby's distinguishing purposes from opposite directions). While it was an important part of internet history here, the fact of the matter is major companies and early supporters are moving away from it and on to other languages. This means you'll see less Ruby developers in the future and they will likely be more expensive as a result. Not a very wise business decision if you plan to stick around for a while. Again this has absolutely nothing to do with what you can or can't do with Ruby as a language. I'm trying to shed light on how our technology choices affect our business. Stay flexible and open to things.

Of course, if you have a ton of Ruby developers in your neck of the woods, then it may make sense to use it. Just understand why you're choosing a language. It goes so far beyond the technical aspect of things.

Node.js is a lovely suggestion. It's a very progressive language that's gaining a lot of momentum and finding a developer is far easier (and cheaper) because it's essentially JavaScript. Your Node.js developer will only be more expensive (depending on your area) due to demand. It's hot right now. Whereas choosing something like .NET or Java may be more expensive due to larger corporation and "enterprise" culture/mentality. This won't easily change either. Large corporations like to use Java and .NET (and it's also particularly popular in certain regions of the world/country) and they can actually pay more than a smaller startup. So your developers savvy in Java and .NET will be looking for a higher salary because well, they can easily find it.

I just don't think Java or .NET is agile enough for a startup to be frank. PHP, Node.js, and Ruby are all web languages geared for rapid application development. Java and .NET are geared for the inefficient and slow corporate world that can support teams of 50+ people building a simple web app. Boggles my mind how that happens.

So I'd highly suggest sticking to Node.js or PHP to be honest. Sure Ruby too, I'm not hating on Ruby...But do your research and see what the developer market is like in your area. There's all types of developers all over...But you really may be in a weird pocket that has an abnormal amount of developers who are savvy with a certain language. I'm puzzled how this happens, but it does...Look at job boards.

Another benefit of a full JavaScript stack is now your back-end developers are also front-end developers...Again business decision. I can't stress this enough. The way many CTOs go about choosing technology is often from a Lord of the Rings perspective. It's their "precious." Who knows. It's this weird loyalty thing. But it often doesn't have a thing to do with business and real world, practical, needs.

I would suggest MongoDB for a lot of your data, but when you get to billing - if you aren't using something like Stripe's service you will likely want a transactional database. No reason you can't use multiple databases!

As far as your report engine, MongoDB is a fine fit there. Should you have heavy duty aggregation needs and the aggregation framework within MongoDB is not enough, nothing is barring you from Hadoop. You can also migrate to some Amazon Web Services for your data warehousing and aggregation needs just fine from MongoDB. I'd also suggest looking into Elastic Search for your reporting. It's a search engine and so much more.

On the front-end think JavaScript of course and when you're dealing with dashboards and reporting, D3.js is a great library (NVD3 is a great graph/chart library using D3). I'd suggest combining that with AngularJS for a very modular dashboard that allows a front-end developer to work in tandem with a front-end designer and not worry about touching the same files. You can separate the templates from the JavaScript code that's powering the visualizations for your dashboard. Ember and Backbone are also good alternatives here. I just think AngularJS makes things awesome with it's directives. If you have a lot of front-end design and UX work to be done.

One last reason I suggest AngularJS is because you may also want to use Elastic Search. Throwing your data set into that can do wonders for you and your database costs. And... Kibana to the rescue:http://www.elasticsearch.org/overview/kibana/

The real time reporting dashboard that Elastic Search and Kibana bring you, especially for the amount of setup time, is just sexy sex.

This open source modular reporting tool can really help save you time. Best of all, it's written with AngularJS. So you're compatible now with anything else you may having going on with AngularJS and your JavaScript developers will be ready to extend the functionality of Kibana by building their own directives.

Again, this is just one approach out of many possible approaches. For what it's worth, I build many custom CMS' and dashboard tools with visualizations and work with big data. A lot.
Tom Maiaroto
0
0
Tom Maiaroto Entrepreneur • Advisor
Full Stack Consultant
Wow that was long
Jonathan Barronville
2
0
Jonathan Barronville Entrepreneur
Software Engineer at npm, Inc.
Guys, let's not make this a "this stack versus that stack" discussion as it's really not worth it for this situation. Again, nothing here screams Ruby, .NET/SQL, or Java. They're all tools and all of them can help solve Kate's problems. At the end of the day, the thing Kate really has to worry about is who ends up writing the code ... for example, .NET with C# could be considered "mature", but in the wrong hands, you can easily end up with terrible software. I currently write a lot of Ruby (with Rails) at work, but it doesn't mean it's the best tool for every job, and sometimes you CAN go wrong with Ruby (with or without Rails). We all have favorites and biases, but none of that will help Kate.

@Kate Hiscox:

Do yourself a favor and focus less on the stack and more on who ends up building your stack. Nothing in the requirements you listed here screams any particular tech stack. A good engineer should be able to take lead and keep you from worrying about most of this stuff anyway.
Join FounderDating to participate in the discussion
Nothing gets posted to LinkedIn and your information will not be shared.

Just a few more details please.

DO: Start a discussion, share a resource, or ask a question related to entrepreneurship.
DON'T: Post about prohibited topics such as recruiting, cofounder wanted, check out my product
or feedback on the FD site (you can send this to us directly info@founderdating.com).
See the Community Code of Conduct for more details.

Title

Give your question or discussion topic a great title, make it catchy and succinct.

Details

Make sure what you're about to say is specific and relevant - you'll get better responses.

Topics

Tag your discussion so you get more relevant responses.

Question goes here

1,300 Followers

  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
Know someone who should answer this question? Enter their email below
Stay current and follow these discussion topics?