Felix Elsner

← back to projects overview

tango interface

Video management and annotation interface, conceived to augment Argentine Tango lessons and practice.

I used to dance myself and created this tool for noting down lessons, concepts and inspiration, intersecting the visual with the textual.

For my personal use. Lots of hardcoded values and written to only fit my own use cases.

Technologies used:
  • flask and jinja2 for the basics
  • flask-admin for the admin interface with custom views and tasks
  • select2 for search autocomplete and AJAX-fetched dropdowns
  • SQLAlchemy with sqlite
  • misaka for markdown parsing
  • youtube-dl integration for fetching metadata
  • flask-migrate for schema migrations
  • frozen-flask to generate a static version to upload publicly
  • flask-debugtoolbar to profile and optimize
  • pyinvoke to get a nice cli
  • zlib to compute file hashes for fast comparison of video files
  • plyr to get a nicer video player locally
  • unidecode to deal with the fact that a and á are not the same...

Own customized markdown syntax to link videos, with timestamps, embed them, embed them with video description or commentary attached, ...

Images and Screenshots

Demo Videos

How to search

Use <keyword>:<tag> to filter by specific characteristics:
  • d: Dancer
  • t: Tag
  • v: Video
  • g: Song ("genre")
  • s: Song
  • o: Song ("orquesta)"