~/ellej %

show program.thusly

fun greet: name
if name = ""
@out("Welcome! 👋")
else
@out("Welcome, {name}! 👋")
end
end

var visitor: @in("Enter your name:")
greet(visitor)

~/ellej %

run program.thusly

Enter your name:

Welcome! 👋

Who?

Hey! Let's get right to it. I'm an avid problem solver and continuous learner in the amazing field of software development. I love understanding the details of how things in our world work and want to share this passion with others. I gladly spend my time digging deeper into programming languages as well as building full stack web and mobile applications.

What I Do

Databases
MongoDB, RealmDB, MySQL
SDK Design
Database SDKs for Node, React Native, Lua
Compilers
Implementation of programming languages
API Design
REST APIs (and some GraphQL)
Web & Mobile Apps
Node, React, React Native, Gatsby, Vanilla JS

Projects

Curved arrow
Icons made by Freepikfrom www.flaticon.com
pin

Language

Frendli

Programming Language for CS1

Frendli is an open-source general-purpose programming language intended for learning and teaching programming. It is designed around empirical data on difficulties and misconceptions held by novice programmers. The implementation is a recursive decent parser and an AST interpreter.

View Details

Java

Parser

AST

Interpreter

Curved arrow
Icons made by Freepikfrom www.flaticon.com
pin

Language

Thusly

Programming Language

Thusly is an open-source general-purpose programming language originally developed for personally deepening my knowledge of compilers, virtual machines, and the C language. The implementation is a one-pass compiler using operator-precedence parsing and a stack-based virtual machine.

View Details

C

Parser

Compiler

Bytecode

VM

Curved arrow
Icons made by Freepikfrom www.flaticon.com
pin

Mobile App

FindOurDevices

Device Locator App

FindOurDevices is a React Native mobile app for iOS and Android allowing users to find their and their friends' devices by seeing movements in real-time on OpenStreetMap, create private groups, accept or decline invitations to join groups, remove members of a group they created, and control their own location visibility.

View Details

React Native

MongoDB

Realm

Curved arrow
Icons made by Freepikfrom www.flaticon.com
pin

Web App

Virp

Encrypted Messaging Platform

Virp is a privacy-focused web-based messaging platform allowing users to chat via end-to-end encrypted (E2EE) messages. Users can control self-destruction timers for outgoing messages, manage notifications, settings, active chats, as well as their contacts list by searching, adding, removing, or blocking other users.

View Details

Node.js

Express

MongoDB

React

Socket.io

Jest