About

Software Developer

I'm usually working on Full Stack or front-end projects. I haven't made many things for others, but I have done so in the past. Below are a few lists representing my skillset.


Programming Languages

JavaScript

Vanilla JavaScript

The majority of projects are created with Vanilla JavaScript. For the most part, the helpful web applications I make only require a browser for others to also use. It makes my work easier to share and improves the accessibility of the program.

Deno JavaScript Runtime

Naturally, being a front-end developer, I would want to find back-end solutions that are similar to what I'm already familiar with. Deno, a successor to Node, offers more familiar APIs and JavaScript constructs compared to Vanilla JavaScript. This allows me to execute serverside rendering in a method similar to how I would do it on the clientside.

Python

SQLite

I've made projects that used SQLite before, primarily as a database on the backend. For the most part, I can read and write basic SQL code with assistance from the internet.


Types of Projects

Front-End

Typical Websites

Creating websites for the purpose of sharing information is quite useful when trying to share information about myself or as a useful reference.

Games

Games are quite fun to make and play, so it is also something I do on the side. They, however, take quite a while to create. When trying to make something fun, a lot of work and thought has to be put in beforehand to maintain progress.

Web Tools

I make a lot of web tools for convenience. Because it can be run in the web browser, it's easy to share the tool with others who also may want to use it. I've created tools for others before who needed quick calculators or brute forcers without downloading a program to their storage.

Data Analysis and ML

There are occasionally times when I have to make a tool that requires analysis and machine learning to achieve it. However, during the times I do need it, my knowledge of TensorFlow becomes an invaluable asset.

Back-End

Discord Bot

Because of how socially prominent a bot is, it's quite rewarding to create one for a community. This encouragement led me to create a Discord bot as the first back-end project I've attempted. It's been functional for over a year, but it has some weird quirks I've accidentally implemented. Eventually, I took it down and now I have another Discord bot for a larger community.

Full-Stack

Simple File Hosting

File hosting is the easiest way to get a project up and going. It was used in my first *Spentine.com* version to host the homepage. It wasn't necessarily the best way, but it worked for the time being.

Serverside Rendering

Serverside rendering is quite a new addition to my skillset, but it is also really useful. I can reduce the client load by rendering information on the server rather than relying on a smarter client. I've also used it to generate pages of information that retrieves questions from a database.

Software Developer Journey


Block Programming

2018 to 2021

Early in my life, I discovered block programming and developed a great interest in it and created many interesting programs ranging from calculators to games. As a result, I became very interested in mathematics because of its utility in my early programs. A while later, I was gifted a desktop, allowing me to access a broader range of tools and other applications available on the internet. I was then able to further extend my skills beyond what would have been possible with just a tablet. Slowly but surely, I shifted away from block programming and towards more modern, textual languages.

Python

2021 to 2022

A few years later, I learned Python and was able to create simple games without assistance, most notably Tic-Tac-Toe. A lot of the code I had written wasn't necessarily ideal, but it functioned and was usable. Over time, my Python skills were refined as I continually created simple projects to interact with the web and automate the calculation of large amounts of data. Although I knew how to use Python, I still primarily used Scratch for most games. I aspired to create web applications but I didn't know JavaScript at the time, so I used a third-party service to substitute JavaScript for Python. The service provider's logo was always in the corner of every site I made to my dismay, so I turned my attention to JavaScript.

Web Development

2022 to 2023

A year after learning Python, I decided to learn HTML, CSS, and JavaScript. At the start, I created sites that exclusively used HTML and CSS to build a strong foundation about page layouts and styles. As time passed, I started integrating JavaScript into my workflow, so scripts originally started out being a few dozen lines to create simple applications. Along with the continuously-improving JavaScript code, my HTML and CSS skills became strengthed along with it. The excess free time I had allowed me to learn quickly. Even while I was busy understanding front-end, I still couldn't get enough of Scratch.

JavaScript

2021 to 2024

Even until two years after learning Python, I still used Scratch quite frequently because it remained my most comfortable programming style. It was quick to create a program, as it required a mouse drag for each unit of code. However, because Scratch is intended for children, many higher-level features in modern programming languages aren't present in Scratch, such as functions and more complex data structures. Because of the limitations, I learned how to work around them. It forced me to manually program even for simple tasks, but the challenges it presented taught me how to approach and solve a wide variety of problems. Over time, many impressive projects were created that used many different concepts such as recursion, mathematics, and multithreading. Inevitably, I realized that JavaScript offered countless benefits over Scratch, so I stopped using Scratch, and from then on, focused all my effort into JavaScript improvement.

Backend

2024 to 2025

During a nice vacation, I had asked my parents for a Raspberry Pi 5. They purchased the computer and it arrived about a month later. From then on, my scripts would be able to run 24/7 with a large amount of storage for potential databases. Soon after I gained a basic understanding of Linux, I developed a Discord bot for my highschool friend group. Unfortunately, because I struggled to understand how to use port forwarding, I was unable to directly connect my Raspberry Pi to the World Wide Web as a server. This lack of knowlege prevented me from improving my backend development, so I decided to leave the Raspberry Pi alone idling with the bot.

Web Applications

2024 to 2025

I returned back to development, but mostly focusing on front-end JavaScript. Many niche hobbies helped to expand my knowledge in areas such as image processing and Unicode. My CSS and HTML skills had to match my JavaScript improvement rate. The layouts and styles of my pages were becoming increasingly modernized. Deeper concerns such as accessibility and compatibility arose, both of which I never really considered when starting to develop. Modularity and portability became an issue with huge codebases, so I addressed these issues by learning more industry practices and design patterns.

Domain Creation

2024 to 2025

On 27 October 2024, I purchased a domain and finally figured out how to configure port forwarding. Simple backend hosting code in JavaScript was written for the Raspberry Pi. I integrated other online services such as a CloudFlare reverse proxy. I primarily used the domain to host private repositories. For the most part, I still used GitHub Pages for most web hosting due to its ease of use.

Fullstack

2024 to Present

Because I was able to host my projects to the broader internet and had better frontend skills, I decided to pursue full-stack projects. One of which was a relatively complex program that used serverside rendering to serve a web page. It also handled databases that prevented a network from submitting more than once and displayed information regarding the submissions of others. In another project, I created a wrapper for an LLM, which taught me more about internal LLM processing and HTTP Streams. (In progress)

Formal Education

2025 to Present

I decided to take AP Computer Science as a relatively easy course and to cover any basic concepts I had missed during my self-teaching. I learned the basics of Java but it turns out that the class is way too easy.