Meet Proselog: The Open Blogging Platform

May 20, 2022
EGOISTEGOIST

I'm thrilled to introduce Proselog: The Open Blogging Platform that I've been working on for the last 2 months in my free time! By open I mean it's open-source on GitHub.

And from now on Proselog has officially entered the Beta phase. ๐ŸŽ‰

I'm Reinventing the Wheel

My previous blog was a static website, every time I publish a new post or fix a typo I need to redeploy the entire site, the process usually takes 1 to 2 minutes thanks to the modern JavaScript frameworks.

And I'm getting sick of that.

Not long ago I decided to make my blog truly server-rendered, i.e. works like the good old WordPress, storing posts in the database and rendering them on demand when requests come in.

It worked well for me. So I decided to share the platform I built and make it work for everybody.

The Stack

Proselog is powered by Next.js, the React Framework. I chose it because it makes building multi-tenant applications a breeze. If you're building a SaaS app that wants to offer customer subdomains or even custom domains, definitely give it a go. The Vercel Platform Kit is a nice demo of that.

As for hosting, I use Fly.io because server-side rendering is slow unless it's a platform where you can deploy app servers close to your users, and Fly.io is just that. I didn't choose Vercel which is the creator of Next.js because it only allows single-region deployment for the serverless function. Currently, Proselog is running on servers in US West and Hong Kong, Fly makes multi-region deployment really easy.

Another problem that Fly solved for me is the multi-region database, your app will only be fast if your database is also close to your app server. Will share how I do it in the Next.js app soon.

A Learning Process

Building a product is also a learning process, and I can say I've already learned a lot and can't wait to share more about how I build Proselog in the future.

Roadmap

Things I will be focusing on in the coming months:

  • Improving the Editor
  • Improving mobile UI for the dashboard
  • Custom domain support
  • Newsletter improvements
    • Scheduling posts (currently scheduling posts won't send emails out when they become public)
    • Email styling (currently none, oops)
  • Public API for reading posts (so you can display your posts elsewhere)

Bear in mind that Proselog is still young, it's still considered beta software, please don't heisitant to share your feedback on our Discord Server.