Node.js LGBTQIA+ Stories: Emelia Smith

Emelia Smith

Node.js LGBTQIA+ Stories: Emelia Smith

Carl put it rather elegantly in the opening blog post for this series, when he said “When we were young, the rules for many of us were simple. Boys like girls, and vice-versa. A mommy meets a daddy and if they love each other enough, baby comes!”, and that resonates with my own experiences.

I grew up in a very rural part of Australia, in a small country town. It was incredibly hot in the summers, and there wasn't a whole lot to do. Growing up, I knew people could be gay, but didn't know anyone who was actually gay, I knew transgender people existed but didn't understand someone like me could be transgender. Society just wasn't as accepting of LGBTQIA+ identities then as it is today. I always felt like I didn't quite fit in with the society I lived in.

As there was little else to do in that part of Australia, besides play football or go swimming, I ended up seeking refuge in online communities. Originally I wanted to be a graphic designer, because I loved art, that took me to DeviantART.com, where I found my way into internet chat rooms. One of those chat rooms was a tech support room: I liked computers, so why not help people with them? One thing lead to another, and I found myself doing programming and learning all about web development.

It was 2008 when I first realized that maybe this web development stuff could be a career, when a recruiter had seen some blog posts of mine about the client for DeviantART's chat rooms that I'd been building using XULRunner. I was 15 at the time, and couldn't quite believe it, ultimately it didn't pan out, but it did show me that there was value in what I was learning and that I could find future employment from doing things on my computer. Things were different back in 2008. The chat client I'd been working on was my first taste of asynchronous network I/O, and I liked it.

Fast-forward a year, when Node.js was announced by Ryan at JSConf.eu, once I watched the video, I immediately wanted to try to use it. It seemed so much better than what I was used to working with in XULRunner for network I/O. One thing lead to another, and I began contributing to Node.js. Back then, this was pretty easy as the code was still new and there were plenty of bugs to fix and features to add. I was there from pretty early on, I saw the birth of npm and package managers for JavaScript, I saw the first versions of connect and express, and watched the project grow. It was an exciting time!

My early contributions to Node.js were adding the fs.readdirSync method, adding fs.chmod, and implementing the 'upgrade' event that enabled implementing WebSockets in Node.js (I maintained one of the first WebSocket server packages). I kept contributing regularly and learned a lot from the early community.

The largest change I made to Node.js was splitting up the documentation into multiple files and pages, prior to this change, all the documentation had been on a single large page only. This change lifted me up to be within the top ten contributors to the project at the time, due to the sheer number of lines of code changed. This was the contribution that lead to me getting a job straight out of high school with a company in San Francisco, which allowed me to meet many of the community members I'd interacted with on IRC. I also ran one of the first Node.js podcasts with Mikeal Rogers called The Noded, and there's still some unreleased interviews from key people in the project from 2010 (maybe one day I'll edit and release these?).

It wasn't until I was in my mid-20s that I realised I was queer. I remember being on a bus to the office, and pondering the question "are men's and women's clothes really that different?", it was an odd question for someone who at the time still considered themselves straight and cisgender, but it was something I explored mentally before concluding that "no, they're all just clothes, they're not that different". That moment was really just me trying to give myself permission to try dressing differently, telling myself it wasn't taboo to try something different. Around the same time, I was having issues where I did not recognize myself in the mirror, which lead me to realising that I wasn't the cisgender guy I thought I was. On New Year's Eve of 2014/2015, I came out as genderqueer, and began experimenting with my gender presentation.

Around the time I was figuring things out, I met some more wonderful queer people (thank you so much to Jessie for organising the meet up that helped me initially get out of the closet). I decided London wasn't the place for me to be, so I moved to Berlin, and continued working with Node.js and building startups. After about a year, I realised that I wasn't just genderqueer, but actually a transgender woman, who is also a lesbian.

Now, I've been out and proud for a decade, I still contribute to Open Source frequently, in fact, a large percentage of my work today is on Open Source software. I still use Node.js regularly, and contribute to various packages, but not to the core project anymore. My time now is taken up with my own Open Source projects and contributing to Mastodon, Hollo and helping people with the Adonis.js Framework. Chances are, you've probably used software I've contributed to in one way or another. You've almost certainly used code or patterns that LGBTQIA+ individuals have created.

Node.js has always had strong participation and representation from the LGBTQIA+ community. For me, Node.js and DeviantART communities were a refuge for me, when I was living in a world I didn't quite fit into, I found safety. Without Node.js, I wouldn't have had the experiences I have, I wouldn't have met the wonderful people I have met, nor would I have gotten out of that dusty small country town, broadened my horizons, changed, and found my happiness.

Node.js is very much so to thank for who I am today.


You can find me on Mastodon as @[email protected], and support my Open Source work financially at: https://support.thisismissem.social.

Last Updated
Jun 30, 2025
Reading Time
5 min
Contribute
Edit this page