A package management system based on Plugins and dependency injection for NodeJS applications.


Wiregoose, an online latest news transmitter, bringing news in your screen from all over the world, adapted in your country in allmost real time

Javascript Metaprogramming

We extend JavaScript with the essentials of multi-staged metaprogramming and implement it in SpiderMonkey JavaScript engine. We indicate the minimal modification occurred in SpiderMonkey by minor extending the lexer, parser, AST, reflection (parse) and the addition of the unparsing procedure, some library functions, the staged logic and a debugging system.


Expore the Articles

  • Javascript Metaprogramming Thesis metaprogramming

    We extended JavaScript with staging annotations and implemented them in SpiderMonkey, emitting pure JavaScript code as the final outcome of stage computation. SpiderMonkey system minimally affected with extensions in the syntax, parser and internal AST structures, and the addition of an unparser, a staging loop, some library functions and a debugger backend component for AST inspection. Finally, to enable debugging stages in any browser we implemented a pure JavaScript client, communicating with the extended Spider Monkey, and offering the necessary AST display and unparsing that a browser debugger does not provide.

  • RequireJS Execute Modules Before Initialization (data-main) requirejs

    Handle RequireJS modules before the initialization of RequireJS (data-main)

  • KlarkJS klark

    Module loader (plugin system) based on dependency injection for NodeJS applications.



  •   05/2016 - Present
    UI Engineer - Encode, Athens, Greece
  •   11/2015 - 04/2016
    UI Engineer - Granta Design, Cambridge, UK
  •   2013 - 2015
    Computer Science, M.Sc. Information Systems
  •   2014 - 2015
    Postgraduate researcher, FORTH, ICS, HCI
  •   2013 - 2015
    Teacher assistant - Software Engineering, Compilers
  •   2014 - Present
  •   2009 - 2013
    Computer Science, BSc IT
  •   2012 & 2013
    Backend developer internship - Styloola

Personal Info


Fell free to contact me