Yoseph Naoom

Yoseph Naoom

AI- och maskininlärningsingenjör

Civilingenjör i Datateknik vid JTH: tre år datateknik, följt av en tvåårig masterdel inriktad mot AI Engineering med maskininlärning, djupinlärning, förstärkningsinlärning och optimering.

Jag arbetar med mjukvara, hårdvara, mekatronik och elektronik, med specialisering inom maskininlärning och AI.

GitHub · LinkedIn · CV

Projekt & forskning

Projekt · October 2026

Jules Research Factory

An open-source multi-agent research orchestrator that keeps Google Jules agents working in parallel, automatically generating, coordinating and organizing research into GitHub reports.

Details An open-source multi-agent research system that turns a broad research direction into focused tasks and distributes them across multiple Google Jules agents in parallel.

The orchestrator automatically fills available agent slots, handles routine follow-ups, and sends completed research to a dedicated GitHub repository as pull requests for review.

It can supportt up to 15 concurrent Jules agents on the google AI Pro plan, 3 on the free plan, it uses NVIDIA API Catalog or another compatible model API for planning and coordination.

Built for continuous market research, competitor analysis, literature reviews, technology research, and exploration of new fields.

  • Open-Source
  • Agents
  • CI/CD

Projekt · Oct 2026

Dental Scope

Open source 3D dental education platform for exploring teeth, jaws, nerves, vessels and clinically relevant oral structures.

Dental Scope is an open source 3D learning platform designed for dental students, educators and anyone studying oral structures.

The platform provides a detailed view of all 32 permanent teeth together with surrounding structures such as the maxilla, mandible, nerves and blood vessels. Teeth can be identified using FDI, Universal and Palmer notation, with individual structures available for focused exploration.

The project was developed with feedback from dentists and dental students, with an emphasis on anatomical accuracy, clear visualization and practical educational use. It also supports multiple languages and is designed to expand with additional structures, pathology and clinical learning features over time.

Dental Scope is fully open source, allowing educators, students and developers to inspect the implementation, suggest improvements and contribute directly to the project.

  • Open-Source
  • CI/CD
  • TypeScript
  • Three.js
  • Javascript
  • TailWind

Projekt · Sep 2026

PC Anatomy

Explore what's inside of a Desktop PC all the down to the size of a sand grain

PC Anatomy is an interactive 3D tool I made to let you explore what’s actually inside a desktop PC. You can take the whole system apart, click on individual components, search for specific parts, and keep diving deeper into how everything is built. It goes from the full PC down to things like the motherboard, cooling, CPUs, and GPU architecture, with explanations and technical details for each part.

The whole thing is builkt in TypeScript with Three.js, and all of the 3D geometry is generated in code instead of using downloaded models or textures. One of the coolest parts is that you can keep zooming into the RTX 5090 architecture, going from the GPU itself down through its internal structure to things like GPCs, TPCs, and streaming multiprocessors. The main idea was to make PC hardware easier to understand by letting people actually explore it instead of just reading diagrams.

  • Open-Source
  • Javascript
  • Electronics
  • TypeScript
  • TailWind
  • CI/CD
  • Three.js

Projekt · Sep 2026

delta δ

A tool for seeing how neural networks learn, visualization of backpropagation and a little more

This is the tool I wish I'd had when I was studying this. Neural networks learn by guessing, checking how wrong the guess was, and adjusting themselves so the next guess is better. That adjusting part is called backpropagation, and it's the part most explanations skip. You get some arrows and a promise that the maths works out. delta runs the maths in front of you, one step at a time, with every single number visible while it's being used.

The reason I chose the name Delta is because when a network gets something wrong, the mistake has to be split up and passed backwards so every part of the network learns how much of the blame is its own. That share of the blame is written as δ, the Greek letter delta. It's the number the whole tool is built to show you.

  • Machine Learning
  • Deep Learning
  • Javascript

Projekt · Jul 2026

Custom RC Fishing Boat

A custom made RC fishing boat that carries bait out to sea and drags it off the deck to cast it far.

This is a custom made RC fishing boat with a 3D printed hull, started as a remix of another maker's design and reworked into this version. Two fishing rods connect to the boat: one is fixed to the boat and used to reel it back in, and the other holds the bait, resting in the black mounting box on deck. Once the boat is out as far as I want, a small pull on the bait line is enough to draw it off the box, since the box's back wall is intentionally shorter than the front. This lets the bait drop free with a light tug, even from a long distance away, casting it into deeper water where more fish tend to be. The boat is then reeled back in on its own fixed line.

I originally planned to steer it live with an RC radio controller, but a standard hobby RC link only reaches about 300 to 400 meters, and turning a small boat around at that range is impractical. So instead of live steering, I built a point and go system. Two fixed rudders at the stern are aligned by hand before launch to set the heading, and the boat then runs on a simple PWM signal to the motor rather than a live radio command. A single button starts the motor for a set number of minutes, and since speed and time are known, that timer works out to a target distance. In practice, the real limit on range is battery life rather than the timer itself.

The control chain: the joystick is read over a COM port on my laptop, where a Python script picks up the signals and forwards them to an ESP32 connected to the laptop. That ESP32 sends the commands wirelessly to a second ESP32 on the boat, which drives the motor.

Hull is printed in translucent PETG, chosen for its water resistance and because the translucency makes it easy to spot leaks. The whole interior is also coated in Mapeguard waterproofing membrane, the same product used under bathroom tiling, so even if water gets through the plastic it's stopped before reaching the motor.

Hardware: ESP32 WROVER modules with external antennas, an Okuyonic 540 brushed motor with 320A ESC, and 2S 2200mAh LiPo batteries. Controller is a repurposed secondhand Thrustmaster flight simulator joystick, with its input signals reprogrammed to be read via a Python script and transmitted via the ESP32 chip.

  • ESP32
  • 3D Printing
  • Embedded Systems
  • Mechatronics
  • Python
  • Robotics
  • Electronics
  • Fusion360

Projekt · Jun 2026

Bionic Hand Controlled Through Computer Vision

Remixed Bionic hand steered via MediaPipe hand-tracking, Arduino Uno, and SG90 microservos.

This project is a personal remix of InMoov, the world's first open source prosthetic hand, originally designed by French sculptor and designer Gael Langevin. Langevin has worked with major brands for over 25 years, and he started InMoov back in January 2012 as a personal project. It's since inspired other open source prosthetics projects like Bionico and E-Nable.

For this build, the original InMoov hand geometry was remixed and redesigned in Fusion 360, with new joints custom fit for the specific servos being used, then 3D printed on a Bambu Lab printer.

Control system: The hand is steered in real time using Google's MediaPipe Hands library, which reads hand landmark positions from a webcam feed. Those readings get sent to an Arduino Uno, which converts them into high and low signals that drive small SG90 microservos, and those servos mimic the movements of the tracked hand. The control logic is written in C++ using the Arduino IDE.

Mechanical actuation: Each finger joint is tensioned by an elastic band anchored at the back of the joint, which keeps the finger extended by default. A fishing line runs from each servo to the corresponding fingertip. The servo rotates 180 degrees to pull the line and curl the finger closed, then rotates 180 degrees back the other way to release the tension and let the elastic band pull the finger back open.

Design note, inverted mapping: The hand currently mimics inverted movement. So when the operator's palm is open, the robotic hand closes, and vice versa. This isn't a mirroring bug, it's an intentional design choice. Since a relaxed, open palm is the natural resting state for a hand, mapping "open" to "servos relaxed" just made the control logic simpler to build and tune. Making the mapping mirror real hand movement one to one, open equals open and closed equals closed, is a straightforward software change if a more intuitive or realistic feel is wanted later.

A few known limitations id like to improve:

SG90 microservos were used mainly because they were what was on hand at the time. Stronger, higher torque servos would give the fingers more grip force in future iterations. The elastic bands on the back of the hand don't give the smoothest movement. They can get sticky and catch a bit, so the finger release isn't always fluid. This is an area that could use improvement, maybe through a different return mechanism like small springs or a low friction band material.

  • Mechatronics
  • Robotics
  • Arduino
  • Fusion360
  • 3D Printing
  • Computer Vision
  • Machine Learning
  • Electronics

Forskning · Jun 2026

AI and Machine Learning for Sustainable Urban Mobility: A Systematic Review

Systematic review of 14 Q1 IEEE journals on AI and RL methods for sustainable smart urban transport.

This paper is a systematic literature review looking at how artificial intelligence and machine learning are being used to make urban transport smarter and more sustainable. Following the PRISMA 2020 guidelines, the authors searched IEEE Xplore and narrowed down an initial pool of 469 papers to 14 high quality Q1 journal studies published between 2016 and 2026.

The review found that reinforcement learning, and deep Q-network approaches specifically, dominate the field of traffic signal control, consistently beating out traditional fixed-time systems and cutting vehicle waiting times in several reported cases. The paper also traces how the research has evolved over time, moving from single intersection control toward multi-agent coordination and federated learning setups designed to scale across entire cities. Other methods covered include PPO, LSTM based traffic prediction, and hybrid models combining spatial and temporal learning, applied not just to traffic lights but also to things like road anomaly detection and route optimization for buses and general navigation.

A key takeaway is that while these AI driven methods show strong results in simulation, almost all of the reviewed studies rely on simulated environments like SUMO rather than real world deployment, leaving open questions about how well these gains would hold up on actual city streets. The paper closes by pointing to lightweight model design and edge computing as promising directions for closing that gap between research and real world use.

  • Machine Learning
  • Reinforcement Learning
  • Deep Learning

Forskning · Jun 2026

Self-Supervised Video Object Segmentation for Autonomous Driving: Cross-Domain Evaluation on KITTI and Waymo

Cross-domain evaluation of self-supervised video object segmentation for autonomous driving.

This paper looks at how well SSL-UVOS, a self-supervised video object segmentation method built on a frozen DINO ViT-S/8 backbone, actually performs when applied to real-world driving data. Self-supervised approaches are appealing because they skip the expensive labeling process that supervised methods depend on, but nobody had really tested how these methods hold up once you move them from clean benchmark datasets into messier, more complex driving scenes.

We ran twelve pipelines that varied the pretraining domain, the evaluation dataset, and the input resolution, testing everything on two major driving benchmarks: KITTI MOTS and the Waymo Open Dataset. For some pipelines we also fine-tuned the model using SimCLR contrastive pretraining on unlabeled driving footage to see if domain-specific adaptation would help. Performance was measured using FG-ARI and J&F, and we paid particular attention to far-zone segmentation, since detecting small, distant objects like pedestrians and cyclists early is one of the most safety-critical parts of the problem.

The results show a clear gap: SSL-UVOS performs noticeably better on KITTI than on Waymo, likely because Waymo scenes are more complex and further removed from the kind of data the underlying DINO backbone was originally trained on. Bumping up the input resolution turned out to be the single most reliable way to improve far-zone segmentation on KITTI. Domain-specific pretraining, on the other hand, barely moved the needle and sometimes made things worse, especially on Waymo. Overall, the work points to resolution, not contrastive pretraining, as the more practical lever for improving detection of small, distant objects in real driving conditions, while also showing just how far self-supervised methods still have to go before they're ready for safety-critical autonomous driving perception.

  • Computer Vision
  • Deep Learning
  • Machine Learning

Företag · May 2026

Hello World - Keyboard Helper (Company)

Interactive Swedish keyboard trainer helping kids find keys and symbols for Windows and Mac layouts.

A simple, visual keyboard tool for kids learning to code I built through the Hello World program. It displays a full Swedish keyboard on screen, in both PC and Mac versions, and lets kids click on any symbol to instantly see which key or key combination types it. They can also press a real key and watch it light up on screen to confirm they've found the right one. The tool includes a presentation mode for classroom demos, a copy button for grabbing symbols quickly, and fullscreen support, all built with plain HTML, CSS, and JavaScript with no dependencies.

  • HTML
  • CSS
  • Javascript

Forskning · Mar 2026

Heart Disease Prediction: A Comparative Study of Machine Learning Pipelines

Developed 200 machine learning pipelines for heart disease prediction using CDC health data.

Developed a comprehensive machine learning pipeline for predicting heart disease from CDC health survey data. Evaluated 200 unique combinations of datasets, feature selection methods, sampling techniques, and ML models. Compared Decision Trees, Logistic Regression, Neural Networks (MLP), and XGBoost classifiers. Addressed severe class imbalance using SMOTE, Borderline-SMOTE, ADASYN, and SMOTE-ENN. Experimented with multiple feature selection strategies, including Chi-Square, manual selection, and near-constant feature removal. Used stratified 10-fold cross-validation to ensure reliable and comparable model evaluation. Focused on Recall, F1-score, and ROC-AUC due to the importance of detecting minority-class heart disease cases. Analyzed both the 2022 CDC dataset and a combined 2020–2022 dataset containing hundreds of thousands of records. XGBoost combined with SMOTE-ENN achieved the strongest overall F1-score of 0.467 on the 2022 dataset. The project demonstrated how preprocessing and class-imbalance handling can significantly affect machine learning performance in healthcare applications.

  • Machine Learning
  • SMOTE
  • Python

Projekt · Feb 2026

StudieKompassen - Study Counselor - Chatbot

Chatbot that helps Swedish students get personalized study and career guidance.

Studievägledare ("Study Counselor") is a Swedish-language web application built with Next.js (TypeScript, Pages Router) and styled with Tailwind CSS. It provides a chatbot interface where students can talk with a virtual study counselor to get guidance on educational programs and career paths in Sweden.

The chatbot can be connected to different language model providers depending on configuration. To keep responses relevant, the chatbot references a local dataset of educational programs. The app also includes a login system built with Supabase, with database schema files under supabase/sql, and a results page that recommends universities based on the student's answers. A question checklist component walks students through a structured set of questions to capture their interests and preferences before generating recommendations.

  • Machine Learning
  • Next.js
  • TypeScript
  • TailWind
  • Generative AI

Hackathon/Tävlingar · Nov 2025

North Western Europe Regional Programming Contest Placement: 83/141

Placed 83rd of 141 at NWERC 2025 - a jump from the bottom 14% in 2024 to the middle of a much larger field, plus top 27% in Sweden and 1st at JU.

Competed at the North Western Europe Regional Contest (NWERC) 2025, a regional round of the ICPC (International Collegiate Programming Contest) World Finals, after qualifying through the Nordic Collegiate Programming Contest (NCPC).

Results: - NWERC 2025: placed 83rd out of 141 teams,a meaningful improvement over NWERC 2024, where we placed 69th out of 80 teams, the percentile placement rose from the bottom ~14% to roughly the top ~59%. - NCPC Sweden 2025: ranked 13th out of 48 Swedish teams (top ~27% nationally) - Jönköping University (JU) 2025: 1st place among JU's teams

Solved algorithmic problems under contest time pressure as part of a 3-person team, covering areas including graph theory, dynamic programming, and combinatorics.

See attachment for more info about NCPC & the problemset.

  • Python
  • Algorithms
  • Data Structures
  • NWERC

Hackathon/Tävlingar · Oct 2025

Nordic Collegiate Programming Contest Placement: 1/10

Placed first in NCPC hosted first time hosted at JU and qualified for NWERC in Karlsruhe - Germany.

NCPC is the Nordic ICPC qualifier: teams of three, one computer, five hours, roughly ten problems judged automatically against hidden test cases. Difficulty runs from simple greedy problems up to graph algorithms, DP and geometry. We placed first at the Jönköping site, advancing to NWERC in Karlsruhe.

See attachment for more info about NCPC & the problemset.

  • Python
  • Algorithms
  • Data Structures
  • NCPC

Företag · Sep 2025

Bilteknik Car Dealership Website (Company)

A full car-dealership website with live inventory, financing,built for a real client in Kristianstad, Sweden.

A production website for Bilteknik i Kristianstad, a car dealer and repair shop in Tollarp, Sweden. Built with React, TypeScript, Vite, Tailwind CSS and shadcn-ui, and deployed live at bilteknik-kristianstad.se.

Key features: - Searchable, filterable car inventory pulled from Supabase, with per-vehicle detail pages (year, mileage, fuel type, transmission, price) - Financing info page outlining interest-free and low-rate options - "Sell your car" lead form that emails the dealership (via Resend API) - Google reviews carousel and service/feature highlights on the homepage - Fully responsive layout with a dark hero, sticky nav, and footer with hours/contact/map links

  • CSS
  • HTML
  • Javascript
  • React
  • TypeScript
  • Bilteknik i Kristianstad

Projekt · Mar 2025

YAMZ - Ontology-Grounded Medical Diagnostic Assistant

A medical Q&A system that answers from an OWL knowledge graph, comparing RAG retrieval against generated SPARQL.

YAMZ was in autumn 2025, around a question that comes up whenever a knowledge graph meets a language model: if the structured knowledge already exists, does it help to embed it as text and retrieve chunks from it, or is it better to query it directly?

The ontology came first, hand-built in Protégé, 32 classes and 60 individuals covering diseases, symptoms, treatments, body parts and risk groups. Three reasoning modes then sit behind the same question box, so they can be compared on identical inputs.

RAG flattens the RDF into readable sentences, embeds them with all-mpnet-base-v2, and pulls the closest chunks in as context.

SPARQL gives the model the ontology schema instead, lets it write a query, runs that query with rdflib, and summarises whatever rows come back.

Comparing the three is where it gets interesting. SPARQL only ever reports what is actually in the graph, but it is brittle: a slightly malformed query returns nothing at all. RAG copes better with vague phrasing, though it will quietly fill in medical knowledge the ontology never asserted. The ungrounded answers sound the most convincing of the three, which is rather the point.

The interface shows the working, meaning the generated query, the raw result rows and the retrieved chunks, so any answer can be checked against the graph instead of trusted.

Built with Django, rdflib, ChromaDB and the OpenAI API.

  • Knowledge Graphs
  • Generative AI

Hackathon/Tävlingar · Nov 2024

North Western Europe Regional Programming Contest Placement: 69/80

Placed 1st at Jönköping University in NCPC 2024, qualifying for NWERC.

Competed in the Nordic Collegiate Programming Contest (NCPC) 2024, representing Jönköping University (JTH). Placed 1st among JU's teams, earning qualification to the North Western Europe Regional Contest (NWERC). As one of our first competitions, it was a massive learning experience-especially since NWERC admitted way fewer teams this year, making it an elite, highly filtered arena of top-performing qualifiers.

  • Python
  • Algorithms
  • Data Structures
  • NWERC

Om mig

Kompetenser & verktyg

  • Machine Learning
  • Javascript
  • Python
  • TypeScript
  • Algorithms
  • CI/CD
  • Data Structures
  • Deep Learning
  • Electronics
  • Open-Source
  • TailWind
  • 3D Printing
  • Computer Vision
  • CSS
  • Fusion360
  • Generative AI
  • HTML
  • Mechatronics
  • NWERC
  • Robotics
  • Three.js
  • Agents
  • Arduino
  • Bilteknik i Kristianstad
  • Embedded Systems
  • ESP32
  • FrontWalker
  • Knowledge Graphs
  • NCPC
  • Next.js
  • React
  • Reinforcement Learning
  • SMOTE