Introducing Blogtiple - A Cross Blogging Application
Import and Post your blogs across Medium, DEV, and Hashnode with just some clicks.
Introduction
Hey Folks, If you are into blogging well then this product is a treat for you guys, so pay attention to this blog.
Have you ever wondered why do you even write blogs? Is it to share the information or to grow as a blogger? Well, whatever the reason it might be I got your back with Blogtiple.
But how? you ask.
Hmmm! good question, before I answer that let me tell you what is the major problem I solved with this product.
The Problem
After getting into this Tech blogging world I realized one thing there are a lot of other blogging websites except Hashnode and Dev.to and the one other realization was that the more you post on each and every platforms the more audience and exposure you will have. This can also mean more leads for your next freelancing gig or maybe more recognization and if you are the second type who just want to share their blog post isn't it better the more people are now reading your blogs across the other Platforms?
But it's obvious to most of the users and they already post it to other platforms too. But, personally copying and pasting everything, it's a drag for me.
I can't copy and paste all my content across every other platform its too much work. So what's the solution?
The Idea Behind Blogtiple
I thought to create a pipeline/system which can automatically import my already written blogs and post them to other blogging platforms. Well, that's what Blogtiple does for you all you need is to select the provider and Copy paste the link of your blog, and click post.
Cool and comfy isn't it?
Features
Importing your already written blogs.
This is one of the core features we offer and the flow works something like below.
As you can see the user is providing a URL and Provider for their blog, after that, we fetch that blog either from Dev, Medium, or Hashnode depending on the provider, and then post it to other platforms.
Till now we are only supporting Medium, Hashnode, and DEV but planning to add more as we grow.
Scheduling Blogs for later (Beta)
It's another amazing feature of this App, Say you want your blogs to be posted on different days on different platforms. You can easily schedule your posts on the days you like and I will be posted on them.
This feature is using Netlify's function's cron job which was released this month only.
Watch this video to understand more about the scheduling function on Netlify
The flow for the Scheduling works something Like this.
Other Features to be Included Are
- Advance Analytics to keep track of all the blogs across all Platforms.
- A Better markdown editor with Image and gifs and emoji integration support.
- New platforms
Demo
Posting Directly to Platforms
Let me show you how to post your blogs from Hashnode to other platforms i.e Dev and Medium.
I wrote a test Blog on the Hashnode here it is
Now let's get started
- Let's log in, I will be using google provider for login.
- Once you are logged in you will be seeing the Import blog page and will be something like below
- Goto setting and add the API keys for the platforms. Just so you know the keys are encrypted once they leave your browser so even I can't use it.
Now save each of the keys and go to the Import option.
In Import Page Select the Provider to Hashnode and paste the link and then click on the fetch to fetch any blog you want.
I will be fetching my test blog
- As you can see that it is fetched and displayed in the blog display Area.
Now let's select where we want to post and select put the original link as Canonical link. (It's important to put Canonical link)
You can also add some Tags too if you like.
- Now you are all set to post these blogs to the other platform.
Results
Here we get the post to Dev.to and Medium
Medium
Scheduling for Later
Instead of posting directly, we can also schedule posts for later
Just instead of clicking on Post just click on Schedule and then select the date you want to post to.
Video Demo
Role of Netlify
Here Netlify plays a crucial role, from hosting Blogtiple to triggering the scheduled functions by using Netlify functions for cron jobs. It is a crucial part of the scheduling feature and using Netlify functions solved a lot of problems and complexity I would have to deal with and efforts for writing my own cron job functions.
Challenges
The major challenge was to import blogs from Medium, as Medium does not support any fetch API for the user blog and only supports post API. The workaround was a hard job and the tradeoff was the time complexity increased a lot.
Second major challenge was to find a good way to trigger functions for scheduling as firebase function was my first choice but they are not free for use, hence I needed to find something else after some research luckily I got to know that Netlify has just launched cron job function this month and the timing couldn't be more perfect for me.
Also to ask users to give the API key for posting blogs to their blog still feels a lot, So I thought why not encrypt the API keys before they leave the client's browser this seems like a smart idea for the time been, but I am still having seconds thoughts on that.
One of the major problems is the URL, as medium and Hashnode have different kinds of URLs, some users have subdomains and some user have hosted their blog on their own domain. Writing cases for each kind of URL was a big challenge and I still think it's not fully resolved.
Future Plans
In the future, there are some features I think are mandatory for this product of mine
- Advance Analytics to keep track of all the blogs across all Platforms.
- A Better markdown editor with Image and gifs and emoji integration support.
- I am thinking to add as many blogging platforms as much as I can.
- Finding a better way to store API keys that is much safer and encrypted.
Tech Stack
To build this amazing product I used.
- NEXTJS for frontend and API calls
- Material UI for Design
- Firebase for authentication and Database
- Netlify for Hosting and for scheduling function