Hi, I’m Joseph Njeri — a passionate Data Scientist and Full-Stack Developer blending advanced analytics with modern web development. With expertise in machine learning, Django, Flask, JavaScript, PostgreSQL among other backend and frontend tools, I build intelligent applications that transform data into actionable insights. I believe the future of technology lies in the fusion of AI and full-stack development — and the sooner you get on board, the better. Explore my projects to see how I turn ideas into impactful solutions, from investment apps to interactive web designs.
Let’s create something extraordinary together
I am Joseph Njeri and I am a full stack software developer and data scientist. My background combines machine learning, data engineering, and modern web development, allowing me to create complete end-to-end solutions that bring together powerful back-end intelligence and responsive, user-friendly front-end design.
However, my profession hasn't always been in Tech. My academic background is in atmospheric science. I hold a Doctor of Natural Sciences (Dr. rer. nat) in Atmospheric Physics and Dynamics from the Karlsruhe Institute of Technology (2015–2019), where I researched the diagnosis and simulation of extreme precipitation events over Kenya. Before that, I earned a Master of Science in Meteorology from the University of Nairobi (2010–2012), focusing on assessing the predictability of rainfall using tropical convection indices, and a Bachelor of Science in Meteorology from the same institution (2005–2009).
I have professional experience in predictive modeling, recommender systems, image recognition, and financial modeling using Python, Keras, and scikit-learn. On the backend, I work with Django REST Framework and Flask to build APIs and data-driven applications, while also drawing on a strong foundation in PostgreSQL and MongoDB. On the frontend, I am self-taught in HTML, CSS, JavaScript, and React, continuously building responsive, interactive projects that showcase how design and functionality come together. Alongside this, I have also worked as a trainer and curriculum developer at neuefische GmbH, mentoring students and preparing them for industry roles.
My core expertise lies in machine learning and AI, where I apply advanced methods using Python, Keras, and scikit-learn to build predictive models, recommender systems, and image recognition solutions. I have also developed robust data engineering workflows and designed APIs using Django REST Framework and Flask, with a strong foundation in PostgreSQL and MongoDB.
I live in Karlsruhe, Germany, and I am always open to collaborations, research, or projects at the intersection of full stack software development and data science.
Personal portfolio GitHub repo that creates this page.
A browser-based calorie tracker that lets users add meal and exercise entries, set a daily calorie budget, and calculate remaining calories as a deficit or surplus. Includes dynamic form fields, input sanitization, and clear/reset functionality.
An interactive football team cards app that dynamically renders year 2026 Arsenal FC players from JavaScript objects
A responsive browser-based calculator built with HTML, CSS Grid, and vanilla JavaScript, supporting arithmetic operations, square, square root, decimals, and dynamic expression parsing with Math.js.
A lightweight browser-based tool that converts a minimal subset of Markdown into HTML using handcrafted RegEx rules, with live preview rendering.
An interactive regex testing playground with flag support (i, g), unique match filtering, and highlighted results.
An accessible theme switcher built with vanilla JavaScript, featuring an ARIA-compliant menu, body-level theme classes, CSS custom properties, and polite live-region announcements that fade out smoothly.
A palindrome checker that uses regex to filter non-alphanumeric characters, normalizes case, and compares the reversed string. Supports click + Enter key input.
An accessible tablist UI demonstrating ARIA roles (tablist, tab, tabpanel), state management via aria-selected, and conditional panel visibility using the hidden attribute, built with vanilla JavaScript.
Demonstrating how flexbox can help in building a deck of cards
A visually engaging animation of a penguin flapping its left wing created with HTML and CSS
Designing a business card showcasing basic CSS techniques to create a visually appealing card
Demonstration of how CSS flexbox and grid can combine to create a responsive sales page
How to create a technical documentation page that responds to different screen sizes. Case study: Django Rest Framework
A visually engaging animation of the orbit of the moon around the earth using pure HTML and CSS
Creating a book inventory table: Demonstrates how to create a responsive web design using semantic HTML and attribute selectors
Demonstration of positioning of elements using CSS by way of painting a house
How attribute selectors come in handy in HTML/CSS. Building a tribute page using attribute selectors
How Typography in CSS can help in creating a newspaper article.
Demonstrating the Box Model by creating a confidential email page
A simplified way of creating a contact form for a company to gather feedback about issues
Colors in CSS. Demonstration of how to use different color value types
(hex, rgb,
hsl)
Styling forms in CSS. A simple user-friendly job application form styled using CSS
Absolute and Relative Units in CSS. A demonstration of their application by way of creating an event flyer
Calculate returns, amortization schedules, and investment insights
Django REST Framework-powered API for calculating investment growth through compound interest
JavaScript Function-based project to manage, update, and maintain a music album collection stored as nested objects.
A console quiz game where the computer attempts to guess answers from JSON objects with categories, questions, multiple choices, and correct answers.
Sentence Maker - Turn Words into fun stories with JavaScript
variables, string concatenation, and console output: a fun way to learn JavaScript basics!
A practice repo demonstrating JS fundamentals - objects, arrays, strings etc - through clean code
A JavaScript utility that removes falsy values (false, 0, '', null, undefined, NaN) from arrays to practice filtering logic and clean code.
An inventory tracker supporting basic operations like adding, finding, and removing products
Demonstrating argument objects and rest parameters in JavaScript by merging array items uniquely
This project converts a single DNA strand into its complementary base pairs, according to the natural pairing rules of DNA molecules.
A storytelling app where users click genre buttons to display short stories and dynamically update UI styles (border color + text).
An interactive emoji rating UI where each emoji button increments its own score from 0/10 up to 10/10 using a reusable update function and click listeners.
A simple UI where clicking a heart icon toggles between outlined and filled states, using class toggling and dynamic icon updates.
A JavaScript project that filters and displays musical instruments by category using a dropdown menu, dynamic DOM updates, and innerHTML rendering.
A minimalist textarea app that counts characters in real time and enforces a 50-character limit with visual feedback when the limit is reached.
Joseph Njeri
Elsa-Brändström-Str. 15a
76228 Karlsruhe-Durlach, Germany
Phone: 491635155763
Email: nkarianjahi@gmail.com