All Projects → Procrat → eva

Procrat / eva

Licence: Apache-2.0 license
Let algorithms decide your life.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to eva

Treenote
An intuitive outliner for personal knowledge and task management
Stars: ✭ 100 (+284.62%)
Mutual labels:  gtd
opla
🚀 🤖 Your open chatbot builder. Start here to install Opla. ✨
Stars: ✭ 46 (+76.92%)
Mutual labels:  virtual-assistant
salutejs
SmartApp Framework для создания навыков семейства Виртуальных Ассистентов "Салют" на языке JavaScript
Stars: ✭ 35 (+34.62%)
Mutual labels:  virtual-assistant
Yokadi
Command line oriented, sqlite powered, todo list
Stars: ✭ 119 (+357.69%)
Mutual labels:  gtd
Cuekeeper
Browser-based GTD (TODO list) system. No server needed.
Stars: ✭ 184 (+607.69%)
Mutual labels:  gtd
SiebenApp
Experimental dependency-aware goal manager
Stars: ✭ 13 (-50%)
Mutual labels:  gtd
Tracks
Tracks is a GTD™ web application, built with Ruby on Rails
Stars: ✭ 991 (+3711.54%)
Mutual labels:  gtd
motivational-numerology
Simple web page to calculate and interpret the numerology numbers derived from your name and birth date (in English, French, and Turkish).
Stars: ✭ 23 (-11.54%)
Mutual labels:  motivation
Hamster System
Ultra-simple framework to organize your life.
Stars: ✭ 237 (+811.54%)
Mutual labels:  gtd
faq-virtual-agent
Build your faq virtual agent in 5 minutes
Stars: ✭ 24 (-7.69%)
Mutual labels:  virtual-assistant
Taskwarrior
Taskwarrior - Command line Task Management
Stars: ✭ 2,239 (+8511.54%)
Mutual labels:  gtd
Effitask
Graphical task manager, based on the todo.txt format.
Stars: ✭ 162 (+523.08%)
Mutual labels:  gtd
elm-simple-gtd
Reimagination of SimpleGTD.com using Elm and Polymer.
Stars: ✭ 24 (-7.69%)
Mutual labels:  gtd
Emacs Gtd
Get Things Done with Emacs
Stars: ✭ 111 (+326.92%)
Mutual labels:  gtd
sepia-assist-server
Core server of the SEPIA Framework responsible for NLU, conversation, smart-service integration, user-accounts and more.
Stars: ✭ 81 (+211.54%)
Mutual labels:  virtual-assistant
Apple Automation
iOS/macOS 自动化,效率玩法探索。
Stars: ✭ 60 (+130.77%)
Mutual labels:  gtd
eva
Emacs-based Virtual Assistant
Stars: ✭ 133 (+411.54%)
Mutual labels:  virtual-assistant
praefectus
A modern GTD application
Stars: ✭ 15 (-42.31%)
Mutual labels:  gtd
timeleft
⏳ Don't waste your time or time will waste you! ☠️ One tends to consume time on low-return stuff, superficial entertainment. 📺 Things they don't actually want to do. One should make the most of his time. ⏱ Get busy living.
Stars: ✭ 18 (-30.77%)
Mutual labels:  motivation
Jarvis AI
Jarvis AI is a Python Module which is able to perform task like Chatbot, Assistant etc. It provides base functionality for any assistant application. This JarvisAI is built using Tensorflow, Pytorch, Transformers and other opensource libraries and frameworks.
Stars: ✭ 196 (+653.85%)
Mutual labels:  virtual-assistant

Eva - Eva Virtual Assistant Build Status

Let algorithms decide your life.

Disclaimer: work in progress

This project hasn't reached an alpha state yet. At the moment, it is just a tiny CLI wrapper around a simple scheduling algorithm. Some people already find this useful however, so maybe you do too!

Quick demo

The front end is developed in the eva-web project.

If you enjoy it so far and want to say thanks, you can buy me a coffee .

Goal

Eva aims to be an opinionated application to manage your life when you don't feel like doing that yourself. It will mainly do this by managing your todo list as much as possible, for example by scheduling your tasks automatically so you are saved from that mental burden.

It borrows from various productivity and motivation concepts like GTD, Pomodoro, the Eisenhower scheme, flow, focussing on one task, small-chunking work, eating the frog, etc.

Core principles

  1. Eva should be as inobtrusive as possible to maximise your flow, but obtrusive to manage your time.
  2. Eva should maximise your motivation while minimising your time procrastinating.
  3. Automatic scheduling should be left to machines since humans are better at deciding importance, deadlines and estimated duration of tasks then at actually scheduling all the things in their lives.
  4. Your mental health is more important than your productivity.

Installation

If you haven't built a Rust project before, start by installing rustup, and running rustup install nightly to install the latest nightly version of Rust. Second, add $HOME/.cargo/bin to your PATH, e.g. by adding this line to your ~/.bashrc:

export PATH="$PATH:$HOME/.cargo/bin"

Finally, to install Eva, clone this repository, and inside the eva-cli folder run cargo +nightly install --path ..

Usage

eva --help will get you started.

$ eva --help
eva 0.0.1

USAGE:
    eva <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    add         Adds a task
    help        Prints this message or the help of the given subcommand(s)
    rm          Removes a task
    schedule    Lets Eva suggest a schedule for your tasks
    set         Changes the deadline, duration, importance or content of an
                existing task
    tasks       Lists your tasks in the order you added them
$ eva help add
eva-add
Adds a task

USAGE:
    eva add <content> <deadline> <duration> <importance>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

ARGS:
    <content>       What is it that you want to do?
    <deadline>      When should it be finished? Give it in the format of '2 Aug 2017 14:03'.
    <duration>      How long do you estimate it will take? Give it in a (whole or decimal) number of hours.
    <importance>    How important is this task to you on a scale from 1 to 10?
$ date
Thu Aug  1 14:12:50 NZST 2019

$ eva add 'Think of plan to get rid of The Ring' '14 Aug 2019 00:00' 8 9

$ eva add 'Ask advice from Saruman' '10 Aug 2019 00:00' 8 4

$ eva add 'Visit Bilbo in Rivendel' '15 Aug 2019 00:00' 8 2

$ eva add 'Make some firework for the hobbits' '2 Aug 2019 18:00' 3 3

$ eva add 'Get riders of Rohan to help Gondor' '23 Aug 2019 00:00' 8 7

$ eva add 'Find some good pipe-weed' '4 Aug 2019 00:00' 1 8

$ eva add 'Go shop for white clothing' '4 Sep 2019 00:00' 2 3

$ eva add 'Prepare epic-sounding one-liners' '2 Aug 2019 19:00' 2 10

$ eva add 'Recharge staff batteries' '3 Aug 2019 00:00' 0.5 5

$ eva schedule
Schedule:
  Thu 1 Aug 14:23: 13. Prepare epic-sounding one-liners
    (deadline: Fri 2 Aug 19:00, duration: 2h0, importance: 10)
  Thu 1 Aug 16:23: 14. Recharge staff batteries
    (deadline: Sat 3 Aug 0:00, duration: 0h30, importance: 5)
  Fri 2 Aug 9:00: 9. Make some firework for the hobbits
   (deadline: Fri 2 Aug 18:00, duration: 3h0, importance: 3)
  Fri 2 Aug 12:00: 11. Find some good pipe-weed
    (deadline: Sun 4 Aug 0:00, duration: 1h0, importance: 8)
  Fri 2 Aug 13:00: 12. Go shop for white clothing
    (deadline: Wed 4 Sep 0:00, duration: 2h0, importance: 3)
  Sat 3 Aug 9:00: 7. Ask advice from Saruman
   (deadline: Sat 10 Aug 0:00, duration: 8h0, importance: 4)
  Sun 4 Aug 9:00: 6. Think of plan to get rid of The Ring
   (deadline: Wed 14 Aug 0:00, duration: 8h0, importance: 9)
  Mon 5 Aug 9:00: 8. Visit Bilbo in Rivendel
   (deadline: Thu 15 Aug 0:00, duration: 8h0, importance: 2)
  Tue 6 Aug 9:00: 10. Get riders of Rohan to help Gondor
    (deadline: Fri 23 Aug 0:00, duration: 8h0, importance: 7)

Configuration

Eva Just Works™ without any extra configuration.

There are some things you could change if you really wanted to, by making a file called ~/.config/eva/eva.toml on GNU/Linux, ~/Library/Application Support/eva/eva.toml on Mac OS or C:\Users\<username>\AppData\Roaming\eva\eva.toml on Windows. You can use ~ and refer to environment variables if you want. These are the options you can set at the moment, alongside their defaults:

# Which scheduling algorithm to use by default.
# This can be overridden with the --strategy flag to `eva schedule`
scheduling_strategy = "importance"

# Where Eva should store its SQLite database.
#   On GNU/Linux
database = "~/.local/share/eva/db.sqlite"
#   On Mac OS
database = "~/Library/Application Support/eva/db.sqlite"
#   On Windows
database = "C:\\Users\\<username>\\AppData\\Roaming\\eva\\db.sqlite"

Roadmap

v0.1 (short-term goals / MVP)

  • Task persistence
  • Minimal task management interface
  • Automatic scheduling
  • User configuration in CLI
  • Abstract configuration interface
  • Web interface
  • Time segmentation (e.g. sleep, working hours, morning rituals)
  • Manual scheduling of fixed events
  • Recurring events

Next goals

  • Task dependencies
  • CalDAV / Google Calendar integration
    • Optional reminders
  • Life organising scheme (values → life goals → projects → tasks)

Possible future goals

  • Blocked tasks (while waiting for something or someone)
  • Time tracking + Pomodoro
  • Regular, fixed moments of reflection (see GTD), both to ensure your task list still reflects reality, but also to be motivated by the work already done
  • Way to make a brain dump and organise it later, at a fixed time
  • Backup data to a server and possibly sync with Eva on other devices

Acknowledgements

Many thanks go out to Personal Productivity @StackExchange, Mark Manson, zen habits and GTD for originally inspiring me! I also wouldn't have gotten this far without the interesting discussions around scheduling algorithms with Myrjam.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].