With how much Hive has similar to Reddit, it is a true wonder that no one has attempted to replicate the Reddit experience fully yet. As a result, I decided to see if I could do it. Peakd is great and already has everything you need to do everything on the Hive blockchain, but in the world of software engineering, the question to ask when starting a new project is often Why not? rather than Why? Besides, I wanted to wet my feet a little with developing on the Hive blockchain and what better way to do it than re-create a frontend from scratch?
Introducing Hiveddit
It's literally the most uninspiring name there is, but who cares, right? My aim was to emulate the Reddit interface as much as I could, focusing on the content as much as possible. Unlike Peakd and Hive.blog, top-level posts only show the avatar of the community and not the author's, just like how Reddit does it.
Right now, many things don't work just yet - voting, personalized feeds, community feeds, all that stuff. What's working? Well, you can view posts from a selection of trending/hot/new feeds.
Thanks to the Hive API, I didn't have to manage any servers or do any hard data clean-up. It's all available for free and is relatively easy to use even though it can be a little daunting at first.
By far, the most annoying thing that I dealt with was the fact that most people used non-standard Markdown when writing their posts, making it ten times harder to render them the same way that Peakd or Hive.blog does. And the fact that all the Hive platforms render them correctly means that everyone's using non-standard Markdown. I haven't ironed out all the kinks just yet, but I'm trying my best to. (Why would you put Markdown in between HTML tags when it's not in the spec? Oh wait, I do that too. Guilty as charged.)
On top of the basic rendering of posts and comments, I also made sure that videos were playable on these large preview cards.
Both 3speak videos and YouTube videos should play well. And you get a spiffy large player without having to go into the post details as well! This is probably the only real "feature" that I have over existing frontends for now.
What's Done
Nothing better than creating a checklist just to tick a bunch of them off, so I'll do that right now.
✅ Got a nice domain for the project: https://hiveddit.com. You can check it out right now!
✅ Basic rendering for posts and comments
✅ Nice image and video previews of each post
✅ Three different content feeds: Trending, New, and Hot. What more could you ask for?
✅ Deployed to Vercel on my free-of-charge Hobby plan
What I'm Planning to Do Next
And of course, a checklist of the things that I'd like to do soon.
☐ Add in a way to sign in with Keychain, so you can actually see the feed that matters to you.
☐ Show cross-posts properly
☐ Enable voting on posts and comments
☐ Add community and tag pages
☐ Probably do some NSFW and low-reputation filtering
☐ Another 100 other features that Peakd has
What's the Point?
Honestly, creating stuff is just fun. I haven't done any cool side projects for a while and I figured that if Hiveddit was done well it could be a pretty cool piece for my portfolio. Do I plan for it to be the Next Big Hive Frontend™? Nah, that would be too big an undertaking. I just want to create pretty things and have cool things to show on my portfolio.
Anyway, if you haven't yet, do check Hiveddit out at https://hiveddit.com. I promise it's not going to hack your Hive account or do anything funny.
I hope you enjoyed reading this little dev blog of mine and my short 1-day journey thus far creating Hiveddit! If you'd like to follow the progress of Hiveddit, do give me a follow - I'll post updates as I go along!