Software developer & interaction designer

I build thoughtful, reliable software for people and businesses.

From interactive React and Next.js experiences to robust backend systems built with C# and .NET.

About me

A software developer with a human-centered perspective.

I have a background in Information Technology and Interaction Design and Technologies from Chalmers University of Technology.

My experience spans system programming, frontend and backend development, mobile applications and AI-integrated software systems.

I enjoy turning complex requirements into reliable, maintainable software using clean architecture, thoughtful design and structured development practices.

What I bring

  • Modern frontend development with React and TypeScript
  • Backend development with C#, .NET and APIs
  • System development with C, C++ and Java
  • Interaction design and accessible user experiences
  • AI integration, RAG pipelines and LLM-based systems

Selected work

Projects

A selection of projects spanning full-stack development, mobile applications, software architecture, embedded systems and interactive AI experiences.

Showing 10 of 10 projects

Master's thesis · Interactive AI system

Four Philosophers

A real-time AI debate installation where four digital philosophers discuss user-submitted questions. My main contribution was the React frontend, including the debate interface, voice input, keyboard controls, API communication and synchronized visual and audio responses.

ReactTypeScriptVitePythonFastAPIChromaDBRAGLLM integrationVitestDocker

Full-stack web application

Toll Fee Calculator

A congestion tax calculation system with a tested C# domain layer, an ASP.NET Core API and a responsive Next.js frontend. The application handles vehicle exemptions, toll-free dates, time-based fees and the single-charge rule.

C#.NETASP.NET CorexUnitNext.jsReactTypeScriptTailwind CSS

CLI application · Software architecture

Taskforge

A command-line task tracking engine built to practise layered architecture, dependency inversion and automated testing. It uses UUID-based task identity, JSON persistence, backward-compatible data loading and a GitHub Actions test workflow.

PythonPytestJSONLayered ArchitectureGitHub ActionsTest Coverage

Command-line application

MySH

A minimal interactive shell with command history, autosuggestions, contextual autocompletion and a dynamically updated colored prompt. The application uses a modular structure designed for continued extension.

Pythonprompt_toolkitCLI DevelopmentAutocompletionANSI Colors

Cross-platform mobile application

SmartFishing

A Flutter application for recreational anglers featuring a social catch feed, interactive GPS maps, marine WMS layers, weather forecasts, fishing guides and Firebase-based user accounts.

FlutterDartFirebase AuthenticationCloud FirestoreFirebase StorageREST APIsWMSGPS

Interactive AI desktop application

AI Time Machine

An interactive Pygame experience where users explore historical events through an AI persona called The Archivist. It combines real-time AI-generated content with a game-inspired interface, scrolling text and audiovisual feedback.

PythonPygameOpenAI APILLM IntegrationUX Designpython-dotenv

Bachelor's thesis · Android application

TrainingApp

A native Android fitness application developed as my bachelor's thesis at Chalmers. The application supports workouts, exercises, favorites, profiles, friends and leaderboards backed by Firebase services.

JavaAndroidFirebase AuthenticationFirebase Realtime DatabaseFirebase StorageFirebase Cloud MessagingGradleXML

Augmented reality game

Driver Forever

A Unity driving game combining an endless procedurally extended road with augmented-reality placement. Players can place the vehicle on a detected physical surface before starting the driving experience.

UnityC#AR FoundationARCoreMobile Development3D Game Development

Wearable computing prototype

Wearable Arduino LED

A wearable LED prototype controlling a WS2812 light strip through an Arduino-compatible board. Serial commands switch between animated color transitions, a rainbow effect and different numbers of illuminated LEDs.

ArduinoC++FastLEDWS2812 LEDsSerial CommunicationWearable Computing

Multiplayer desktop game

Trivial Pursuit: Around the World

A multiplayer desktop adaptation of Trivial Pursuit developed for Chalmers' object-oriented programming project course. The JavaFX application follows an MVC-inspired structure and includes continent-based questions, player selection, dice mechanics and automated model tests.

JavaJavaFXFXMLMavenJUnitMVCObject-Oriented Design

Get in touch

Let's build something thoughtful together.

I am interested in opportunities where I can contribute across software development, modern web technologies and human-centered digital experiences.

Send me an emailDownload CV