It's 2022, today if you decide to start a blog you will probably use Medium, if you want to accept donations from your readers you will use Patreon or BuyMeACoffee, if you need to have all your links in one place you'll use Linktree
That's three different platforms to manage.
Imagine you can have all three in one form factor...well you don't need to imagine anymore, it's here.
Introducing Quickk
Quickk allows you to start your blog, accept donations, and have all your links in one place.
Let's go over what Quickk has to offer:
1. Blog
To set up a blog with Quickk is straightforward, all you need to submit are:
- Your email
- A password
- A username
- A display name for your blog
That's all, it takes less than 2 minutes to set up your account and start writing articles.
Blog features:
- Like
- Comment
- Share
- View count
- Cover image
2. Donations
You can start accepting donations from your users in cryptocurrency.
But why crypto?
Well, Quickk is just starting out and my goal for it is to have anyone from any part of the world accept donations from their readers from all over the world. Platforms like PayPal and Stripe are not available in all countries which may be a problem for readers to donate and even writers to withdraw from their balance. Crypto is truly borderless and that's why I decided to go with it. In the future other payment methods will be implemented just in case your readers don't have cryptocurrency and they just want to donate in their local currency.
But crypto is volatile...
Or is it? ๐
Well, I thought about this too and that is why I decided to go with stablecoins, they don't lose their value so you will always have your earnings intact ๐ฏ
A list of all supported stablecoins:
Special thanks to LazerPay for providing the payment infrastructure.
How do I withdraw?
All you need to do is provide your USDT wallet and you will be credited between an hour and 24 hours. Very soon the process is going to be instant so you don't have to wait.
3. Links
What if you want to share the links to your Instagram, Twitter, Website, or anything link at all, a way of doing it is copying and pasting the link individually every time you have to share it.
The links
feature on Quickk allows you to have all your links in one place, so you won't have to copy and paste links every time you need to share them.
Let's talk about the tech!
We've talked about the features Quickk has to offer, now let's talk about the technologies that made it possible.
I will first make a list of the tech that was used and then go over each of them and why I chose them.
- React + Vite --> UI framework
- Chakra UI --> Component library
- Node JS + Express --> Backend framework
- Planetscale --> Database
- Sequelize --> ORM
- Cloudinary --> File storage
- Lazerpay --> Payment
- Nodemailer --> Email
Before I go over these, a big shout to my friend Immanuel who worked with me on this project. I built and consumed the APIs while he styled the pages.
Fun fact: He introduced me to Chakra UI
Now let's talk about the tech
React + Vite
Using React for a web app in 2022 is no-brainer as it has a lot of features to offer which makes it a better choice over Vanilla JavaScript, also it has pretty much become the new standard for creating web apps. Vite comes into the picture when initializing the React app, the default way of initializing a React app with create-react-app takes a lot of time, sometimes over an hour to initialize a new React app, using Vite cuts down the process by over 95%, it takes less than 5 minutes to initialize a new React app, Vite also supports other frameworks like Vue and Svelte. Big shout out to Evan You for creating this amazing tool.
This video by Fireship explains Vite in 100 seconds
Chakra UI
Chakra UI is a fairly new React component library that makes styling web apps really intuitive. It comes with pre-built components and they are 100% customizable with the CSS syntaxes you already know without having to leave your jsx/tsx.
It's the perfect blend of Bootstrap and Tailwind CSS
Node JS + Express
Node basically provides the runtime environment to run JavaScript on the server. Express JS just makes it really easy to set up the server, and API routes and also allows the use of middlewares which makes the process of creating backend web applications really fluid.
Planetscale
Planetscale makes it possible to set up serverless My-SQL databases. This month is actually when I first heard of it and the documentation was enough to get me up to speed. Also, special thanks to the guys over at Planetscale for partnering with Hashnode to host this hackathon.
Sequelize
Being a developer who is only familiar with working with NoSQL databases like MongoDB and Redis, Sequelize is a tool I used for querying the My-SQL database without having to write SQL code.
Cloudinary
Cloudinary was used on this project to basically store user profile pictures and cover images for articles.
Lazerpay
Lazerpay provided the payment infrastructure that is used in processing the payments on Quickk I chose it because it was very easy to set up an account and it also has a React library which made it really easy for me to integrate into the app so I didn't have to write an API to handle the payment.
Nodemailer
Users have to verify their email when signing up on Quickk, Nodemailer is a tool I used to handle that process. It was configured to my SMTP email server and it sends emails to users when they signup, request a password reset, and email notifications for when they receive a new donation.
What I'm working on
The version of Quickk out now is just the MVP, new features are still being built unto the platform.
Let's go through them:
- Post scheduling: It basically allows the writer to schedule their post to be published at a later date or time.
Draft: Allows the writer to take a break from their article and continue writing later, this comes in very handy when their article is lengthy and they need breaks in between.
Text formatting and embed: Right now, the editor on Quickk is just a basic textarea meaning that only text is supported, this feature will allow writers to format their texts in different styles and also have things like images, links, bullet points, embed links to name a few in their article.
Analytics: This feature will allow writers to have more insight into the traffic from their blog, they will be able to know the countries, device types, and other details about their blog readers.
Newsletter: With this, people are going to be able to submit their emails to a writer's blog and they will get notified via email each time there is a new article from the writer. This in turn will help them get more engagement on their posts.
Server-side rendering: This feature is really important because Quickk is a blogging platform and a really important thing about blogs is SEO which allows them to rank on search engines. React does not provide this right out the gate, so version 2.0 of Quickk is going to be written in Next JS which supports SSR.
I look forward to launching all these features unto the platform in about 3 - 4 weeks from the time of writing this article.
Where do we go from here?
This is a list of things to expect from Quickk in a few months:
- Better user interface
- Better performance and stability
- Support for more payment methods
- Mobile app
- Support for custom domain names
- More features on the platform
- Improved SEO ...and more
Useful links
- Live site --> quickk.blog
- GitHub Repository --> github.com/bossoncode/quickk
- My Twitter Handle --> @xing0x
- Immanuel's Twittter Handle --> obiabo
Thanks to Hashnode and Planetscale for hosting this hackthon.
Let me know what you think about this project in the comment section, your critics and suggestions are welcome. If you'd like to contribute to the project, use the repository link provided above.
Thanks.