NiniNeen

Meet NiniNeen, a LlamaPaca virtual creator. 🦙 Ten years into a corporate coding job, she makes things everywhere the day job isn't: writing, singing, drawing, building.Right now she's terminally obsessed with writing very gay Disco Elysium fiction (HarryKim, slowburn, 200k words and climbing). Between chapters she streams games on Twitch, and every so often she smuggles a decade of dev skills out to build tools that make fanfic read better.New obsession every quarterly review. Same llama.

Content Creation: HiatusStreaming: When the mood strikesWriting: ActiveUpdated Q4 2026

Socials

AO3TumblrBlueskyTwitchYouTubeDiscordKo-fi

Latest

(function(){ var root=document.getElementById('nn-feed');if(!root||root.dataset.ready)return;root.dataset.ready='1'; var list=root.querySelector('.list'); var ICONS={Tumblr:'M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.941 0 9.999 0h3.517v6.114h4.801v3.633h-4.82v7.47c.016 1.001.375 2.371 2.207 2.371h.09c.631-.02 1.486-.205 1.936-.419l1.156 3.425c-.436.636-2.4 1.374-4.156 1.404h-.178l.011.002z',Bluesky:'M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566.944 1.561 1.266.902 1.565.139 1.908 0 3.08 0 3.768c0 .69.378 5.65.624 6.479.815 2.736 3.713 3.66 6.383 3.364.136-.02.275-.039.415-.056-.138.022-.276.04-.415.056-3.912.58-7.387 2.005-2.83 7.078 5.013 5.19 6.87-1.113 7.823-4.308.953 3.195 2.05 9.271 7.733 4.308 4.267-4.308 1.172-6.498-2.74-7.078a8.741 8.741 0 0 1-.415-.056c.14.017.279.036.415.056 2.67.297 5.568-.628 6.383-3.364.246-.828.624-5.79.624-6.478 0-.69-.139-1.861-.902-2.206-.659-.298-1.664-.62-4.3 1.24C16.046 4.748 13.087 8.687 12 10.8Z'}; function icon(n){var NS='http://www.w3.org/2000/svg',v=document.createElementNS(NS,'svg'),a=document.createElementNS(NS,'path');v.setAttribute('viewBox','0 0 24 24');v.setAttribute('width','1em');v.setAttribute('height','1em');v.setAttribute('fill','currentColor');v.setAttribute('aria-hidden','true');a.setAttribute('d',ICONS[n]);v.appendChild(a);return v} var HANDLE='ninineen.bsky.social',MAX=10; function clean(s){return (s||'').replace(/\s+/g,' ').trim()} function https(u){return /^https:\/\//.test(u||'')?u:null} function bskyImg(e){if(!e)return null;var m=e.media||e; if(m.images&&m.images[0])return{src:m.images[0].thumb,alt:m.images[0].alt||''}; if(m.thumbnail)return{src:m.thumbnail,alt:''}; if(m.external&&m.external.thumb)return{src:m.external.thumb,alt:''}; return null} function bsky(){ return fetch('https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor='+HANDLE+'&limit=20&filter=posts_no_replies') .then(function(r){if(!r.ok)throw 0;return r.json()}) .then(function(d){return d.feed.filter(function(f){return !f.reason&&!(f.post.labels||[]).length}).map(function(f){var p=f.post,rkey=p.uri.split('/').pop();return{src:'Bluesky',date:new Date(p.record.createdAt),text:clean(p.record.text),img:bskyImg(p.embed),url:'https://bsky.app/profile/'+HANDLE+'/post/'+rkey}})}) } function tumblr(){ return fetch('https://ninineen.tumblr.com/rss') .then(function(r){if(!r.ok)throw 0;return r.text()}) .then(function(s){var x=new DOMParser().parseFromString(s,'text/xml');return Array.prototype.slice.call(x.querySelectorAll('item')).map(function(i){ var g=function(n){var e=i.querySelector(n);return e?e.textContent:''}; var html=g('description'); if(/tumblr_blog/.test(html))return null; var d=new DOMParser().parseFromString(html,'text/html'); Array.prototype.forEach.call(d.querySelectorAll('p,br,div,li,h1,h2,h3,blockquote'),function(e){e.after(' ')}); var link=https(g('link'));if(!link)return null; var im=d.querySelector('img'); var txt=clean(d.body.textContent),ttl=clean(new DOMParser().parseFromString(g('title'),'text/html').body.textContent); if(ttl&&txt.toLowerCase().indexOf(ttl.replace(/(…|\.\.\.)$/,'').toLowerCase().slice(0,40))===0)ttl=''; return{src:'Tumblr',date:new Date(g('pubDate')),text:txt,title:ttl,img:im?{src:im.getAttribute('src'),alt:im.getAttribute('alt')||''}:null,url:link} }).filter(Boolean)}) } function safe(p){return p.catch(function(){return[]})} Promise.all([safe(bsky()),safe(tumblr())]).then(function(a){ var items=a[0].concat(a[1]).filter(function(p){return (p.text||p.img||p.title)&&!isNaN(p.date)}).sort(function(x,y){return y.date-x.date}).slice(0,MAX); list.style.minHeight='0'; if(!items.length){root.style.display='none';return} function head(p){var t=p.title,r=p.text;if(t)return{t:t,r:r}; var e=r.match(/^.{20,90}?[.!?…](?=\s|$)/); if(e)return{t:e[0],r:r.slice(e[0].length).trim()}; if(r.length<=70)return{t:r,r:''}; var cut=r.slice(0,70).replace(/\s+\S*$/,'');return{t:cut+'…',r:r.slice(cut.length).trim()}} function slot(txt){var d=document.createElement('div');d.className='slot';var i=document.createElement('span');i.textContent=txt;d.appendChild(i);return d} items.forEach(function(p){ var c=document.createElement('a');c.className='card';c.href=p.url;c.target='_blank';c.rel='noopener'; var hasPic=p.img&&https(p.img.src),hd=head(p); var body=document.createElement('div');body.className='body'; var m=document.createElement('div');m.className='meta'; var s=document.createElement('span');s.className='src';s.appendChild(icon(p.src));s.appendChild(document.createTextNode(p.src)); var t=document.createElement('span');t.className='date';t.textContent=p.date.toLocaleDateString('en-GB',{day:'numeric',month:'short',year:'numeric'}); m.appendChild(s);m.appendChild(t);body.appendChild(m); var b=document.createElement('div');b.className='txt'; if(hasPic){ var pic=document.createElement('img');pic.className='pic';pic.src=p.img.src;pic.alt=p.img.alt;pic.loading='lazy'; var h=null;if(p.title){h=document.createElement('div');h.className='ttl';h.textContent=p.title;body.appendChild(h);c.classList.add('hastitle')} b.textContent=p.text; pic.onerror=function(){c.replaceChild(slot(hd.t),pic);if(h)h.remove();c.classList.remove('hastitle');b.textContent=hd.r}; c.appendChild(pic); }else{c.appendChild(slot(hd.t));b.textContent=hd.r} body.appendChild(b);c.appendChild(body);list.appendChild(c); }); }); })();

About

NiniNeen

NiniNeen is a virtual creator based in the Netherlands. She is half Filipino, half Dutch, and part Huarizo, a llama-alpaca crossbreed, and she speaks Dutch, English, and Filipino fluently.The mixed background shows up in how she makes things: a little of everything, rarely just one lane.By day, she has spent ten years as a software engineer in the corporate code mines. It pays the bills and keeps her sharp, but it is not where the feelings go.So everywhere the day job is not, she makes things: Writing, singing, drawing, building. She is a serial hobbyist in the best sense, someone who loves learning a new craft, throwing herself all the way in, then following her curiosity to the next thing once she has chewed through it.New obsession every quarterly review, same llama.The current fixation (and holding!) is fiction, specifically a Disco Elysium longfic that started as one story and quietly became a whole universe. The story follows an amnesiac detective and the lieutenant who transferred into his precinct, quietly and devastatingly in love since the day they met, while the detective, sober-ish and trying very hard, fails to notice. Together with the growing shelf of one-shots that branch off the flagship slow burn, it is past 200k words and still climbing, ranging from aching pining to things best read with the door closed.She means it when she says she writes from her own life. The fic is where she processes her past, works through feelings she has not finished having, and figures herself out in public, one chapter at a time. Some of it is about longing, some about repair, and a lot of it is just two people finally saying the thing out loud. (She/Her, most days. Still working it out after a long time of not being allowed to, and comfortable saying so now.)The developer half never fully clocks out. Every so often she smuggles a decade of skills out of the day job and points them at the things she loves. She has built an AO3 workskin that turns Disco Elysium's chorus of intrusive thoughts into colour on the page, made to stay accessible and mobile-friendly with no forced dark mode, and a browser extension that makes leaving long, thoughtful comments on fanfiction far less painful. Small tools, built so the things she cares about are easier and kinder to read.The rest is community, and lately that is where most of her heart goes: She is building a home for like-minded people, the kind who make things and feel things loudly, and these days she spends way too much time on Discord, right in the thick of it.
She streams games on Twitch, which is less about the games and more about the hanging out. She sings and sketches when a hobby cycle swings back around. And she posts, constantly: chapters, drabbles, and half-formed thoughts at 2am.
Asks and DMs stay open, because she is curious about people to a fault. She loves nothing more than hearing someone's story, whatever it is, and getting to know the person who trusted her with it.It all comes from the same place: a person who spent a long time keeping quiet, and now makes things instead.If it is honest, a little unhinged, a bit too perfectionist, and made with care, it probably came from Neen.

NiniNeen signature: a smiling llama, a tulip and her name in handwriting

More Info

Attribution

Character Design / Models / PNGtuber

*1.0: Hoodie Design | 2.0: OfficeLady Design

Overlays, Graphics and Illustrations
Emotes
Assets
Video / VFX Motion / Animation
  • 2.0 : Starting Soon LIVE2D Puppet Animation - @hamsterCrumbs
  • Ninihead Stinger VFX - @ItsVin___
  • Nini Shorts CTA “Follow” VFX - @ItsVin___
  • BRB Screen Spinning World Llama Animation - @sssyake (skeb)
  • Twitch Alerts Animation - @i62CAL (skeb)
  • Original Song - “Canvas Calling” MV - @Lylas
  • Shorts edits - @Vaxias
  • 2.0 : Overlay Illustrations “VFX Motion” - Me NiniNeen
Music / Audio
  • Theme Song Music - "Headpats in Peru" - @444aidan
  • Starting Soon Music - "Huarizo Escapades" - Apolxcore (fiverr)
  • BRB Screen Music- "Interstellar" - Odd Chap
  • Cover : PadoruPadoru - NiniNeen Mix - futurefrequency (fiverr)
  • Original Song : “Canvas Calling” - @Haru_hzp
Assistance

Art

NiniNeen

Art by @BenteJam

NiniNeen adjusting her glasses, art by bentejam

Fujo Neen. Art by @BenteJam

2.0 Office Lady Design

2.0 OfficeLady - 2D Character Sheet

NiniNeen

Character sheet art @oyosumi

1.0 Hoodie Design

1.0 Hoodie - 2D Character Sheet

NiniNeen

Character sheet art @BenteJam

1.0 Hoodie - 3D Character Sheet

NiniNeen

3D Model by @IshyTanuki

2026 April Fools Model

NiniNeen as a llama centaur holding a steaming cup, 2026 April Fools model by HeroNoStreamer

Art by @HeroNoStreamer


Emotes

Emotes by NiniNeen

Fanart

These incredible people drew fanart of me and for that I am always so grateful.
Thank you so much!

Fan Art by the Community

Is your art missing? Or your name is wrong? Please contact me so I can correct that.


Beb

Beb is one of the kindest and sweetest VTubers I've ever had the pleasure of meeting. I'm absolutely obsessed with their bricktubers!Check out his work -> Twitter


𝕹𝖎𝖌𝖍𝖙𝖒𝖆𝖗𝖊 𝕸𝖆𝖝𝖜𝖊𝖑𝖑

3D / SFM enthusiast Danini is always bringing cheer to my day I love seeing his rendition of an Llama-Alpaca-Octoling renders.Check out his work -> Twitter


Laino

Laino was the first person to draw spicier art of Nini and for that they'll always have a special place in my heart <3Check out all their great art at > LinkTree


Considere

Long time old friend of the channel, Considere introduced me to PNGTubing.
I love seeing their growth as an artist.
Check them out-> Twitter


KiraKiraKat

Kat has been one of my oldest friends and one of the people who encouraged me to start VTubing.Receiving art from them is like christmas!Check them out-> Twitter


IshyTanuki

"Iiiiishyyy~ *kissy sounds*"
ChadDad Ishy is not only an amazing 3D artist but an EXCELLENT 2D artist as well. Receiving art from her is such a joy.
Check her out on -> Twitter


Mushroom Adam

Adam deserves so much love. This shy Mushroom boy's art never fails to make me smile.
Check them out on -> Instagram


Moss

Check her out on -> Twitter


SybatronBaka

Get yourself a mod who does everything.
He already does so much for channel and it's a blessing to get fanart too! <3
Check him out on -> Twitter


Ceno (FantaNpopo)

Dutch enthusiast, Ceno is so talented and always blows me away whenever he surprises me with new art.
Check them out on -> Twitter

Gear

PC

  • CPU - AMD Ryzen 9 5950X 3.4 GHz 16-Core Processor

  • Motherboard - Asus ROG Maximus Z790 Hero LGA 1700 ATX Gaming

  • RAM - Corsair Vengeance RGB Pro SL 32 GB (2 x 16 GB) DDR4-3200

  • Cooling- Corsair H100i RGB PLATINUM AIO

  • GPU - Gigabyte GeForce RTX 3080 10GB 10 GB GAMING OC

  • PSU - Corsair HX Platinum 1000 W 80+ Platinum

  • CASE - Fractal Torrent White

Accessories / Other

  • Monitors - 2x Acer XV272U Pbmiiprzx 27.0" 2560x1440 144 Hz Monitor

  • Keyboard - Keychron Q1 Pro QMK/VIA Wireless Custom Mechanical Switches (Brown)

  • Mouse - Logitech MX Master

  • Webcam - Logitech C920 HD Pro

  • Capture Card (for Nintendo Switch) - Elgato Game Capture HD60 Pro

  • Lights - Neewer 2 Packs Dimmable 5600K USB LED

  • Other - Elgato Stream Deck x 2 (Medium & XL)

  • Drawing Tablet - Wacom Intuos M 2019

  • Ipad Pro 2019 + Paperfeel screen cover

Software (Content Creation)

  • Video Editing - Adobe Premiere Pro & Adobe After Effects

  • Audio - Adobe Audition

  • Art / Graphic Design - Adobe Photoshop & Adobe Illustrator (mainly) & ClipStudioPaint + Procreate (Ipad 4 Mini)

  • Streaming - OBS Studio & StreamElements

  • 3D - Blender

  • Custom Stream Events (headpat etc) - BetterPoints

Audio

  • Mic - Rode Procaster Broadcast Dynamic Microphone

  • Shockmount - Rode PSM 1 Shockmount For Podcaster

  • Mic Arm - Some generic thing from Amazon Idk anymore.

  • Interface - Focusrite Scarlett Solo (3rd Gen)

  • Headphones - K240 STUDIO & Audio Technica ATH m40x

  • Mixer - VoiceMeeter Potato Digital Mixer

VTubing

VR Setup

  • Headset - Valve Index VR Headset + Controllers + 3x Base Stations

  • External USB card - Vantec Quad Chip 4-Port Dedicated 5Gbps USB 3.0 PCIe Host Card Prevents disconnects with dongles

  • Tracking - VIVE Tracker (3.0) x 6 & VIVE Facial Tracker

F.A.Q.s

About me

How old are you?

I'm a millennial. 199X

What do you do? Are you a VTuber fulltime?

I VTube for fun. By day I work as a software developer.

I have a visual arts degree and pivoted to programming, self-taught. Jack of all trades, master of none: 2D, graphic design, sound, video and 3D.

Is the corporate job real?

Yep. Ten years in the corporate code mines. It pays the bills and keeps me sharp, but it's not where the feelings go.

Why so many projects?

New obsession every quarterly review, same llama. I love learning a new craft, throwing myself all the way in, then following my curiosity to the next thing. Right now it's fiction, and that one's holding.

Why Llama / Pacas? Why a "Huarizo"? Why not just stick to one?

I'm half Dutch and half Filipino, so I feel like a bit of a 'cross' myself, hence the Huarizo bit. It's a play on my identity being so dual in nature.

Who is Omm?

Omm is my "found-family" brother and one of my oldest and dearest friends.

Are you single?

I'm happily married to my husband (nicknamed "Zhongli" since 2025 <3 <3 <3 )

Writing

Where should I start reading?

Anywhere! Start with whatever premise sounds fun on the Writing page. Each story has its own rating and content notes, so please check those first.

Why Disco Elysium? Why HarryKim?

I write from my own life. The fic is how I explore gender and sexuality, process my past, and work through feelings I haven't finished having. I'm figuring myself out in public, one chapter at a time. (She/her, most days. Still working it out.)

Can I make fanart, podfics or translations of your fics?

Anything and everything! I love it all!

Do you take requests?

Maybe! Send me your prompts, but no promises I'll write them.

Can I get help with the Voices in Your Head workskin?

Start with the tutorial, and if you get stuck, message me anytime.

Streaming & community

Are you still streaming?

Right now streaming takes a lot of emotional bandwidth, and I need to perform for the audience. I don't wanna phone it in and give you a subpar stream. I'm also trying to get my career to a stable place with a stable income.

So for now, I stream when the mood strikes. Follow me on Twitch to catch it.

What is the LlamaQueue?

The LlamaQueue is the name of my community. It's a joke about the herd behavior of Llamas, who tend to "Queue" because they seem to walk in a single-file line.

The name stuck from my previous community "LlamaJobQueue", a primarily gaming focused YouTube channel that retired in 2020, where I helped as their Graphic Artist.

I decided to keep the name in honor of my found-family brother Omm, who helped me out in really dark times of my life.

How do I join the Discord?

Everyone's welcome! Come join us.

Can I clip streams, draw you or repost art?

Clips and fanart are welcome, and please tag me so I can see the art! You can repost art and emotes as long as the artist is credited.

Just no AI training, no selling merch, and no reuploading my model.

Do you do collabs?

Occasionally! Small, low-pressure ones. Ask me on Discord.

Model & tech

What kind of model do you use?

A fully custom 3D model created in Blender and Unity.

Who designed you?

My character was designed by:
@KiraKiraKat @BenteJam and Rhemington (Oyosumi)
My 3D model is by @IshyTanuki

How does your model move like that? What software do you use?

I primarily use Vnyan. For my hands I use a small device called a Leap Motion that has cameras and shoots an infrared laser to track my hands. My face is tracked using an iPhoneXR and the iFacialMocap app. My 3D Model has the 52 ARkit blendshapes needed to move my face the way I do.

Check out the Gear section for a more detailed list of the equipment and software I use.

How does your 3D model make those animations like "panic bubbles" or an anime angry "vein popping"?

I use the .VSFAvatar format over the standard .VRM used by many VTuber apps. The VSFAvatar allows for exporting of custom animations, shaders and many more. It is a proprietary format used only in VSeeFace and builds upon VRM as a base.

All the particles / animations / images are stored inside the head cavity of the model and then triggered with hotkeys. As for tears, specific parts of the mesh are extruded, and then a shader/texture swap is applied to that area.

Why VTubing and not IRL streaming?

VTubing allows a far more creative range of expression. As a frustrated artist (never gotten to pursue an art career), VTubing lets me express myself in more ways in terms of graphic design and multimedia projects.

I briefly tried facecam streaming for 3 months from Sept-Dec 2020 and found it hard to creatively express myself in a way VTubing can.

Can I ask you for VTubing advice?

Yes! Replies may take a while though. The Gear section has everything I use.

Contact*

* I'm most available between 18:00 and 23:00 Netherlands time, most days. Discord is usually the faster method.

Neen time: --:-- (Netherlands)
(function(){ var el=document.getElementById('nn-time-now');if(!el)return; var fmt=new Intl.DateTimeFormat('en-GB',{timeZone:'Europe/Amsterdam',hour:'2-digit',minute:'2-digit',hour12:false}); var timer; function tick(){el.textContent=fmt.format(new Date());clearTimeout(timer);timer=setTimeout(tick,60000-Date.now()%60000)} document.addEventListener('visibilitychange',function(){if(!document.hidden)tick()}); tick(); })();

Music

NiniNeen in a llama hoodie playing acoustic guitar, art by fanta_npopo

Art by @fanta_npopo

Canvas Calling

CREDITS

Christmas Covers

Writing

📁 Also available OFFLINE

Yaoi on AO3, smuggled out of the corporate mines. 💖 Current affliction: HarryKim / Disco Elysium. Terminal.

I write very gay Disco Elysium fanfic, mostly Harry and Kim, and it's past 200k words across everything now. It started as one story and quietly became a whole universe: one slow burn longfic plus a growing shelf of one-shots, from aching pining to things best read with the door closed. I write from my own life, so a lot of it is about longing, repair, and two people finally saying the thing out loud.

Content note: some of these fics are Explicit and meant for adults. Each one lists its rating, so please check before you read.

Cover of Unprofessional Conduct in the 41st, art by nekronyancer: a gloved hand and a bare hand almost touching

💫 Unprofessional Conduct in the 41st

E · 99.5k · WIP · POV Alternating 🧡💚 · slowburn hurt/comfort · mutual pining

Kim transferred to Precinct 41 eight weeks ago and has been quietly, devastatingly in love since Martinaise. Harry — sober(-ish), trying very hard — has not noticed. The parliament in his head has. It's losing its mind about it.

Incredible cover art used with permission by my InternetHusbandWifePartner @nekronyancer I love you so much. I can't say it in words to you, so i'll have to put it here instead.


Signal Intercept banner

📻 Signal Intercept

E · 14.1k · complete · POV Harry 💚 · palestorm · accidental mind-link · mutual m@sturbat!on · lightnovel art by @nekronyancer

A Code Purple cracks Harry's head open to the whole district — and one frequency comes in clean: Kim, forty kilometers out, saying his name to a man he's certain isn't there. He is. The line runs both ways.


Custody banner

🔗 Custody

E · 12.2k · complete · POV Alternating 🧡💚 · rank play · praise kink · prank-turned-real

Harry cuffs a sleeping lieutenant as a prank. All Kim has to do is tell him to stop. He doesn't.


Shelter-in-Place banner

❄️ Shelter-in-Place

M · 10.2k · complete · POV Kim 🧡 · forced proximity · caretaker gets cared for

Stranded on a dead coast road in freak spring snow, one regulation blanket between them. Kim runs the hypothermia procedure out loud so he doesn't have to feel it. Harry does the holding. For once, Kim lets him.


AUTOSAVE banner

🎲 Shelter in Place: AUTOSAVE — COASTROAD NIGHT

E · 13.2k · complete · POV Harry 💚 · save-scum branch · first time · car sex

The same night, reloaded from the other side of the blanket. The parliament calls an emergency session over a kiss neither of them has had yet, and for once in his life Harry doesn't wait for the ruling. Two dice go across a table. In one room the forehead kiss stays a kiss. Not this room.

Both branches: Shelter in Place collection


Crowd Control banner

🪩 Crowd Control

M · 5.3k · complete · POV Kim 🧡 · leather pants · jealous harry · UST all my fics are honestly

Kim wears the leather racing jacket to Disco Night. half of Martinaise notices. More unfortunately: Harry notices.


Cheek Weld banner

🎯 Cheek Weld

M · 3.4k · complete · POV Harry 💚 · touch-starved · professional pretext · pining

Harry can't qualify with his own service weapon since the tribunal. Kim has a fix: the range, after hours, bare hands at his hips — to correct his stance. On the record.


🏇 Hot Pursuit

M · Red Checks & Orange Bombers · rivalry · professional envy · ten years of catching up

Ten years before Martinaise, Kim Kitsuragi watches Precinct 41's golden prodigy ride into the 57th's courtyard. Mounted, careless, already a lieutenant, and beautiful enough to make Kim forget every disciplined thought he has ever had. Harry Du Bois reads the kineema racer off Kim's hands and leaves him with four words: You're good. You'll catch up. Harry forgets him before he reaches the stairs. Kim turns the want into rivalry and spends ten years catching up. By the time he does, Harry no longer remembers there was ever a race.


Voices in Your Head banner

👩‍💻 The Voices in Your Head

AO3 workskin · made with 10 years of professional spite

Disco Elysium. Your fic, but with intrusive thoughts in colour. Accessible, mobile-friendly, no forced dark mode.


Art by Freaknix

Painterly Disco Elysium style portrait of NiniNeen in glasses
Harry and Kim in a sloppy, blushing hug and kiss, art by Nekronyancer

Art by Nekronyancer