2
7 Comments

I've Built >20 Products of All Kinds in the Last 4 Years. AMA!

It seems like lots of people in the Learning To Code group would like to be able to ask experienced developers and Indie Hackers a variety of questions.

I figured I'd make myself the first 'victim' and do an AMA this week.

I've been building products on the web for 20 years, both as a team lead and as an entrepreneur. In the last four years, I was very active as a freelance product management consultant. It ended up being a bit of a 'boot camp' since at times I was leading teams for up to five projects at once!

I've built content sites, marketplaces, ecommerce sites, social networks, data dashboards, PaaS for developers on web and mobile. These have been built using more stacks than I can list here. But it gives me a good high level view.

Personally, my stack is Go, Angular (not a JS expert - working on that!), PHP, MySQL, HTML, CSS, some jQuery, and WordPress. I spent two years working at Automattic.com (the people who run WordPress.com).

I've built and launched three startups of my own. I've worked extensively with freelance developers, both hiring and managing them.

I can offer opinions about how to approach something you want to build. I can answer questions about how to make those decisions, for yourself.

  1. 2

    What would your approach be to adding a custom application to a Wordpress site? Say you already had a website running a blog and a woo commerce store on Wordpress, and you wanted to build a custom application alongside as part of the same branding.

    I'm hazy on what the application would be (various ideas floating around planning, storing links and ideas, and record keeping). But it would involve users adding and manipulating their own data - links, things they'd typed in, maybe photos - and possibly sharing some of that data (eg one user might add a study breakdown that they'd share with others, but might also have their own progress that they wanted to keep private).

    Would you look for plugins that already exist to add it to the Wordpress site? Develop your own plugin? Or build it separately (either from scratch or using an existing framework) and just link in from the Wordpress site?

    (Next question will be what you'd need to learn in order to do any of those things.... )

    1. 1

      TLDR: you should build your custom app on the stack best-suited for its requirements and not try to make it happen purely inside WordPress. Building it inside WP is definitely an option, depending upon the requirements. But elegantly connecting a standalone app written in, say, Python is 100% do-able and not an enormously larger amount of effort (in many cases, it's less effort). Even if you end up creating your custom app on another platform (for example Teachable), connecting the two gracefully is totally do-able and makes more sense than shoe-horning in a WP solution that doesn't meet all your requirements.

      Trying to build it inside WordPress isn't a goal that you should include in your decision making, in my opinion. By the same token, it makes sense to include the WP-centric options because it's pretty amazing just how much can be accomplished on top of it.

      WordPress can be great for your requirements-defining process, making it fairly easy to test various aspects of what you're considering building, even if you don't end up building out the full custom application inside WordPress. I would encourage you to also keep that in your thinking.

      There's a real possibility that a plugin or combo of plugins can do the job (depending again on the requirements). Rarely does a plugin meet all your requirements 100% though, and plugins need to be vetted for security weaknesses when they don't come from a well-known and respected developer or vendor. So, you'll likely end up needing to do custom development work no matter what, unless your use case fits nicely with a particular plugin. If you get to a point where you're evaluating particular plugins for your solution or even as a way to test a hypothesis, please feel free to reach out to me. I'm always happy to add my thoughts and advice based upon my experience.

      If you determine that your solution is best built in all Javascript or Javascript + PHP, then building your own custom WordPress plugin is a great option. The tricky part there, as in all software projects, is hiring a competent developer (if that person isn't you :-) ).

      Let's say after testing and prototyping, you end up deciding to build your app as its own thing using a language and/or framework not native to WordPress (like, let's say, Python). The WP API makes that a reasonable exercise, and from a user experience perspective it's just a matter of managing the UI, linking and domain names effectively.

      I hope I was helpful here :-) If I can do any better or be more specific, don't hesitate to follow up with me!

      1. 1

        That’s really helpful, thank you! Would you say Python is a reasonable language for writing a mainly file based web service, or would it be better in something JavaScript or Ruby based?

        1. 1

          I think I need to make sure I understand what you mean by a "file based web service." Are you saying it doesn't really perform any logic, itself? Is it 100% frontend? If you prefer to send me an email (in my profile), please feel free!

  2. 2

    I haven’t done much with Go but it looks very interesting and seems super fast. Do you find it as easy to program in as php? Do you use some type of framework with it, is there an equivalent to rails or laravel in go?

    Thanks!

    1. 2

      It's definitely fast.

      I haven't used any kind of framework with it. But I'm not really sure it's needed. There are tons of libraries for speeding up development of common features like REST API's, interfacing with popular third party API's, etc. I should also say that I strictly use it for background jobs and my REST API.

      I first started learning Go about five or so years ago when there was a lot less of a community around it. I probably haven't kept up with some of the things that have grown up around it like I should. I certainly found it easy and fast to learn.

      Learning Go made me a better programmer. It's totally unforgiving, unlike PHP :-D For example, it won't compile if you declare a variable but don't use it. Some PHP developers I know hate that kind of thing. But for me, I feel like that kind of discipline/feedback has helped me develop better coding habits. I like being able to put together the bare bones of a something, run it from the command line, get the errors (which for the most part are clear and descriptive), fix and run it again. Simple.

      So, if you really like the looser more forgiving aspects of PHP, you may not find Go to be that friendly. But if you think you might like guard rails that help keep you from creating a lot of technical debt, it could be worth a try.

      It's not perfect. It has annoying quirks like anything. But I'm definitely able to develop faster and deploy better code when working with it.

      I saw a post a while ago by the lead on a Go team who said he has a "warm fuzzy feeling" every time they deploy. That rings true for me.

      1. 1

        Thanks for the reply, I need to spend some time with Go for sure :)

Trending on Indie Hackers
I've built a 2300$ a month SaaS out of a simple problem. 19 comments I'm building the MCU of SaaS 💎 12 comments 🔥 Roast My Landing Page 11 comments Where can I buy newsletter ad promos? 8 comments Key takeaways growing MRR from $6.5k to $20k for my design studio 6 comments YouTube? How to start 5 comments