Inspiration

A lot of my close friends have blogs I like to read, but I have never had a very good place to browse all of their blogs in one place. Plus, I wanted some other features to make reading from multiple blogs more convenient specifically searching and favoriting posts.

What it does

It connects to any RSS feed and basically adds it to a list of blog sites. It then can retrieve the RSS at any time and render the articles that been published recently. Then if any article is interesting, you can click on it and it will open the article in a webview. It also has search capabilities to help quickly find a post. It also has a liking system so you can save the blog posts you like the most!

How we built it

I built this in Swift with SwiftUI. I also but a mini version for the terminal using Rust just for fun and learning!

Challenges we ran into

SwiftUI and Swift are hard to debug and poorly documented for MacOS. Also XCode was unintuitive and the sandboxing was blocking all of my network requests. Also for some reason, it hides the file where you store app data so I would accidentally corrupt the data and then have to fight to get the application to start again.

Accomplishments that we're proud of

I'm proud of the functionality and looks. I think it looks really good like any native Mac app. I also think it is very functional, I can save blogs, explore them, and read from them in a very smooth experience.

What we learned

I learned everything I know about Swift through this project. I also learned a little bit of Rust. I think I learned some new development patterns because Swift UI is very different than anything I have done before. I don't especially love it, but I don't hate it, and I think the out of the box styling looks pretty nice.

What's next for Blogly

Not much, Blogly was a simple project to learn a ton and have something that is useful and it has fulfilled those goals. I would like to switch some of the loading of the blog information to async requests and lazy loaded views, but I would only really get large benefits from async if I did concurrency, and as such I need to learn about concurrency and concurrent data structures in Swift.

Built With

Share this project:

Updates