Skip to content

Instantly share code, notes, and snippets.

@jpfuentes2
Last active March 28, 2016 19:46
Show Gist options
  • Save jpfuentes2/a88bc6a81bc95f64dae3 to your computer and use it in GitHub Desktop.
Save jpfuentes2/a88bc6a81bc95f64dae3 to your computer and use it in GitHub Desktop.

Pushodoro

Pushodoro combines the Pomodoro Technique with a quick and simple calisthenics routine, starting with push-ups, to get your butt in shape.

We're killing ourselves

The awful truth: we sit on our butts toiling away at computers far too long -- and it's killing us. It makes us unhealthy, stupid, and we're 40% more likely to die within 15 years. The benefits from 30 minutes of rigorous exercise is completely erased if you sit for 6 hours.

Let's fix this problem

The Pomodoro Technique is a fantastic system which helps you focus, plan, and get your work done in a timely fashion. Also, it encourages you to take small breaks after finishing tasks which is a perfect time to get off your butt and do some calisthenics.

ADD MORE INFO HERE ABOUT WHY SMALL BREAKS OF STANDING FOR A FEW MINUTES AN HOUR LEADS TO A HEALTHIER LIFESTYLE

How it works

You create a task and start it with a timer of your preference (defaults to 30 minutes). When the time is up we'll alert you as a reminder to get up and do some push-ups. Of course, your options aren't limited to one exercise. We encourage you to switch it up; do some [sit-ups](http://en.wikipedia.org/wiki/Sit-up_(exercise), jumping jacks, [lunges](http://en.wikipedia.org/wiki/Lunge_(exercise), [crunches](http://en.wikipedia.org/wiki/Crunch_(exercise), or [squats](http://en.wikipedia.org/wiki/Squat_(exercise)!

Features

  • Pomodoro Technique
  • Elegant, intuitive, & stream-lined UX for task management
  • Encourage people to be healthier during Pomodoro "break" time
  • Makes getting shit done lively & fun
  • Achievements/points system for "leveling up"
  • Add social layer to engender friendly competition: "I did 20 more push ups than @jay!"

Prototype

I'm a proponent of building small, simple, and elegant tools. Thus, my prototype is ridiculously lean and concise. Check out the code below!

#!/usr/bin/env ruby
require "terminal-notifier"
require "clap"
require "json"
@minutes = 30
@task = "Empty Task"
Clap.run ARGV,
"--minutes" => ->(i) { @minutes = i.to_f },
"--task" => ->(t) { @task = t }
sleep @minutes * 60
TerminalNotifier.notify "Finished '#{@task}' after #{@minutes} minute(s).", {
title: "Pushodoro task finished",
subtitle: "Do 10 push ups! Get moving!"
}
`say 'Pushdoro task complete. Do 10 push ups!'`
puts "Did you Pushodoro? [y/n]"
pushodored = $stdin.gets.chomp.downcase == "y"
# save to our web-rofl-scale database
File.open("./tasks.log", "a") do |f|
record = {
task: @task,
minutes: @minutes,
finished_at: Time.now.to_i,
pushodored: pushodored
}
f.write JSON.generate(record) + "\n"
end
# Example: ./pushodoro.rb --task "finish pushodoro!" --minutes 15
@jeremy6d
Copy link

jeremy6d commented May 1, 2013

I really like this! I've been wanting to build a pomodoro app for myself since everything else out there sucks. What would be cool is if, in the same manner that you set out your tasks at the beginning of the day, you could set out a workout routine, and it would just pop off of both lists!

@jeremy6d
Copy link

Would you ever consider making this a non-secret gist? I'm considering building a talk around some of these ideas and would love to credit fully. :)

@jeremy6d
Copy link

Here's an outline of the talk I want to develop @jpfuentes2 https://gist.github.com/jeremy6d/58f27eafacdebd19367e

@jpfuentes2
Copy link
Author

Made it public just now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment