Picture of George wearing a blue sweater

George Roussos de Kock

Frontend Developer

About Me

I'm a self taught and experienced software developer that loves technology and good UI. I've been very happily specialising in frontend development, using TypeScript, React and Next.js as my tools and occasionally playing with .NET and C#. I've had the privilege to contribute to building great products and most lately be assigned with the task of migrating an entire codebase to Next, with the goal of improving a already good product, used by thousands of customers. This venture has allowed me to further hone my skills regarding project architecture, design patterns and write code that is robust, concise and modern.


I enjoy keeping up with technology and trying out new tools, creating responsive and accessible experiences for users and writing code that shows how much I enjoy programming. When I'm not working or writing code for fun, I'm either cooking, traveling or spending time with family.

Work Experience

  • Software Developer

    Stockholm, Sweden

    Mar 2024present

    At Scandinavian Airlines, I specialise in frontend development with a focus on customer engagement post-travel. Upon joining the team, I led the migration of the SAS Customer Service portal to Next.js, rewriting the app from scratch to enhance SEO, scalability and user experience. This was an intensive objective, which required migrating the entire codebase quickly, while ensuring significant quality improvements and that customer service case submissions would not be negatively affected. I designed the app on modular principles, implemented maintainable solutions across all flows, and fixed UI/UX and copy inconsistencies, by introducing additional functionality aimed at navigation and form submissions. I also established quality guidelines and documentation, to make sure my fellow teammates could be painlessly onboarded and wrote comprehensive tests. I led all pre-release and QA testing, which allowed for quick iterations and bug fixing. I also supported all other fellow devs when starting with their contributions to the codebase, to ensure they became familiarised with the architecture and patterns of the app. With the migration, the team reduced technical debt and frontend errors, while increasing implementation lead time.


    Currently, I work on the codebase I migrated and another codebase that customer service agents use for assisting customers. I am also involved in cross-team projects. I oversee our frontend, ensuring adherence to the implemented patterns and maintaining high code quality standards. As the primary contact in the team regarding Next.js-related queries, I support the customer service team by implementing new features and A/B tests and occasionally work with the backend integrations (Express), which support the frontend.

    React
    TypeScript
    NextJS
    Figma
    Docker
    Azure
    Express
    GrowthBook
  • Stockholm, Sweden

    June 2022February 2024

    My role at Vidispine was in a SaaS setting and my responsibilities regarded front-end objectives, but were occasionally backend-focused (backend built on .NET supported by a PostgreSQL database). I was involved in the development of a feature-rich, web-based (React/TypeScript) media ingestion tool used by broadcasting companies to schedule, record and transcode content. Additionally, I was responsible for building reusable React components for a commercial component library (using Google's MUI as a base).

    React
    TypeScript
    Figma
    MUI
    C#
    .NET
    Docker
    Azure
  • Software Developer

    Stockholm, Sweden

    Jan 2020Apr 2022

    As a software developer at Storytel, I developed an end-to-end neural network pipeline, which was responsible for synthesising speech from text, for generation of long-form audiobook content. I was responsible for and led the entire process, working independently (within a Data Science team) for the best part of my tenure at the company. My responsibilities included:

    • Delivering a fully functional MVP for stakeholders (the venture was new to the company) that could synthesise speech in English and Swedish

    • Developing a custom pipeline (for the Swedish language), in order to train style-controllable models and produce content, in multiple voices

    • Designing methods for generation of long-form audiobook content

    • Reviewing and implementing methodologies to maintain technological advancement

    • Training and evaluation of the network and its models, by conducting various tests and collecting mean opinion scores

    • Analysing, understanding and engineering the data the network used for the training sessions

    • Leading the recording sessions, directing voice actors when recording content to use in the data for the pipeline


    The pipeline I developed was eventually successfully used to train the company’s first AI voice and produce the company's first fully neural network-based audiobook content.

    Python
    TensorFlow
    PyTorch
    pandas
    Docker
    FastAPI
    GCP
  • NLP Developer

    Uppsala, Sweden

    Nov 2017Dec 2019

    During my time at ReadSpeaker I gradually moved from speech synthesis related objectives to software development areas. It was a broad role in which I was tasked with:

    • Supervision of QA documents in different languages

    • Developing Python and C++ pipelines for text normalisation and disambiguation

    • Development of voice engine features used by third-party products

    • Training of various models (both supervised and unsupervised), such as parsers and taggers (spaCy pipelines) and grapheme- to- phoneme automata

    Python
    spaCy
    C++
    SVN
    Unix
    Bash

Education

  • Master's Degree

    University of Eastern Finland
    Joensuu, Finland

    Jan 2020Jun 2020

    Completion of Master's Education

    Thesis Project: Transfer Learning in Speech Synthesis - Exploring Pretrained Weights Adaptation and Usage of Speaker Embeddings in Neural End-to-End Speech Synthesis


    The project explored the feasibility of predict speech from text in pre-trained neural networks, where:

    • available data was 80% smaller than required and unprocessed, so that pre-training the network on other data was an option

    • obtaining data was not feasible, so zero-shot prediction, based on speaker embeddings, using clustering and multi-voice recordings, might be an option


    Results showed that both options are viable for when training data is not available, but that the network is not able to pick on all of the new voice's vocal charactertics (such as prosody). The training pipeline was a mix of pyTorch and TensorFlow and training was done on a GCP instance.

  • Master's Degree

    Uppsala University
    Uppsala, Sweden

    Sept 2017Jan 2020

    Concentration in Natural Language Processing (NLP)

  • Bachelor's Degree

    Democritus University of Thrace
    Komotini, Greece

    Sept 2012Sept 2016

    Concentration in Classics and Literature