Full-Stack Developer

I love creating something that is clean and minimalistic, attractive and has value, and of course, easy to use.

I really enjoy creating websites with rich UI components, including:

  • Web applications,
  • Dashboard layouts,
  • CMS contents layout,
  • Documentation pages,
  • and anything I can make more beautiful and fun.

But I still like to make simple website pages like landing pages. So, what tools did I feel comfortable using during the website creation?

Favourite Technologies Right Now

JavaScript

First of all, the programming language. I'm very used to using JavaScript, although website creation can be done using PHP, Python, etc.

React

I really enjoy building single page application websites and React is my go-to library.

I've been using it since the early part of 2023, and have become quite proficient with it.

Tailwind CSS

For now, I love using Tailwind CSS for styling. It's simple, and very flexible.

I'm still new to Tailwind CSS, but I'm really comfortable using it and I think it's a great tool.

Material UI - (and other component frameworks)

I've gotten very comfortable using Material UI to aid in rapid web development, and customizing the theme and look of it to make sure it doesn't look like another Google clone is easy. Other component frameworks I've used are ChakraUI, RadixUI, and shadcn/ui.

Framer Motion + Rive

For animations, I am more comfortable using Framer Motion. Creating animations using JavaScript has never been as easy as using Framer Motion.

I'm just getting into learning interactive animations using Rive, to produce even more fun, engaging ways to use the websites I develop.

Next.js

Since discovering Next.js, I don't think I would want to use any other web framework. It's just that good! It took a fair bit of researching and testing to really understand the differences with the app router and server side rendering, but once it clicked it's really great.

TypeScript

I have some experience using TypeScript, though admittedly less than I would like. A team and I at InceptionU decided to use it for the first time for our final project, and we got a good sense of how it worked before switching back to JavaScript due to time constraints on the project.

At least I know for my next projects I'll certainly be using TypeScript!


Full List Of Technologies I Have Experience Using

I represent all data in labels to make it easier to read. The underline indicator shows how often I used the related item, e.g.:


Frequently UsedOccasionally

Programming Languages

JavaScriptTypeScriptHTMLCSS C# C
IronPython Python SQL

Front-end & Back-end Technologies

ReactNext.jsNode.js Express.js Nest.js .NET Vue.js Framer Motion
Material UITailwind CSSChakra UI Jest React-Router
Webpack Vite OpenAI API Training Models Swagger Unit Testing

Database Technologies

Supabase (Database / Auth / Storage / Edge Functions / Realtime)

PostgreSQL
MongoDBMongoose.js

Firebase (Hosting / Storage / Auth)

Softwares and Tools

VS CodeVisual StudioTerminalGitGitHubBitBucketPostmanCurl
FigmaRiveInkscapeIllustratorPhotoshop
LinearJira

CMS Website Builders

WixWordPress

Story Of My Coding Journey

I started my career as a software developer about 3 years ago. I was working as a drafting technologist and was first introduced via a visual programming tool - namely Dynamo for Revit by AutoDesk.

Soon I realized that I couldn't rely on other people's pre-built nodes to get what I needed, as they had a tendency to stop working when their dependencies were updated.

That's when my journey of self-taught software development began, and I did some research to find the easiest path to developing add-ins, and I decided to learn PyRevit (which utilizes IronPython to interface with .NET) as a way build add-ins for our company.

I then took up a mentor to because I wanted to learn how to develop applications on the web. He introduced me to JavaScript and TypeScript, using the Vue.js framework. Vuetify was the UI Component Framework I used to develop my first personal projects.

First Personal Projects

  • A chat web application - for learning the ins and outs of express.js api endpoints, server calls, and building the app so different users can interact with each other.
  • Go board game - used to learn high-level object oriented programming concepts, classes, inheritance, etc.
  • A Spotify Music Taste Sampler App - to learn how to access REST APIs and learn how to make database queries and manipulate the data. This was my first introduction to MongoDB and Mongoose.js

Even though the scope of web development is broad, I was very interested and focused on Front-End Development and how to make my layouts and designs intuitive and professional.

Recreating Vintage Video Games To Learn C#

After developing some initial add-ins on the PyRevit third-party plugin, I wanted to learn to develop native add-ins for Revit, and I needed to learn C# in order to do that. To aid in learning the syntax and structure C# needed, my mentor used several old-school video games to learn the concepts.

  • Pong - to learn event listeners, basic AI/ dynamically moving parts, rendering, etc.
  • Space Invaders - more advanced practice with event listeners, classes, inheritance.
  • Donkey Kong - to learn serialization, deserialization, and how to build a utility application alongside, like a level editor.