Hi, my name is

Gunnar Omander

I'm a full-stack web developer specializing in Svelte, Vue, and TypeScript.

Check out my Github profile, look at some projects I've worked on, see my professional work experience, and find out how to contact me.

Here's my CV
Read more about me

Who am I?

I'm a 23 year-old Swedish American with a passion for computers, coding, and games. I was born and raised in Silicon Valley, but moved back to Sweden to finish my education, and have lived here since.

I began my development journey with Scratch and LEGO Mindstorms in elementary school, then learned Java in middle and high school. From there, I moved on to Python, and eventually to JavaScript when I started working in web development. Lately I've been dipping my toes into Rust as well.

I graduated from the 2-year frontend development program at Medieinstitutet in Malmö in 2024. A large part of the program focused on React, but it also included units on API development, databases, and design.

Svelte + SvelteKit and Vue.js are my JS frameworks of choice, with which I've amassed a few years of experience. I also have years of experience in Node.js, TypeScript, HTML, CSS/Sass/SCSS, and even Python.

In my free time, I enjoy playing videogames with friends, and it's my dream to someday develop my own game and bring my ideas to life. I'm also really into building computers and self-hosting services on my home server using Linux and Docker.

See some of my work

Here are some things I've worked on

Wheel of Names

Wheel of Names is a site where you can easily enter a list of texts, images, or both, and have one randomly selected for you with boundless customizability and lots of fun, cool features.

Wheel of Names is used by over 2 million people every week to help make decisions, as a randomizer, or for plain entertainment.

Made with

Vue
Node
TypeScript
Google Cloud Platform
The Wheel of Names website has a large wheel in the center of the page. There is a textbox with names on the right, and those names are reflected as colored sections on the wheel.

Wheel of Names Discord bot

Spin wheels with members of your server, spin your shared wheels from the wheelofnames.com website, or spin a wheel with any text you want with customizable commands in the Discord client.

The Wheel of Names verified Discord bot has been added to over 100,000 servers and responds to thousands of commands every day with custom-generated wheel spin GIFs.

Made with

TypeScript
Node
Rust
Google Cloud Platform
The Wheel of Names Discord bot responds to a '/wheel' command with a GIF of the Wheel of Names spinning.

DARCI.gg

DARCI is a collection of tools and data visualizations for Destiny 2 that integrates with the Bungie.net API.

View game items in neat tables and compare raid achievements between players.

Made with

Vue
TypeScript
Google Cloud Platform

Source

DARCI has a table view where you can compare which raid triumphs each player needs.

SvelteWheel

SvelteWheel is a proof-of-concept rewrite of Wheel of Names in Svelte.

It has many of the same basic features as the original, but with better performance and a smaller bundle size.

Made with

Svelte + SvelteKit
TypeScript
Google Cloud Platform

Source

SvelteWheel has a large wheel in the center of the page. There is a textbox with names on the right, and those names are reflected as colored sections on the wheel.

React Movies App

A frontend for the TMDB API that lets you browse and lookup movies.

This was an assignment for my React course at Medieinstitutet, and is only here to show that I have experience with React.

Made with

React
TypeScript
TMDB API

Source

AI Chat App

A simple AI chat app that integrates with the OpenAI, Anthropic, and Gemini APIs. It's fully customizable and lets you change your system prompt or switch between different models and APIs mid-conversation!

Made with

Svelte + SvelteKit
OpenAI API
Anthropic API
Gemini API

Source

The open setting dialog lets you rename your chat, switch between different APIs and models, choose a custom system prompt, and more.

AI Chatbot for Discord

An AI chatbot for Discord that uses an OpenAI API assistant to respond to user messages.

Made with

Rust
OpenAI API
Supabase

Source

See my professional experience

Work Experience

References available upon request.

OmanderConsulting

2021 - present

My work for OmanderConsulting consists largely of developing and maintaining the Wheel of Names website and Discord bot.

Also as part of my education at Medieinstitutet, I did a 16-week internship at Coolstuff, an e-commerce company located in Malmö that sells all kinds of things across multiple European markets.

I worked alongside the development team on both the Svelte frontend and the Node backend. I was responsible for implementing an easter egg hunt event, prototyping an AI chatbot, building a dashboard for handling personalized order prints, and many smaller tasks.

Sprinta

2023

As part of my education at Medieinstitutet, I did a 10-week internship at Sprinta, a development consultancy firm located in Malmö.

I worked on an enterprise application for tendering and procurement of consultants. I worked on the frontend Angular app to implement new features and functionality.

Contact me