Inspiration

Sometimes it's easier to read something in periodic installments rather than as one long webpage. The most common way we've seen this done is by requesting the user's email address and sending them content as emails. But this is annoying; we don't want articles to get lost among personal communication and marketing messages. A mature ecosystem already exists around RSS feeds for blogs and news sites, and we wanted to bring the benefits of RSS to durable, timeless content.

What it does

Serializer is like a DVR for RSS feeds. It takes a list of pre-existing articles and converts them to an RSS feed that reveals new articles according to a schedule. For instance, you can create a feed that adds a new article every day, or one every week. To adjust the schedule, all you have to do is change a URL parameter. Serializer also provides a searchable archive of collections so you don't have to assemble them yourself.

How we built it

We used Vue.js to build a web-based interface for creating article collections. The backend was written in Python and uses Flask and the feedgen library to generate and serve feeds with a time offset. The backend runs on Heroku

Challenges we ran into

A lot of our formatting was messed up after we moved the code to Heroku; it took a while to understand the problem. Sometimes the development server would keep serving stale versions of our code and we couldn't tell if our changes were doing anything.

Accomplishments that we're proud of

One member of our two-person team learned to code in two languages today. Both of us walk away with a useful RSS feed generator.

What we learned

We learned about generating feeds with feedgen and how to use the vuetify library to quickly build user interfaces.

What's next for Serializer

We'd like to use a more efficient database and integrate Elasticsearch so that our archive search feature will scale better. The article parser also has room for improvement, since it doesn't preserve text formatting correctly.

Built With

Share this project:

Updates