Skip to content
Mike RotichPERSONAL PORTFOLIOSearch Ctrl KWorkspace ↗

SIX CONNECTED DISCIPLINES

Depth begins
with curiosity.

An evidence-led view of the systems I am building and the subjects I am exploring. Six connected disciplines, with links to relevant work where available.

01

Intelligent models. Practical applications. Data-driven decisions.

Machine Learning

Practice & exploration

My interests in machine learning centre on developing and understanding computational models that identify patterns, generate predictions and extract meaningful insights from data.

Related project ↗
02

Security by design. Resilience through engineering.

Cybersecurity

Practice & exploration

I approach cybersecurity as an essential component of reliable software development. My focus includes understanding application vulnerabilities, strengthening authentication mechanisms and incorporating defensive security principles into digital systems.

Related project ↗
03

Connecting devices, data and intelligent applications.

Internet of Things (IoT)

Learning & exploration

I am interested in the design and development of connected systems that enable physical devices to collect information, communicate and interact with software applications.

Learning focus · No published project yet.

04

Turning complex information into meaningful insight.

Data Science

Practice & exploration

My interests in data science combine statistical reasoning, programming and computational analysis to explore datasets, identify relationships and support informed decision-making.

Related project ↗
05

Reliable infrastructure behind exceptional applications.

Backend Engineering

Practice & exploration

I focus on developing an understanding of backend systems that support secure, efficient and maintainable applications.

Related project ↗
06

Exploring the practical possibilities of intelligent software.

Large Language Models and Applied AI

Practice & exploration

I am interested in integrating large language models into applications that support natural-language interaction, information processing, automation and intelligent assistance.

Related project ↗

TECHNICAL FOUNDATION

Languages & technologies

My existing programming knowledge. Select a technology to read how I use it.

Python

I use Python to express problem-solving steps clearly, organise data and automate repetitive tasks. My focus includes preparing datasets, exploring statistical relationships and turning analytical ideas into small, testable programs. I am continuing to develop my understanding of machine learning workflows and model evaluation.

JavaScript

I use JavaScript to make web interfaces respond to user input, handle application logic and process data in the browser. I work with functions, events and asynchronous operations to connect forms, visualisations and API-driven features, with attention to validation and useful error messages.

React

I understand how React breaks an interface into reusable components, with props passing information and state tracking changes. I use these ideas to structure interactive interfaces and organise user input and conditional views. I am continuing to strengthen my approach to component design and maintainable frontend code.

C

I use C to strengthen my understanding of how programs work beneath higher-level abstractions. My foundation includes control flow, functions and structured problem-solving, with continued study of pointers, memory management and computational efficiency. This supports my interest in embedded programming and connected devices.

CAPABILITIES & INTERESTS

What I Build
& Explore

From the interface people use to the systems behind it. My work brings together practical development, careful testing and continued learning.

01

Applications & experiences

Useful software starts with the person using it.

User Experience Design (UX)
Designing intuitive, accessible and thoughtfully structured digital experiences that prioritise usability, clarity and meaningful user interaction.
SaaS Development
Developing web-based software concepts that combine frontend interfaces, backend services, data management and user-focused functionality.
Custom Software Development
Creating software solutions designed around specific technical requirements, workflows and practical problems.
Web Development
Building responsive, interactive and maintainable websites and web applications using modern frontend and backend technologies.
02

Data & infrastructure

Connecting information, services and reliable application logic.

Database Development
Designing and working with structured data systems, including database modelling, data organisation, query development and application integration.
Cloud Application Development
Exploring cloud-based application architecture, deployment workflows and infrastructure services that support accessible, maintainable and scalable software systems.
API Development and Integration
Designing and connecting software systems through application programming interfaces, enabling secure data exchange and functional integration.
Automation and Systems Integration
Using programming to streamline repetitive processes, connect digital services and improve operational efficiency.
03

Reliability & new directions

Strengthening the foundations while exploring what comes next.

Cybersecurity
Applying security-conscious development practices to protect applications, strengthen authentication and reduce common software vulnerabilities.
Software Testing
Improving software reliability through systematic testing, debugging, validation and the identification of defects before deployment.
Android DevelopmentExploring
Exploring Android application development, mobile programming environments and software solutions designed for Android devices.
Mobile Application DevelopmentExploring
Developing knowledge of mobile application architecture, interface design, application logic and integration with backend services.

ENGINEERING PHILOSOPHY

Build with purpose. Learn with curiosity. Engineer with precision.

I believe meaningful technology begins with a clear understanding of the problem it is intended to solve.

My approach combines analytical reasoning, continuous learning and practical experimentation. I value software that is thoughtfully designed, technically sound and capable of delivering genuine utility.

I am particularly drawn to the relationship between intelligent systems, secure infrastructure and data-driven decision-making, where different engineering disciplines come together to create innovative solutions.

Public content only. Tab through results; Esc closes search.