The cutest dictionary in the world. (aint' many)

Stargazing bear I made for my dictionary app. (See it for yourself on App Store)
Dictionaries are more than just definitions
For language learners, dictionaries are often seen as a necessary tool, purely the means to an end - i.e. "what does this word mean?" In my own experience, they also provide serendipitious encounters with words you weren't looking for. You might encounter a funny word or expression, a unique or culturally revealing term - which serves to further motivate and inspire your language learning journey.
I went looking for a simple Korean-English dictionary, and to my horror... I could not find one. So I built my own.
Too many apps with poor UX
Existing free Korean dictionaries for iOS had issues that for me, are dealbreakers:
- poor visual hierarchy
- ads
- awkward, laggy webapp (as opposed to native app)
- no offline mode
- can't bookmark words
- cost money (super fine, but only if it's a quality app.)
I decided to take my fledgling knowledge of SwiftUI and build a quality dictionary myself. Apple has some great tutorials and resources for learning SwiftUI.
Online language learning communities are very generous with providing free resources, advice and help. Creating Bandal is my way of paying it forward.
The world needs more cute apps
Bandal might just be the only cute dictionary in the world. Can you name any other ones? Me neither.
I named it after the so called half-moon chested bear, or Bandal gasum gom, in Korean. There are only two reasons for this:
- I had the idea while walking at night, and happened to see a half-moon.
- I like bears.
Honestly speaking, most apps are quite uninspiring. The expectations for a dictionary very low. But I wanted to show the real value in adding a bit of joy into an otherwise purely functional app.
Finally, the star feature, the crowning cutechievement of the app is the stargazing screen. This screen presents you with a selection of random Korean words. But they're rendered as gently trailing, falling "stars". At the bottom of the screen, our little Bandal mascot, the bear - gazes upward, resting against the tree. Hopefully, you'll come back often to stargaze and marvel at the strange new words you'll encounter. (believe me... there are many.)
This cuteness, the combination of functionality and sweetness.. it's all part of some philosophy I carry inside me. I don't want things to just be as they are. I'd like them to be more than they are. I love designing things that nobody asked for. We already have enough of what we need, so let's make something we don't need.
In Swedish, there's a new-ish term combining the words need and want - behöva, vill - into one, villhöva, villhöver. Bandal is something I villhövde.
Tech & resources used
I used the Korean-English dictionary provided as a .json by Korea's National Institute of Korean Language. I cut down the size of the dictionary by removing some keys that weren't relevant.
Tech wise, the app is built with:
- SwiftUI
- SQLite
- A combination of Google's Antigravity and Claude for.
All graphical assets were made in Blender, based off of my own illustrations.
My relationship with coding
It's a strange era we're entering, where apps and services can be vibecoded in a day or less. When I was 11, I begged my parents to buy me a book for learning Java. I only had the faintest conception of what a programming language was, other than that's the way you make games and other things on the computer. I received a Java for Dummies book, which was about as boring as it sounds. I unfortunately abandoned my attempts at learning coding for the time being.
Yet, it was a hacky time for a nerdy kid who liked games. You often had to edit config files, use quirky software to make and install mods for games - or just change the behaviour of your computer. From my teens throughout my 20s, I kept dabbling in everything from HTML to JavaScript, p5.js, node-based creative coding like TouchDesigner and more. The dream of making things happen on my computer persisted, but never fully materialised outside of a few hacky experiments I made here and there.
I amassed some sort of understanding of programming, how different languages differ, using APIs, databases and figuring out a suitable architecture. In a way, this was just like my experience in math class. I loved the concepts and theory, but the whole pen and paper.. calculating thing never appealed to me that much. Enter, LLMs and the world of AI-powered developer tools.
At long last, it felt like I was unfettered. If I saw a problem... I could finally tackle it. One of my first projects (in 2023) was a basic Python thing that would:
- scrape the top article of a Korean news website
- call the OpenAI API to generate a Swedish/Korean keyword list for the article
- package it all in JSON
- send it to my e-mail every morning
I'm telling you, pushing a button on my computer and having this all happen in an instant - seeing the e-mail hit my inbox... felt like magic. Making something interactive - fetching information, processing it, sending it through the tubes of the internet with code.
The future of AI-powered coding is exciting because of the power it puts in the hands of hobbyists like myself. There are obvious drawbacks and worrying parts too.. but I'll stick to the positives here.
