Karl Wahrenberg
Portfolio

Hello, I'm Karl

A curious dev creating tools and exploring new technologies.

Featured Projects

koze.dev

koze.dev

My personal portfolio site built with Next.js 16, Prisma, and next-intl. Fully bilingual (English & Swedish), deployed on Vercel with a Prisma Postgres database.

Next.jsTypeScriptTailwind CSSPrismaPostgreSQLVercel
View Projectprojects.liveDemo
JPNovel Practice

JPNovel Practice

A Japanese reading tool for learning vocabulary in context. Import novels, study the words you encounter, and track your progress with spaced repetition. There's also an integrated AI chat where you can look up vocabulary when taking tests.

Next.jsTypeScriptTailwind CSSPrismaPostgreSQLbcryptjsVercel
View Projectprojects.liveDemo
M

My Companion Hub

My Companion Hub is a full-stack platform for creating, sharing, and chatting with highly customizable AI companions. These companions feature persistent states—tracking mood, affection, and trust—alongside semantic memory, allowing for deep, continuous interactions via text, voice, and context-aware image generation.

Next.jsReactTypeScriptPostgreSQLpgvectorPrisma ORMTemporal.ioRedisNovita AIStable DiffusionElevenLabsTailwind CSSnext-authVitest
View Project
I

insta360° Camera Tracking System

A real-time AI object tracking system built for an Insta360 camera. The project spans three language environments—C++, Python, and Dart—demonstrating complex hardware integration, computer vision, and cross-platform app development.\n\nThe system was built to solve a problem for a client needing 360-degree object tracking that could feed data into a motor control system. It works in three stages:\n\nFirst, a C++ executable interfaces directly with the Insta360 camera via USB, capturing the raw H.264 video stream and piping it to the backend. Second, a Python AI pipeline receives this stream, converts the fisheye projection to equirectangular using FFmpeg, and runs YOLOv8 and DeepSort to detect and track objects in real-time. Finally, the tracking data and an MJPEG video feed are broadcast over the local network to a Flutter companion app (Windows/Android).\n\nFrom the Flutter app, users can view the live feed, see all detected tracks, and select a target to automatically compute the necessary steering angles for the motor integration.\n\nSource code is proprietary, but technical architecture details are available upon request.

C++17PythonFlutterDartYOLOv8DeepSortOpenCVFFmpegPyTorchCMakeInsta360 SDK
View Project
H

HackSim OS

Browser-based educational cybersecurity simulation game built as a fake Linux desktop environment. Players learn offensive security concepts — network reconnaissance, SQL injection, password cracking, SSH lateral movement, and social engineering — through 8 story-driven missions, all simulated client-side with no real network traffic. Features a fully functional terminal emulator, 30+ shell commands with pipe support, a virtual filesystem, and 10 interconnected Zustand state stores managing quests, contacts, player progression, and window state.

Next.js 16React 19TypeScriptZustandTailwind CSSXTerm.js
View Project