×
Johan Risch

Johan Risch

Technology lover, developer, bridge between tech and business.


Background


About

About

I'm a technology lover and developer with 12+ years of experience in building systems consisting of embedded edge devices, database engines, highly interactive single page applications, Kubernetes backends and everything in between. I have successfully led 10+ projects deploying SA Engine in distributed industrial settings. My passion is tackling complex technical challenges while inspiring teams to create awesome technology. For a full résumé, see https://registry.jsonresume.org/johanrisch

Work Experience

Work Experience

  • Chief Architect, principal developer, Stream Analyze

    Sep, 2016 - Present

    At Stream Analyze, I have played a pivotal role in the development and evolution of SA Engine, a cutting-edge distributed main memory database for highly efficient computational queries, focusing on real-time data processing, high performance, and system scalability. I started as the first employee, doing everything, and grew the organization to 9 engineers with a very low turnover.

    • Designed array-processing capabilities for numerical models and designed rewrite and optimization rules (patent pending) making SA Engine beat Tensorflow Lite and OpenVino by 275% on average on single core CPUs.

    • Developed WebAssembly (WASM) support, allowing SA Engine to run in WASI and browser environments.

    • Spearheaded the development of SA Federation Services, supporting tens of thousands of edges producing more than 1 million events per second.

    • Designed and maintained end-to-end secure deployment pipelines for customer projects. Making sure we always tested SA Engine 20+ platforms on every commit to every branch with more than 20k workflow runs.

    • Built a tight integrations for Python and Java, giving me a good understanding on how python and java works under the hood.

    • Worked closely with clients to adapt and optimize our solution for real-world production environments.

    • Sole developer of SA Studio and its VSCode plugin, a web-based tool for real-time query visualization and distributed SA Engine management.

    • Implemented the building blocks that SA Federation Services would build upon. Making SA Engine utilize standard web technologies by implementing http client and server, including websockets and TLS security using ARM mbedTLS inside SA Engine.

    • Implemented our first deep learning runtime SA.NN.

  • Technical Consultant, Valtech Sweden

    Feb, 2015 - Aug, 20161 year 6 months

    Worked on a TVOD (Transactional Video On Demand) application on Android TV for SF (Swedish Film industry) During this project I got to work with the protected media streaming format DASH and DRM. During QA of the Android TV application I started a new project for SF (Swedish Film industry) creating a new SVOD (Subscription Video On Demand) app for Android targeting young kids.

    • Developed TVOD and SVOD Android apps, integrating DASH, DRM, and Clean Architecture.

    • Refactored codebases for scalability, maintainability, and faster feature rollouts.

    • Designed shared libraries to streamline development across platforms.

  • Co-Founder and Android developer, Innocreate AB

    Mar, 2013 - Sep, 20174 years 6 months

    Innocreate AB was a transformative period in my career where I took on the dual role of CEO and developer. I managed both sales and technical development, gaining hands-on experience in business operations while delivering high-quality IT solutions. As a co-founder, I led diverse projects ranging from information applications to platforms for remote medical evaluations. This role honed my ability to balance entrepreneurial responsibilities with technical execution, ensuring client satisfaction and sustainable growth.

    • Led the development of remote medical evaluation platforms, combining technical innovation with user-centric design to meet strict regulatory standards.

    • Delivered multiple Android applications for diverse use cases, including information apps, tools for education, and interactive consumer experiences.

    • Balanced entrepreneurial responsibilities with hands-on development, ensuring timely delivery of high-quality solutions.

  • Owner, Risch IT

    Feb, 2012 - Apr, 20131 year 2 months

    Small Android consultancy firm I started my second year in university studies, led to Innocreate.

Projects Experience

Projects Experience

  • SA Engine Array Processing

    Oct, 2023 - Present

    Patent pending: 2351429-2. SA Engine includes a framework for high-performance processing of numerical models specified as queries over multi-dimensional arrays. The framework enables “low code” definition of numerical models over vectors, matrices, and tensors. Such models are central in many fields, for example, image processing, statistical models, and various kinds of AI algorithms. The framework produces highly efficient machine code on the fly that can immediately execute on engines running on resource-constrained devices.

    • Designed rewrite and optimization rules, achieving a 275% performance improvement over OpenVINO and TensorFlow Lite on single-core CPUs.

    • Implemented efficient physical storage of arrays in memory to support large-scale numerical models.

  • SA Vscode plugin

    Feb, 2023 - Present

    Developed the VSCode plugin for SA Engine and Federation Services. This plugin provides real-time visualization in the notebook feature of VSCode while working with SA Engine and implements standard LSP functionalities such as autocomplete and go-to-definition for both the query language and Lisp.

    • Achieved real-time visualization of SA Engine queries in the VSCode notebook feature.

    • Implemented standard LSP functionalities such as autocomplete and go-to-definition.

  • Stream Analyze European Innovation Council (EIC) Project

    Dec, 2022 - Nov, 20241 year 11 months

    Workpackage owner for workpackage relating to SA Studio, Documentation and the SaaS solution. Major Contributor to all workpackages regarding the SA Engine core.

  • SA Engine Webassembly support

    Dec, 2022 - Present

    Ported SA Engine to WebAssembly using Emscripten and developed middleware in C emulating POSIX sockets to meet SA Engine's expectations. This enabled browsers to function as edge clients and servers alike, powering the SA Engine documentation page.

    • Ported SA Engine to WebAssembly to enable browser-based execution.

    • Improved user experience for learning SA Engine through interactive documentation.

  • SA Engine Python interoperability

    Jan, 2021 - Present

    Enabled tight integration between SA Engine and Python, allowing users to call Python functions directly from OSQL without glue code. Supported seamless compatibility with Python types, NumPy arrays, and iterators.

    • Developed seamless Python integration for OSQL, eliminating the need for glue code.

    • Enhanced developer experience by supporting Python basic types, NumPy arrays, and iterators.

    • Enabled efficient cross-language interoperability between Python and SA Engine.

  • SA Federation Services

    Jan, 2020 - Present

    Working on the deployment of the SA Engine in a modern cloud environment, focusing on scalability and robustness. This includes management- and deployment of analytical and AI models. Actively working towards handling tens of thousands of interactive edges, with an ambitious goal to manage over 100,000,000 edges in a non-interactive mode. The project involves continuous optimization, performance enhancements, and the application of best practices for cloud infrastructure management.

  • SA Engine production deployment

    Dec, 2019 - Present

    Working in projects with customers to deploy and scale SA Engine together with SA Federation Services. This includes everything from configuring how the SA Engine client is started onboard and how the SA Federation Services is deployed in production to considering security implications of the setup end to end. It also usually consists of integration work getting the edge data into SA Engine for processing.

  • SA Engine Deep Learning support

    Aug, 2017 - Dec, 20236 years 4 months

    Implemented the support for Neural Networks in sa.engine. Continuing with adding new features and maintaining interoperability between Tensorflow and sa.engine.

  • SA Studio

    Sep, 2016 - Present

    Formerly known as Visual Analyzer, SA Studio is a web based tool for working with real time queries over distributed SA En gines with a focus on interactivity and real-time visualization.

  • Security layer for SA Engine

    Sep, 2016 - Dec, 20237 years 3 months

    Implemented TLS for sa.engine and continues to support it for new platforms and new features using mbedTLS.

  • SA Engine Java interoperability

    Jan, 2016 - Present

    Foreign function interface and embedding interface for SA Engine and Java.

  • Ready4Air Core SDK Android

    Oct, 2015 - Aug, 201610 months

    When I joined the Ready4Air team at Valtech the Ready4Air core library didn’t exist. Shortly after I decided together with the lead Android developer that we should extract the media playback features into a separate Android library allowing us to reuse code between applications. The first version was a pure extraction of classes into an separate android library. Due to low testability of the original code I started developing version 2.0 of the core library while also working on SF kids. Version 2.0 is completely remade from scratch implementing the same clean architecture as in SF kids in order to increase testability and taking future extension into close consideration.

  • SF Kids Play

    Oct, 2015 - Aug, 201610 months

    Responsible for the SF kids Android app - an SVOD app targeting kids in the Nordic countries. A lot of challenges for the user experience. I paid extra attention to the architecture of this application. In the end I chose an Android version of Robert C. Martin's clean architecture which worked very well together with RxJava, Retrofit and Dagger for dependency injection.

  • SF Anytime

    Aug, 2015 - Aug, 20161 year

    Android developer. Implemented several new features and re-structuring of the code base to increase maintainability. I also developed and AndroidTV version of the application while extracting common code into a shared library which lead to the same being done for all mobile platforms.

  • AppFetch

    Jan, 2014 - Jan, 20151 year

    A short project together with a client in Taiwan. The main challenge in this project was developing a method for identifying the dominant colors in an app icon.

  • DELTA/CenPad

    Jan, 2014 - Jan, 20151 year

    As a result from our bachelor's degree we signed a contract to make the proof of concept into a actual product for the newly created company Cenvigo.

  • muf

    May, 2013 - May, 20152 years

    Project leader and Android developer.

  • Studentlänken

    Apr, 2013 - Jan, 20149 months

    Lead Android developer, consulting for Spire AB.

  • Fisknyckeln

    Mar, 2013 - Jan, 201410 months

    Lead Android developer, consulting for Spire AB

  • Quinyx mobilapp 2.0

    Oct, 2012 - Dec, 20122 months

    Lead Android developer.

  • Cellatlas

    Feb, 2012 - Jan, 201311 months

    Continued development for Animech AB.

  • Parkinsons in Advanced stage Universal Long-term Assessment (PAULA)

    Jan, 2012 - Jan, 20131 year

    I took over as the lead developer in the late stages of the development of PAULA. PAULA got CE marked as a class 3 medical software for treatment of patients with Parkinsons disease

  • Laser level tool

    Dec, 2011 - Jan, 20131 year 1 month

    One of my first Android apps. I've come a long way since then.

Skills

Skills

  • Programming & Software Development

    C

    Lisp

    JavaScript

    TypeScript

    Java

    Python

    C++

    Performance Tuning

    Algorithms

    Data Structures

    Design Patterns

    Meta Programming

    Dynamic Programming

    Benchmarking

    Object-Oriented Modeling

    Git

  • Cloud & DevOps

    Distributed Systems

    GitHub Actions

    Kubernetes

    Nginx

    Networking and security

    Amazon Web Services (AWS)

    Microsoft Azure

    Docker

    Helm (Software)

    Rancher

    Jenkins

  • Embedded Systems & Low-Level Development

    Android

    Embedded Linux

    Bare metal

    WASM

    Emscripten

    High-Performance Computing (HPC)

  • Data Science & AI

    Deep Learning

    Data Analysis

  • Web & Application Development

    HTML

    Node.js

    WebSockets

    Web Services

    VSCode Extension

    Language Server Protocol (LSP)

  • Leadership & Methodology

    Agile Development

    Problem Solving

    Analytical Skills

    Interpersonal Skills

    Team Management

    Technical Leadership

    Startups

    Product Development

    Business-to-Business (B2B)

    Technical Integration

Education

Education

  • Information Technology, Master, Uppsala university

    Jan, 2010 - Jun, 2015

    1DT051 - Information Technology

    1MA010 - Basic Course in Mathematics

    1MA004 - Algebra I

    1MA025 - Linear Algebra and Geometry I

    1DL201 - Program Design and Data Structures

    1TE659 - Computer Architecture and Digital Electronics

    1MA009 - Automata Theory

    1DL221 - Imperative and Object-oriented Programming Methodology

    1MA024 - Linear Algebra II

    1MS005 - Probability and Statistics

    1DT049 - Process Oriented Programming

    1MA013 - Single Variable Calculus

    2FE025 - Business Studies, Basic Course A/B

    1DT052 - Computer Networks I

    1MA034 - Transform Methods

    1TD394 - Scientific Computing DV

    1DL300 - Database Design I

    1MA012 - Discrete Mathematics

    1MD016 - Human Computer Interaction

    1TE682 - Embedded Signal Processing Systems

    1DT350 - Independent Project in Information Engineering

    1DL340 - Artificial Intelligence

    1DL241 - Advanced Software Design

    1DL360 - Data Mining I

    1DT024 - Advanced Computer Architecture

    1DL400 - Database Design II

    1DT072 - Secure Computer Systems I

    1DT075 - Cryptology

    1DT073 - Secure Computer Systems II

    1DT064 - Distributed Systems

    1TE061 - Industrial Project Management

    1DT065 - Project IT

    1DL460 - Data Mining II

    1DT960 - Degree Project in Computer and Information Engineering