Hi and welcome to the main point of entry of my digital self.

My name is Kyriakos Chatzidimitriou and I strive to be a Software Architect, an (applied) Machine Learning Researcher and an Entrepreneur. Currently, I am working on my first company Cyclopt and I am also a research associate at the Aristotle University of Thessaloniki, working as a technical manager and software architect in the EU projects: SEAF and Mobile Age and doing research on the remaining time in the areas below.

My research, development and business interests are in the areas of Machine Learning and Big Data for and with Software Engineering and Software Development. More specifically:

  • Big CodeSoftware Analytics (Descriptive, Diagnostic, Predictive, Prescriptive, etc.) and Mining Software Repositories and software related data streams for patterns, mainly for answering Software Quality related questions and for improving the stages of the software development lifecycle.
    • Longitudinal studies of how software evolves.
  • Knowledge Representation systems through Machine Learning, Deep learning and neurosymbolic reasoning, for uses in Software Engineering and Development like Machine to Machine communication, Intelligent Web Clients, Call by Meaning etc.
  • Software tools for Machine Learning automation (AutoML), in order to bring the value of ML closer to non-experts.
  • Uses of Reinforcement Learning for adaptable software behaviour like in autonomic computing or adaptable interfaces.
  • Big Data/Machine Learning with Software Engineering: Architectures, formalisms,  patterns, paradigms, algorithms, infrastructure as code and heuristics that can efficiently express big data operations and in particular enable the scalability of machine learning algorithms.
  • Quality of Intelligent Systems with respect to safety, reliability and security.
  • Virtual Personal Assistants (VPAs) and Natural User Interfaces (NUIs) and in general creating real-life, valuable, autonomous software agents.
  • Uses of Blockchain technology and Distributed Applications (Dapps) for enabling distribution, credit, trust and reputation mechanisms for the open source community.

and some moonshot ideas like:

  • Learn machines to learn how to code (Software 3.0)
  • Devise new methods for training neural networks other than back propagation.
  • Quantum Computing and especially its repercussions to Machine Learning and Software Development (how we should program, what tools should we use, what abstractions, how to simulate the computations in classic hardware, etc.).

As I developer, I am fond of the MEAN stack for building web applications, JavaScript and node.js but I also work with Java, Python and R in my projects. My site is structured as follows:

  • About – Information about me, including my CV and my social media profiles.
  • Blog – My blog on personal, research and development activities, tutorials and ‘how tos’, personal opinions, book reviews, exercise and nutrition posts etc.
  • R&D – My portfolio of research and development projects that includes areas of research I am working on, open source software, libraries and tools I am involved in, as well as any running applications web or mobile.
  • Publications – My publish or perish profile and my publications list.
  • Resource – Pages that provide links to the best things (articles, videos, books, podcasts etc.) I found on the web along on specific subjects along with my narration and links to my posts. I got this idea from Martin Fowler‘s Resource Guides, as for example that on Microservices.


About Me

Hi! My name is Kyriakos Chatzidimitriou, I am an Intelligent Systems, Data and Software Engineer. This is my website.


Let’s work together