[HN Gopher] Show HN: A simple blogging platform I built out of f...
       ___________________________________________________________________
        
       Show HN: A simple blogging platform I built out of frustration with
       other tools
        
       Author : SkyLinx
       Score  : 157 points
       Date   : 2021-05-23 12:53 UTC (10 hours ago)
        
 (HTM) web link (www.dynablogger.com)
 (TXT) w3m dump (www.dynablogger.com)
        
       | webdevlion wrote:
       | Hi, congrats on launching! I can see that this project will be
       | giving quite a few companies a run for their money!
       | 
       | I was curious about your email-as-a-CMS solution. How does it
       | work? Did you take inspiration from an existing project that does
       | this?
       | 
       | I am aware of how Amazon uses something similar to allow people
       | to email PDFs to their Kindle devices. But I am very interested
       | in how you got your solution to work.
       | 
       | Cheers! And thank you!
        
         | SkyLinx wrote:
         | Hi! And thanks a lot for the nice comments! :)
         | 
         | To be honest I borrowed the idea of publishing via email from
         | Hey World. That platform is too minimal but it's nice that you
         | can post also by sending an email, so I implemented this
         | feature in DynaBlogger right away because I think people might
         | like it :) The way it works is very simple. Each blog gets a
         | unique email address, you or another user with access to the
         | blog sends an email to that address and the post is published
         | immediately. Images and code blocks are supported. The format
         | is expected to be Markdown, so it's best to send the email as
         | plain text to avoid complications depending on the email
         | client. For now the editor in the app is Rich Text only but I
         | am planning to add Markdown there too if I see it requested. :)
         | 
         | Thanks again for the nice feedback!
        
           | webdevlion wrote:
           | Thank you so much for the information!
           | 
           | Did you implement the email feature in DynaBlogger from
           | scratch?
           | 
           | I have been on the look-out for open-source projects that do
           | email-as-a-CMS for a long time. I build websites and blogs
           | for companies and individuals, and any CMS that I include
           | (other than self-hosted Ghost) is very harsh on the content
           | teams of these companies.
           | 
           | They are non-technical people who don't understand
           | frontmatter and markdown. Email looks like the perfect
           | publishing medium for this demographic.
           | 
           | Can you give me some direction on how I can build myself an
           | email-CMS solution similar to what you have implemented in
           | DybaBlogger? Thanks!
        
             | SkyLinx wrote:
             | Sure! DynaBlogger is a Rails app, so I could use some built
             | in support for this called ActionMailbox. It's pretty
             | simple really and it supports various email services. I use
             | Postmark for this :)
        
               | webdevlion wrote:
               | Perfect! You have given me enough information to get
               | started.
               | 
               | Thank you! And all the best for DynaBlogger!! :)
        
       | jjice wrote:
       | The email option is a simple concept, and it's the simple stuff
       | that we often look over. I'm a big fan, nice job!
       | 
       | $8 a month seems like a great price point for a fully managed
       | service. Just out of curiosity, what's the plan if someone's blog
       | gets a lot of attention and ends up using quite a bit if
       | bandwidth? I don't think that'd be an issue unless there are a
       | ton of images, but I'm always interested in how devs choose to
       | handle these edge cases.
        
         | SkyLinx wrote:
         | Hi! Thanks for the nice words! :) For now I am not limiting
         | traffic etc because I'm still in the beginning so I'll see how
         | it goes. I have a ton of bandwidth paid for with the servers so
         | it will be mostly a matter of load on the servers in the end.
         | But for now the Kubernetes cluster costs me just 70e/mo with
         | quite a nice amount of reasources. It's cheap because I manage
         | everything myself. I can scale with one click, but if I find in
         | the future that some user use a lot of resources then I will
         | implement some limits and perhaps more plans. For now I want to
         | keep it as simple as possible :)
        
         | throwawayboise wrote:
         | Is the secrecy of the blog's email address the only thing
         | protecting anyone from posting to a blog via email?
         | 
         | "From" headers on emails are easy to spoof, and it doesn't look
         | like you're requiring digital signatures.
        
           | SkyLinx wrote:
           | At the moment authorization relies on the secrecy of the
           | unique address, yes. I wanted to keep it simple. As long as
           | you don't share that address, which is close to impossible to
           | guess, you should be fine. Is there something else you would
           | recommend I implement, that doesn't impact on usability?
           | Thanks!
        
             | ithkuil wrote:
             | Is it easy to regenerate that address when I want to?
        
               | SkyLinx wrote:
               | Not currently, but it would be a few minutes work to add
               | that possibility. I'll take a note about it :)
        
             | throwawayboise wrote:
             | I'm not an expert here, but I suppose that only processing
             | emails that have pass all the SPF/DKIM/DMARC checks would
             | help. This may be something your email server already does,
             | before your app ever sees the emails.
             | 
             | Otherwise, requiring a digital signature doesn't seem like
             | a huge usability hurdle to me, most email clients support
             | this pretty routinely.
        
               | ipaddr wrote:
               | That would be such a big hurdle for the average user. The
               | risk is low and the subject(blog) makes this a low
               | target.
        
               | SkyLinx wrote:
               | Yeah I think it would be a little overkill. The unique
               | email addresses are almost impossible to guess so you
               | just need to make sure you don't share them with anyone.
        
       | cbradford wrote:
       | This is very cool and a solution I think the world needs, simple
       | blogging. Question: Would you consider a pricing model to allow
       | self hosting?
        
         | SkyLinx wrote:
         | Hi! Thanks for your comment, I appreciate :) I am considering
         | an option for self hosting. Need to think about it on how to
         | make it work, but for now I am focussing on the hosted solution
         | :)
        
         | ______- wrote:
         | > Would you consider a pricing model to allow self hosting?
         | 
         | I remember I self-hosted a Ghost blog and mirrored/served the
         | content with a CDN. It was tricky because once I changed a
         | post, or altered the blog's code, the CDN had to be manually
         | cache-busted if there was any change on the VPS instance of the
         | blog. I done that a scary amount of times, making me believe
         | blogs & blogposts are never 'finished'.
         | 
         | Some of my posts were picked up by various news outlets and
         | that spiked the traffic. I was thankful I served it from a CDN
         | because my Digital Ocean instance surely would have went
         | offline due to the attention / hug of death.
         | 
         | Does Dynablogger handle traffic spikes gracefully?
        
           | SkyLinx wrote:
           | Hi! It's hosted in Kubernetes so I can add nodes with one
           | click if needed :) I am getting around 450-500 concurrent
           | visitors at the moment and 2K total uniques since I posted
           | and it's like nothing is happening. So in away this posting
           | is a good test as I am still 1st on the front page I think :)
           | 
           | Static site generators I nice, but I just prefer hit and save
           | to publish immediately. As for CDN and caching, DynaBlogger
           | uses Cloudflare as CDN and does a lot of caching of the
           | dynamc content too.
        
             | ______- wrote:
             | Cool. Good to know that. I wish you luck with it.
        
               | SkyLinx wrote:
               | Thanks, I appreciate! :)
        
             | amzans wrote:
             | Thanks for the transparency, it's cool to see other
             | bootstrapped founders running Kubernetes :) And congrats on
             | the launch!
        
           | alanfranz wrote:
           | Sidenote: unless you think you can get really, REALLY
           | popular, you won't hit a CDN-deserving load.
           | 
           | My own homepage/blog is hosted on a cheap 100mbps box on OVH
           | (the server has 16gb of RAM but the CPU is from ~10 years ago
           | or so); I use self-hosted Ghost with a caching nginx reverse
           | proxy. Cache expiration is around 30 minutes (I think). The
           | price for such box is around 20 EUR/month for the whole
           | server.
           | 
           | In order to crash such an instance I'd need an insane amount
           | (of course now that I need the hard numbers I cannot find the
           | log I had dumped at the time with Locust) of simultaneous
           | users - something that never got close to happening, not even
           | in those couple of times where I reached the frontpage on HN.
           | My best posts got the box/bandwidth at around 1% the load
           | that was needed to start dropping a significant number of
           | requests.
           | 
           | Don't optimize for the problems you wish you had.
        
             | josephg wrote:
             | > Sidenote: unless you think you can get really, REALLY
             | popular, you won't hit a CDN-deserving load.
             | 
             | I don't agree. A few months ago my blog post on CRDTs got
             | 100k views within a week after landing on the top of HN.
             | It's just hosted on ghost with some poorly written custom
             | theme that loads a ton of CSS for some reason. The VPS I
             | host it from wouldn't have dealt with the traffic - it
             | served over 50 gigs within a week; and that's over my VPS's
             | monthly cap iirc.
             | 
             | I have the whole site behind Cloudflare's free plan and it
             | handled the load flawlessly. And cloudflare also makes the
             | webpage load faster for everyone. It seems like a no
             | brainer to me.
        
               | NorwegianDude wrote:
               | 100k hits over a week isn't much all things considered.
               | 
               | A static blog post that requires ~0,5 MB of transfer can
               | be easily served from low powered server in an hour.
               | That's only slightly above 100 Mbps and 27 rps. Servers
               | are fast, much much faster than that.
               | 
               | Of course, poorly written code might make any solution
               | too slow.
        
               | SkyLinx wrote:
               | Agree, that's not much. Since I submitted this I saw up
               | to 2K concurrent users at some point when I was 1st.
               | Would be nice to have this sort of traffic for a week! :p
        
             | chrisweekly wrote:
             | Friendly reminder that the CDN doesn't just protect the
             | origin server from excessive load, it can also drastically
             | improve end-user latency.
        
               | SkyLinx wrote:
               | Totally, that's a very important reason to use a CDN.
        
             | SkyLinx wrote:
             | Hi! The Kubernetes cluster is managed by myself so I have a
             | pretty amount of resources for just 70e/month, and I can
             | scale with one click. I plan on writing about the infra. Of
             | course I'd like to think that this project will work, so I
             | was happy to prepare for it. I enjoy devops besides coding
             | so I am happy to do this. I need to consider what would
             | happen if, say, a couple of my users hit the front page of
             | HN at the same time or things like that. Already myself I
             | have seen a peak of 2K concurrent users since I posted
             | this, so I don't want to crash easily. :) As for the CDN,
             | it's also for performance/reduced latency.
        
       | infide1castr0 wrote:
       | Congrats again on launching - appreciate the openness and the
       | project seems interesting! Simple question here, as I somehow
       | always seem to miss this feature on most blog sites, does this
       | project handle pdf hosting as a blog post?
        
       | deepdmistry wrote:
       | Hi, great implementation, i was curious if there was any plan to
       | offer a pricing per blog or something of the sort. I don't write
       | too much even though id like to, so 8$/mo seems steep to justify
       | me writing once in a while. So a pricing per post or something
       | might be awesome
        
       | agentdrtran wrote:
       | any plans for a self-hosted version?
        
         | SkyLinx wrote:
         | Hi! You're the second person who asks about this :) For now I
         | am focussing on the hosted version but I will consider a self
         | hosted option at some point.
        
       | [deleted]
        
       | jameshart wrote:
       | > A simple blogging platform I built out of frustration with
       | other tools
       | 
       | I like this phrasing. Many of the best things are made out of
       | frustration - it might be one of the most important building
       | materials for software.
       | 
       | 'Cool blogging platform! What's it built out of?'
       | 
       | 'Frustration'
       | 
       | Definitely better than building one out of fear, anger or greed.
       | 
       | Actually, in some seriousness, I think stackoverflow was built
       | out of anger - and used that to clearly define what their
       | differentiators and value proposition were. So maybe hanging on
       | to that original motivation could be an important part of setting
       | out what makes this different.
       | 
       | Anyway, congratulations on launching.
        
         | ytjohn wrote:
         | One place I worked followed the principals of ODD. Depending on
         | the context, it was either Outage Driven Development or Outrage
         | Driven Development.
        
           | SkyLinx wrote:
           | I like that :D
        
         | SkyLinx wrote:
         | Hi! And thanks :) Not sure if frustration is the right word
         | (not native speaker) but I wasn't happy with existing tools for
         | a reason or another so I thought why not build one that I truly
         | like :)
        
           | officialjunk wrote:
           | Sounds like the right word here.
        
             | SkyLinx wrote:
             | Thanks for confirming. Sometimes the translated equivalent
             | might be misleading :)
        
       | bullen wrote:
       | I also made a wordpress alternative: http://sprout.rupy.se
       | 
       | It's open source (https://github.com/tinspin/sprout), but I doubt
       | anyone would pay for it if I scrounged up some hosting?
       | 
       | What are the numbers on this project if it's not to blunt to ask?
       | 
       | Also what programming language did you use?
        
         | SkyLinx wrote:
         | Hi! The app is written in Ruby on Rails :) So far I have around
         | 100 users I think. I am getting new sign ups now since posting
         | this so looking forward to seeing where this goes :)
        
           | bullen wrote:
           | Not bad! Thanks for being open! Good luck!
        
             | SkyLinx wrote:
             | Thank you! :)
        
       | SkyLinx wrote:
       | Hello HN!
       | 
       | Maker here. I've made a ton of improvements (like, a lot) over
       | the past 8 months and I'm excited to share an update with you all
       | on DynaBlogger.
       | 
       | As a web developer, I very often find solutions to problems in
       | blogs, so I like to give back by publishing a post whenever I
       | find a solution to a problem on my own or learn something new.
       | 
       | For my blog I have used many tools over the years, from a
       | heavyweight CMS like WordPress to static site generators and
       | everything in between. I do prefer using a CMS for this, so I can
       | just edit a post, hit publish and be done with it, rather than
       | writing a post locally and pushing to a repo waiting for CI to
       | actually publish it.
       | 
       | So I have used WordPress for most of the time, but I never felt
       | comfortable with it somehow. For one, it's often overkill for
       | simple sites and blogs; second, it's not always easy to keep a
       | WordPress site fast and secure. I have never considered
       | alternatives like Medium because I want to own my content on my
       | domain and be free to customize my blog as I please.
       | 
       | So I built DynaBlogger out of my own need and I've been hacking
       | on it for some months now. With DynaBlogger I propose an
       | alternative publishing platform that has all the essential
       | features most people need, and nothing more, for a focused
       | writing experience with no distractions.
       | 
       | DynaBlogger differs from a heavyweight CMS like WordPress in that
       | it offers a simplified setup with no plugins and not too many
       | settings etc.
       | 
       | However, it also differs from the several "minimalist"
       | alternatives available because it's not too barebones and offers
       | the ability to fully customize your theme with the built in code
       | editor, if you wish. You can edit templates directly in the
       | browser as well as upload assets and see changes in realtime. You
       | can have multiple themes installed with one active, so when you
       | make changes you can work on a copy and activate it when ready.
       | No need to work on files locally, and upload a new version of the
       | theme to see the changes with your content. Pretty handy.
       | DynaBlogger doesn't have many themes yet but I will be adding
       | more over time, and soon any user will be able to share a theme
       | on a marketplace with other users (maybe even sell them at some
       | point).
       | 
       | Perhaps the most similar blogging platform to DynaBlogger is
       | Ghost, with a few key differences. DynaBlogger doesn't offer
       | newsletters and memberships yet (perhaps in the future), but it
       | offers easier customization of the themes and is more affordable.
       | DynaBlogger also cares more for some details concerning for
       | example SEO, redirects, publishing via email, etc.
       | 
       | It's a fully managed platform, so you can just focus on writing
       | content and everything else is taken care of.
       | 
       | Tech stack for the curious:
       | 
       | - App written in Ruby on Rails - Postgres for the data - Redis
       | for background jobs - memcached for caching - Hosted in a
       | Kubernetes cluster managed by myself
       | 
       | I would appreciate if you could give it a try. You can sign up
       | for a free 14 days trial and if you decide to stay, please use
       | the coupon code 6649CB68 at checkout for a 15% discount. You can
       | also import content from a WordPress or Ghost blog, so you can
       | try it with your own content.
       | 
       | Let me know if you have any questions or any feedback, really!
        
         | vdddv wrote:
         | Hi, could you share some examples of real blogs built on the
         | platform? Thanks
        
           | SkyLinx wrote:
           | Hi! The best example for now is my own blog since it has
           | quite a bit of content https://vitobotta.com/ - it's a blog
           | about programming and devops :)
        
         | freehrtradical wrote:
         | > You can edit templates directly in the browser
         | 
         | Do the templates contain code?
         | 
         | WordPress used to have a feature to edit PHP plugin code
         | through the browser and it was a security nightmare. If you
         | allow code editing, I suggest disabling it by default and when
         | an attempt is made to enable it, send an email to the site
         | admin to confirm before enabling.
        
           | SkyLinx wrote:
           | Hi! The templates use Liquid, a very simple but powerful
           | markup language based on HTML. It takes a few minutes to
           | learn! It's the same markup used by Shopify - they created it
           | https://shopify.github.io/liquid/
           | 
           | It's very safe though, it cannot execute harmful code :)
        
       | bernardv wrote:
       | Simple is good. I like it.
        
         | SkyLinx wrote:
         | Thanks! Glad you like it :)
        
       | iamgopal wrote:
       | Nice Start. Just other day, I was thinking about a feature that
       | is missing here, and see if you can add it, is the possibilities
       | of the blog and site to be alive long after someone dies,
       | probably to the end of the internet. Even after their credit card
       | stops etc. ( Probably for a one time fee, add tech that is
       | distributed etc ).
        
         | SkyLinx wrote:
         | Hi! I like the idea actually. How much would you pay for this
         | feature?
        
       | inson wrote:
       | Great job, congrats on launching. Would you mind sharing the
       | software stack you're using for that?
        
         | SkyLinx wrote:
         | Thanks! Very happy so far with how it's going. The app is
         | written in Rails, and I use Postgres/Redis for the data and
         | memcached for a lot of caching. Everything is hosted in a
         | Kubernetes cluster than I manage entirely myself. Ask away if
         | you would like to know more :)
        
           | yuvalr1 wrote:
           | Why did you choose to manage the k8s cluster yourself and
           | didn't go with a managed service, that may arguably save time
           | and maintenance?
        
             | SkyLinx wrote:
             | For one it's a lot cheaper - I use Hetzner Cloud and I have
             | plenty of resources for just 70e/mo. But I also like devops
             | etc so I don't mind it :) Later of course I can switch
             | easily to a managed service if needed.
        
               | yuvalr1 wrote:
               | Indeed important :) I wonder what is the difference in
               | price. Thanks for sharing!
        
       | gtirloni wrote:
       | This looks very good, congratulations.
        
         | SkyLinx wrote:
         | Thanks a lot! I appreciate it :) Let me know if you have a
         | chance to give it a try and have any questions or I can help in
         | any way.
        
       | andrewfromx wrote:
       | pretty cool. The coolest idea I've seen recently with competition
       | to substack is https://subclout.com/ where they almost cloned
       | substack, down to the UI, but it runs on the clout system.
        
         | SkyLinx wrote:
         | Hi! And thanks :) I think I will likely need to add
         | subscriptions etc if I see that it is requested. But for now I
         | want to keep it simple :)
        
       | spullara wrote:
       | Luke W and I made a blog platform for him in an afternoon on a
       | Saturday years ago. Works pretty well. They aren't hard to build
       | IMHO and if you write it yourself it just does exactly what you
       | want it to do:
       | 
       | https://www.lukew.com
        
         | SkyLinx wrote:
         | For me witb DynaBlogger the thing that took most of the time
         | was implementing the themes so that they can be edited by the
         | users. A blogging platform isn't rocket science but can be
         | challenging for some things. :)
        
           | spullara wrote:
           | In this case it isn't a blogging platform per se, it is a
           | single blog for one person. Luke's a designer that can also
           | make any changes necessary.
        
             | SkyLinx wrote:
             | Oh I see, I thought it was multitenancy etc :)
        
       | stanislavb wrote:
       | Can you see the revival of blogging and RSS?
        
         | SkyLinx wrote:
         | hi! I think that blogs won't "die" easily. Sure social media is
         | all the rage these days but most quality content is usually
         | found on blogs in my experience. I find help in blogs on
         | countless occasions in my job and I am sure that this is true
         | for many other people too :)
        
           | cpach wrote:
           | I really agree. For example in infosec, lots of valuable
           | texts are published on blogs. Then the author spread them via
           | e.g. Twitter. I don't see that way of publishing going away.
        
             | SkyLinx wrote:
             | Exactly! I find it funny that every now and then someone
             | says that blogging is dead and things like that. I don't
             | see it happening any time soon as well as I don't see
             | people publishing e.g. long form essays etc on Facebook.
        
       | dt3ft wrote:
       | Just something I noticed: the pricing information on the
       | frontpage and the pricing page does not seem to match.
        
         | SkyLinx wrote:
         | Hola! Just checked and am not sure what you mean :) Pricing is
         | $8/mo billed yearly ad $9/mo if monthly. Should I make this
         | clearer on the home page somehow? Thanks!
        
           | klausjensen wrote:
           | The pricing is clear to me. :)
        
             | SkyLinx wrote:
             | Thanks!
        
       | mastrsushi wrote:
       | This is cool and ambitious, but isn't it a bit like David vs five
       | Goliaths?
       | 
       | What does this do exactly that the average blogger would choose
       | over WordPress, Ghost, Wix, Blogger, Tumblr, and many others?
       | 
       | Is this aimed at the average blogger? If it's for tech people
       | then you have a chance for a niche platform.
        
         | SkyLinx wrote:
         | Hi! DynaBlogger targets mostly users who don't need WordPress
         | which is a beast and has a lot to offers because it's designed
         | to create many kinds of websites, but like I said in the OP
         | it's often overkill if you just want to publish content easily
         | and quickly. It has just the features that most people truly
         | need to publish content but it's not too "minimalist" at the
         | same time. It's a balanced option IMO :) I know that there are
         | several other options of course, but most of them are website
         | builders (so kinda different) or by companies like Google who
         | you pay with your privacy. So I am hoping that some people
         | share the same views :)
        
       | andmichael wrote:
       | Good job, functionality fits my needs and the UX is really good.
       | One suggestion, seeing as though the whole thing is cloud-based
       | and I can't really be sure dynablogger will be maintained
       | forever, it'd be nice to have an option to export the blog
       | content to your own machine. While I could just ctrl+c ctrl+v, I
       | think it's more convenient to be able to export all at once.
        
         | SkyLinx wrote:
         | Hi! Import and export is on my list already. It will be
         | possible to export both in json format (so for example you can
         | move content between blogs in DynaBlogger) and to plain HTML so
         | in the worst case scenario, the user can just export to static
         | pages and publish them quickly on Netlify or something. Having
         | said that, DynaBlogger doesn't cost me much to run now and it
         | will be even easier once I have a bunch of paying customers, so
         | I am definitely committed to keep it running for as long as I
         | can :)
        
       ___________________________________________________________________
       (page generated 2021-05-23 23:01 UTC)