In today’s hack, we decided to build an application that will help future editions of Friday Hacks. Basically, the application lets you propose projects to work on. Then, users will be able to upvote or downvote ideas and then allows to form teams to work on the best ideas.

After the hacking event is finished, projects are ranked by points. As a reward system, points could be exchanged for free working hours. For instance, after reaching enough points, it could be exchanged for a day off.

Here is the basic prototype:

It is a simple Django application with a login system, coupled with a Postgres database. There are 3 models:

  • Team Model: Model for creating teams. A user joins a team.
  • Project model: Model for proposed projects. A project has a team associated with it
  • Rank Model: Model for reward system. Projects and teams are ranked and get points

Basic UI:


The application is still very basic and contains some minor errors. Next week, we hope to continue working on mechanical details such as

  • Project and Team proposals
  • Matching algorithm for projects and teams
  • reddit-like upvote/downvote system for proposed projects.
  • Ranking system and point allocation for projects and teams

Today, we built a slide presentation template using the Reveal.js framework. This framework is great for HTML-based presentations and it is a great hack for any technical speaker for the following reasons:

1) It is browser-based: you don’t need Power Point or Keynote to deliver your presentation (but you would need an internet connection)
2) Is is great for showing code: you can display code in a nice and concise way
3) It has an additional functionality: you can move up/down and left-right. So, you can better define the sections of your presentation
4) It is highly customizable: you can add bell and whistles or all sorts in custom css and js files.

Here is the template:

Reveal.js Template

Basically, every slide is a considered a section: <section> I am a slide </section>, and then you can treat every single slide as a HTML page.

Today’s hack is about turning Friday Hacks’ boring static Github Pages website into a more dynamic blogging platform powered by Jekyll. In order to do that, I set to find a sample template that would fit the style and content of this site. The HPSTR theme by mmistakes was the perfect fit


Friday Hacks 1 FridayHacks website, using static Github Pages


Friday Hacks 2 FridayHacks website, using HPSTR Jekyll theme

First, I had to fork the HPSTR repository, cloned it on my sandbox, and installed dependencies with

 bundle install

Then, I modified certain files such as _config.yml and navigation.yml, and I also did a bit of clean up (removed sample blog posts and unused pictures).

Now, every time I want to add a new post, I add it to the _posts folder with a .md extension. Then, need to test it in localhost by changing url parameter in the _config.yml file to serve in localhost instead of the url:

 url: #

Then, I need to run the following commands:

 bundle exec jekyll build
 bundle exec jekyll serve

If all goes well, I uncomment the url in the _config.yml file and push it directly to Github.

In today’s hack, we worked on giving the OpenNEAR project some color and personality. We started by creating a simple logo with the awesome website LogoMakr

The basic logo now looks like this


It is simple and elegant. Then, we built a simple website using Bootstrap and Github pages. Nothing too complicated. It is very simple static website:


Now the have some small branding going on, it is time to get to work and get things done.

Credits: Check out the new logo that I created on

Today’s hack is Mac specific. We look into solving a big data problem: email search. More specifically, we will use Mac’s Mailsteward application to download and archive emails from different accounts.

Archiving emails is a good strategy, you never know when you would need an specific email. Mailsteward allows to archive emails into a MySQL database, so you can perform complex queries from multiple accounts at the same time.

To get started, you need to make sure to have MySQL server installed in your Mac. Then, go to Mailsteward and download a trial version (upgrade when you need to) to test it out. In our case, we went with a trial version of Mailsteward Pro. The way it works is that Mailsteward will work with Apple Mail and archive your emails into a database independently of Apple Mail, without removing them from Apple Mail. The database will be hosted locally, but you can set a remote database server if you wish so.

After installing Mailsteward, you can take a look at the MySQL tables


Next, we will connect Mailsteward with Apple Mail, so Mailsteward will be pulling emails from Apple Mail connected accounts


Start archiving process:



Once we are done, it will tell you how many emails got archived from all your accounts. You can allow for duplicate emails or disable duplicates.


Now you have an email database, everything indexed and organized:


You can then perform complex search queries in your entire email database:


Finally, you can schedule automatic email archiving as follows:


And voila! Your own email database ready for big data queries.