About
Heliodex
I'm Lewin Kelly, a software developer from Scotland, better known online by my alias Heliodex.
I work with a wide variety of technologies, from frontend and backend web apps to embedded and game development:
- I use Svelte as my frontend web framework of choice, as it provides excellent developer experience and performance, with many features built in that make it enjoyable to work with. I usually pair this with SvelteKit for encapsulating both frontend and backend code, as it makes communication between the two a breeze and allows for ultra-fast iteration velocity.
- For server-side JS and TS development, Bun, Deno, and Node are all amazing projects that I use regularly.
- Lua was my first ever programming language, and is remains a favourite
of mine due to its simplicity, flexibility, and speed.
Luau further improves on Lua with better performance, newer syntactic features, a wider standard library, and gradual typing. This, alongside the ecosystem of tooling available for the language and compatible tools from Lua gives it a far better development experience, - Go is a compiled language that strikes a great balance of high performance, dead simplicity, and a great standard library. It's my hammer for whenever I need a native application, (micro)services, or something a bit more performant than my other favourite languages.
I'm a forever fan of all truly free and open source software, and I try to make as much of my work available and build in the open as much as possible. I'm also a big fan of all AI, machine learning, and crypto technologies which help me hugely while building software, both as tools and as components of my projects.
For me, programming is the perfect mix of logic and real-world problem solving, and I'm always looking for new and exciting projects and ideas to work on or contribute to!
Presence
I'm active on a number of platforms/protocols, which are listed on the Contact page. The summary of this is as follows:
- Github is the main place where the code I write lives.
- Reddit, the Developer Forum, and StackOverflow are what I use for asking programming-related questions, discussing particular software or languages, and providing as much help as I can to others.
- Nostr is where I spend most of my time, and where I microblog about programming-related and non-programming-related topics.
- Email is the best way to reach me for anyone who doesn't have access to or prefers not to use any of the above services.
For all of the services I'm active on, I try to check each regularly.
Small snippets of code that I write and don't have a clear place anywhere else, or occasional blog posts, are placed on Github Gists.
(psst! I post an update to how all of my projects are doing over there, with a new one every month. Of course, nobody reads them because I rarely talk about them anywhere else. They will be moved to this site in the near future.)
Hosting
I run my own server for ease of hosting some of my more complex projects as well as learning server management. At the moment, it runs openSUSE Tumbleweed and hosts a number of services, including:
- A basic fileserver at files.heliodex.cf
- A private search engine with SearXNG
- Private media storage with ente and Immich
- A Nostr relay (general purpose but mainly for backing up my own notes) with Nostream, available at nostr.heliodex.cf
- A Tor relay (non-exit, I made that mistake only once)
- An IPFS node
- Full nodes for various blockchains, including Bitcoin and Monero
- Soon a Lightning node, which I'm working on setting up with Core Lightning
- Previously Mercury 2, an online MMO game platform (see Projects)
- Previously eChat, a messaging application (see Projects)
- Previously some small bots for Reddit, Discord, etc
- Previously many Minecraft servers
Since my server tends to experience downtime, some projects (like this website) are hosted elsewhere. However, I still use the server to host projects for friends or others that need it.