8
39 Comments

Suggest me a Tech Stack.

I am currently planning to build a small URL shortener website.
As of now I have planned my tech stack as this:
Java (Spring Boot)
React + TailwindCSS
MongoDB

I know I should always start with the language i am comfortable with, but what tech will you use if you will build your own url shortener?

  1. 6

    Your goal is not to have a great tech stack, it's to have a great product.

    Focusing on the stack when your goal is to build a product is the wrong approach. Use what you know already.

    Besides - there are a million java URL shorteners out there already - https://gist.github.com/rakeshsingh/64918583972dd5a08012

    Why wouldn't you use one of those?

    1. 3

      I built a url shorter. Shrink.dev

      I didn’t expect to make money off of it. Just wanted to go through the exercise since it’s a small project.

      It’s not going to steal any users from bitly by any means. Not sure what OPs reasons are but sometimes it’s good to just build small things.

      1. 2

        I also don't have that aim to make money out of it. Just want to build a simple saas and complete it.

    2. 1

      Thanks a lot for this useful gist. In the end it always drills down to great product in long run.

  2. 6

    If it was me, I'd use Ruby on Rails with PostgreSQL and Tailwind UI/CSS. I don't use any rich frontend frameworks like React. Just StimulusJS when I need it, but for the most part everything is just server rendered HTML. I'd deploy it on Heroku.

    1. 1

      Thanks a lot for your suggestion. I am also thinking same for dropping some complicated stuffs and make a mvp .

  3. 4

    This kind of service could benefit from Elixir/Phoenix on Beam. It's quite simple, so no need for more batteries included/more famous option IMHO.

    1. 2

      Phoenix has very fast response times and you could cache the shortlinks in memory via a genserver or ETS to reduce database lookups.

      1. 1

        Yes, my thinking as well.

    2. 1

      Thanks for your suggestion ,I will check it out.

  4. 3

    i will not build one from scratch, I will find an open source one and customize it for myself.

    1. 1

      Yes it will be good for idea validation.

  5. 3
    • PostgreSQL
    • Hasura (instant realtime GraphQL API)
    • Apollo
    • React & Tailwind

    Here's how you get started: https://www.youtube.com/watch?v=v3I5_2t1cco

    1. 2

      Thanks a lot for this helpful YouTube Video.

    2. 1

      This comment was deleted 3 months ago.

  6. 2

    I would go with Erlang Nitrogen. It’s highly reliable, scalable, easy to learn, and terrific for fast prototyping— you don’t need to know JavaScript. Fair disclosure: I just co-authored and published a 616-page book that takes you from total noob to competency. You can read the first three chapters for free here: https://builditwith.com/nitro

    1. 1

      Thanks Lloyd for the suggestion.

  7. 2

    Check out my url shortener: http://shrug.ir, It's open source (https://github.com/theyahya/shrug) so you can see it's pros/cons a little.
    I don't except to make any money from it, but it was fun to make something from scratch.
    So if you wanted to talk about the stack or anything, feel free to reach me at: yahya.arbabi [at. ] gmail

  8. 2

    I would go for .Net Core. Its great.
    https://dotnet.microsoft.com/download
    I created https://www.0browser.com using .Net stack. It is one of the easiest and fastest out there.

  9. 2

    Skip building one and sign up for T.LY. You can even add your own domain or just use T.LY :)

    1. 1

      Love the domain name mate.

  10. 2

    I think a suitable tech stack depend on your product, cost, strategy, team, etc. If you are planning a MVP version, you can consider using some NoCode platforms (Bubble, Airtable, Webflow, Scapic, etc).

    1. 2

      Thanks for the nocode suggestion mate. Noted!!

      1. 3

        Thank you! I like to say it’s a “bit” shorter than the competition 😁

  11. 2

    I would not build anything at all apart from a landing page and somewhere for people to pay me. Then once they pay me, I'd set up their short URLs using AWS CLoudfront and Lambda@Edge.

    1. 1

      Love your approach Louis.

  12. 2

    100% without a doubt, Cycle.io, I am the marketing director there but honestly it is a great product for deploying containers. So my suggested is more for deploying, and we do have a free version which would be good for a small website.

    Now with that said, you will need to containerize the code, but I'd suggest that either way. And also, I suggest a MERN stack, but we have been playing with snowpack.js and liking it.

    1. 2

      Thanks David for introducing cycle.io. Hope I will use it in future.

  13. 2

    My bread and butter is MERN (Mongo, Express, React, Node).

    Super popular with strong dev communities all of them, so plenty of convos, tutorials, and code on GitHub to peek at when figuring out how to do things. However, since it is all JS and it's not opinionated it can be difficult to figure out what's actually a "best practice" and what just has a handful of vocal developers promoting a certain practice.

    At the end of the day, I think prototyping is about building it in the tools + in the way that makes you get feedback the fastest. You can re-factor and consider scale once you have users.

    1. 1

      Yes I am thinking same making a small prototype for idea validation with the fastest way possible.

  14. 1

    Hey Ranjan! If you still would like to use Java with Spring Boot, then please check this video out:
    https://www.youtube.com/watch?v=KrxXdnCxiFg

    The author is developing a link shortener using that stack. Besides, you can learn how to deal with the reactive WebFlux API :)

    1. 1

      Thanks a lot Rafal to the point video. Thanks Man.

  15. 1

    I'm a big fan of the Firebase tech stack + React. Have a few projects in Tailwind and awesome and thinking of migrating from MDBReact.

    Here is what I use: https://www.ayrshare.com/our-firebase-tech-stack/

    1. 1

      Yes Tailwind is Awsome and thanks for the suggestion.

  16. 1

    Built one a while ago just because. Used only firebase products: Firestore, Hosting and Functions.

    Only major negative is the cold start time of functions is a few seconds. But I didn’t really matter to me and the project is live without costing me anything.

    Not sure what your objectives are but this worked for my personal project.

    1. 1

      I don't have that much expectations from this project. I feel there are some features that many of url shorteners don't have, I actually want to build build one for myself why not follow some good practices from beginning.
      Thanks mate for your suggestion.

  17. 1

    Currently I use:

    • ReactJS
    • NextJS
    • MaterialUI or Chakra
    • Firebase and Firestone

    I’m also learning MERN stack which is pretty cool.

    1. 1

      Love your templates Brayden and thanks for the tech stack suggestion.

Recommended Posts