[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)