Skip to content

Latest commit

 

History

History
59 lines (50 loc) · 2.1 KB

jilo-high-level-design.md

File metadata and controls

59 lines (50 loc) · 2.1 KB

###Goal Seamless thought capturing.

  • Capture any thought or artifact within 3 seconds of deciding you want it.
  • Inline hash-tagging
  • Command-line-like interface for quick captures
  • Break out to markdown for longer captures
  • Back-end brain that automatically associates and organizes
  • Consuming the notes later is a task separate from capture

###Technology Requirements ####Editor

  • Cross-platform - windows and linux at minimum
  • Snappy - opens, closes, and accepts input quickly
  • Extensions - must allow for easy extensions
  • Easy to craft user-interface - familiar, open technologies
  • Open format - markdown

For these reasons, we'll use HTML/CSS/Javascript hosted by Electron. A CLI will also be supported. ####Backend

  • Globally available
  • Cheap, cheap storage
  • Event-driven - each capture will kick-off aggregates
  • Language processing - stream captures through modules to parse and understand each thought
  • Dynamically modular - nodes must be able to stand-up a lightweight process that will respond to new captures looking for relevance
  • Graph - relationships must be discoverable and schema-less
  • Immutable - all changes are appended, no data is destroyed
  • Open API - allows for extensibility, export, and openness

Elixir, because why not. Data stores - lots of options.

###Editor Commands All commands should be prepended with 'jilo' to run on command-line.

  • Notes
    • note < url > < hash-tags >
    • note < text > < hash-tags >
  • Scheduling
    • appt < text > < date-time > < hash-tags >
    • appt < text > < date-time > < location > < hash-tags >
  • Tasks
    • task < title > < due-date-time > < hash-tags >
  • Friends
    • friend < name > < email | text | twitter >
  • Sharing
    • share < jilo-id > < friend > < email | text | twitter >
    • share < jilo-id > < address >
  • Editing - opens app or cli-editor
    • edit < jilo-id >
  • Meta
    • list < note | appt | tasks | hash-tags | mined-keywords >
    • graph < hash-tags | mined-keywords > < relationship-depth >
    • stats summary < hash-tags | mined-keywords >
    • stats detail < hash-tags | mined-keywords >

Written with StackEdit.