5
33 Comments

Web Framework Recommendation - I'm Not A Developer :(

I have a startup concept that I've had in my head for 4 years and finally ready to bring it to life. One problem is I'm not a developer and will be hiring someone to build the platform for me. I've worked with technical teams for 10+ years, so have a decent amount of experience manage and working with a remote team.

What I am looking for, is a recommendation on what web framework would you recommend I start searching for someone to build my platform? Without sharing the full concept, my platform would be a crossbreed of https://www.fiverr.com/ and https://www.upwork.com/. There needs to be an e-commerce approach to it, but also have the backend ability to manage products sold and communication between both the buyer/seller.

I figure if I can determine which framework I should be building the product in, I can then determine which development skillsets I should be hiring for. Or I may be thinking about this all wrong and appreciate any feedback/insights you're willing to share. Thank you!

  1. 8

    Before you go off and hire someone to do this you may want to explore smaller MVP's that don't require a developer. There are plenty of codeless routes available for idea validation. Check out services like Airdev and Zapier. We're an expensive bunch so you'll want to validate your idea prior to spending X dollars building something you aren't certain people will pay for. With that said if you do choose to hire someone immediately, finding a competent full-stack developer is hard enough. Focus on hiring someone who has a reputation for being dependable while producing high-quality work. I wouldn't worry about the framework/language as long as the developer you hire isn't using some insanely obscure framework/language that will make it difficult to hire another person to take over if you have to find someone else to maintain the project for whatever reason.

    1. 1

      Love the feedback, thank you! I'm a huge fan of Zapier, it currently plays a large role in another business venture I'm involved with. As for Airdev, this is the first I've heard of it - very cool! Quick follow up question: Does starting with Airdev put me behind at all? What I mean by that is I am very comfortable with the concept and have in one sense or another validated the concept that it needs to exist. I'm committed to building this out and will be shooting for an MVP to get it to market. But also I want to be certain that the MVP also allows me to continue to build upon that foundation. If I go the route of Airdev, is that a foundation I can build upon or would it eventually need to be replaced with a more solid foundation - does that make sense?

      1. 1

        No, it puts you ahead. You'll be able to build something that you don't have today, iterate quickly, and find out if the idea's worth pursuing. Remember that your end users most likely won't know and don't care what platform your product operates on as long as it solves their problem. If the MVP gains significant traction then yes, it's likely you'll need to get someone to develop a more robust application long-term and I hope you're successful enough to get to that point! The eventual need for developers should not stop you from constructing simple MVP's.

  2. 3

    Looks your idea takes much time, I suggest you to build a quick MVP using Laravel Spark, It comes with recurring payments, team management and other primary things for your big project.

    1. 1

      Cool! I'm not familiar with Laravel Spark, but its looks like a great shortcut to getting out an MVP.

  3. 3

    I think you should go with framework that is stable and has more developers. For example Rails. That way if your first hire did not work out, you would at least have an easier time finding another hire.

  4. 2

    if you're not technical and this is a new relationship w/ engineers, it maybe worthwhile to mitigate the risk of losing that team.

    maybe choose a robust framework where lots of sane choices are made out of the box and jive with community expectations. Static languages are great for this too. the idea is that there is a good chance you'll need to onboard new people later, or a technical partner, and it's much harder if they have to learn a lot of localized convention or use a hodge-podge of someone else's choices. avoid a rebuild.

    other considerations that are more for startups in general. choose something that's very flexible in the front (react, redux, angular2, etc.), so you can change/experiment quickly without dealing with heavy server updates. same for backend, NoSQL DBs like Mongo are great for this because collections are very loosely coupled to each other, create new ones, delete ones where features didn't pan out, etc...

    agencies and many developers will want to use whatever helps them blaze through projects the quickest, rails, etc.. this may not be in your best interest, it's likely just whatever tech they're most comfortable with or wanted to learn. this is a marathon... maybe get a few impartial opinions before you hire your team.

    one more thought! unit tests! not a framework choice but since you can't code and know it inside out yourself, new people will need confidence to make changes in that code for the long haul and requiring decent test coverage will give them that.

  5. 2

    This looks like no easy task, as the platform needs to be not only built, but constantly maintained over the course of its lifetime.

    Have you considered the option of finding a technical cofounder that can build the platform while you take care of non-technical aspects of the project?

    1. 1

      Agree 100%! This isn't a build once and let it ride. I plan on building a substantial business out of this and eventually have a full team of developers working on the platform.

      I have heavily considered bringing on a technical co-founder and just haven't found a great fit yet, this is partly the reason I've had this concept in my head for 4 years and have yet to build it. I've most likely been searching in the wrong places and am so greatful for IndieHackers, this feedback has been tremendous! I decided to move forward with the project regardless and if the technical co-founder shows up along the way, great, but I'm no longer waiting for that to happen.

      On the other end of that conversation, is also finding a rhythm of working together. I wouldn't want to immediately start out as a full on co-founder. We'd need a few projects to work together on, to build a relationship before we decide to fully commit the next few years of working together. Any insight or feedback I should consider?

        1. 1

          I actually read that earlier today as well. In some instances, it can be a match made in heaven. On the flip side, a co-founder is a partnership that can be much more difficult than a marriage. I wouldn't ask someone to marry me on the first date. We'd date multiple times before we both determine we were the right fit for each other. I am looking to build a substantial business, that will require years of working together, I need it to be a bit more methodical than just a first date...haha.

  6. 2

    Check this browser extension: https://builtwith.com/toolbar

    You can get a (free) detailed list of the technology that any website is using.

    1. 1

      Yea, I use a similar tool called: https://www.whatruns.com/. I may need to spend a bit more time to fully understand what it's showing me, but with Fiverr for example it's showing me the Javascript Frameworks of: Handlebars, Immutable.js, React, Jquery, and then Dev Tools of HTML5. Unfortunately I don't understand each of these well enough to know how they all interact with each other? Which one of them is the main foundational framework and which ones are the supporting ones?

      1. 1

        +1 on whatruns.com thanks @thestart !

    2. 1

      How does that work? They must have a database of websites that have publicly disclosed in some way what their stack is. You can't know what just any random website is using.

      1. 1

        I'm pretty sure they look at the page's source for things like references to Google Analytics and other hints to what they use.

        Their FAQ says: "Every website gives off "signals" that they are using a particular technology. We can track these signals and determine if a site is using a particular web technology from it."

        1. 1

          Yeah but that can tell you what JavaScript libraries they are using. It's not going to be able to reveal what templating engine I'm using or which database I'm using. Granted there is a limited amount of information you can gain through reconnaissance, but it's limited and most definitely cannot tell you the full stack in use.

  7. 1

    If you don't have any expertise in the topic, you shouldn't be making the decision!

    Would you choose a bookkeeping system and then look for an accountant who agreed with it or would you hire an expert and take their advice?

    Similarly, asking a forum of people who know little about you, your business or your budget will generate replies all over the map and nearly all those answers are the right answer for somebody. The choice of framework and language do matter but the best choice depends on a lot of variables such as your budget, need for rapid development, how good of developers you need to hire and how profitable your site is in relation to how much traffic you have.

  8. 1

    Or, instead of putting your idea into the hands of a stranger and giving away equity or a big pile of cash, you could learn Bubble (bubble.is) in a few days and build it yourself. You'd have full control and understanding on your platform.
    Bubble is known for rapid prototyping and MVP but you can actually go much further than that as it's scalable.
    I'm not affiliated with them...just a non-tech founder who think it's awesome to be able to actually build functional apps without writing code.

    1. 1

      The resource Airdev was shared in an earlier comment and it appears they also use Bubble. I'll spend more time playing with it a bit, thank you for the recommendation.

      1. 1

        Yeah as I understand it Airdev develops for you using Bubble. I think it's a great way to get it done quickly, professionally and at an affordable price. It easy and quick to get a hand at Bubble but requires more time and practice before mastering it (but still way less than learning to code would require).

        1. 1

          Ok, this brings up a few more questions (if you're cool with that?)

          • Is Airdev only building on top of the Bubble platform?
          • Does Bubble add a lot of unnecessary code? For example, most of my sites I've built and managed (with a developer) has been on Wordpress. What I've learned is that there are a lot of features that we don't end up using or even certain plugins added a lot of extra stuff that we don't need. Would this type of scenario also be an issue with Bubble? Or is it something that would allow us to keep a thin and streamline site?
          • Is Bubble something we could use as a foundation to a substantial business or is this more for an MVP, to allow us to try out new ideas, but then would eventually need to custom build our own platform? I'm ok with either outcome as I see the benefit on both sides.
          1. 2

            I'm not (yet) a bubble expert, and I don't work at Airdev (nor at Bubble), so:
            1 - I don't know
            2 - I'm currently investigating that question (will try to come back with an answer). But as with most things when you save/gain on a side you often loose on another. Bubble allows you to save a lot of time and money but I'm pretty sure it doesn't spit out a super clean code.
            3 - That was one of my main concern. Bubble is known for rapid prototyping and building MVPs. But the fact is it's actually scalable and can do much more than that. They got a few client's success stories, including 2 companies joining YCombinator and another going viral i.e. 100k+ visitor/day.
            I'm bubble isn't perfect and having a team of devs will always be better on a technical side. But Bubble gives non tech people the power to actually build functional apps fast, learn programming (not coding) and really be at the heart of their product...for close to nothing.

            1. 1

              Excellent, insight/feedback. Really appreciate it!

  9. 1

    Flask. You can use flask-base A simple Flask boilerplate app with SQLAlchemy, Redis, User Authentication, and more. according to their github page.

  10. 1

    Ruby on Rails. http://rubyonrails.org

    Wish you all the best! 🙏🏻

  11. 1

    That sounds really expensive to have other people build, test and operate for you.

  12. 0

    Are you aware that your project will cost somewhere between $50k to $200k for the initial product alone? And after this initial development you will need an fulltime developer for the first year for bug fixes and updates.

    Also considering that the popular web frameworks like Rails, Django or the latest JS thing don't have any comparative advantages compared to the other ones you might should start with finding a developer and then decide on the framework.

    1. 2

      I completely disagree about popular frameworks not having any comparative advantages over each other.

      Of the ones you've listed, Rails lends itself to the fastest development speed, and handle less traffic on any given server, Node JS will be performant on a less expensive server but is harder to debug and takes longer to develop, and Django is even less performant than Rails, in the middle in terms of productivity but relatively easy to hire good developers for.

    2. 1

      This. Also, if you look at StackOverflow developer survey you will see that different geographies favour different stacks and the cheap nasty shit tends to be used in the cheap nasty places and the shiny new shit or tried and true workhorses are favoured by the more expensive places. So first picking your stack and then picking your team would mean you either wind up with a $50k project or a $200k project and you're gambling as to which one.

  13. 0

    Go for Spring Boot (Java) and MySQL. Spring Boot is good for quickly building prototypes and comes with very powerful features.

    Another option is MEAN stack. Build backend in Node.js/Express.js & MongoDB/MySQL and frontend in Angular 5 or React. The second approach is much more flexible. You can also use Express/Node API for mobile apps.

  14. 2

    This comment was deleted 8 years ago

  15. 5

    This comment was deleted 7 years ago

    1. 1

      Great feedback! Where would you suggest I find the qualified developers to send the project too, that could potentially be for hire? I've used Upwork for years and have learned to be cautious, from past experiences. I recently attempted TopTal and found the rates to be higher without the quality to match. I appreciate any insights on anywhere else i should look? Thank you!

      1. 2

        This comment was deleted 7 years ago

      2. 3

        This comment was deleted 7 years ago

        1. 1

          Great, thank you!