Hello there,
I am Adib Zaini


About

coding

Background in Programming

I am a Software Engineer

My hobbies are developing mobile apps, games, websites and learn how computer works. I started to learn code in 2017 by watching YouTube videos and do some online courses.

My focus is on back-end development and I like to play with protocols (http, webSocket, webRTC)


Skills

I have built website, node module and twitter bot using NodeJS. This is one of my favourite technology and I am trying to be an expert in JavaScript related technology since nowadays, we can build almost everything on top of web-based technology.
'Vanilla' JavaScript is still my choice for client-side. WebSocket and WebRTC are technologies which I like to play with, without using any library. But I have to admit, using library is much easier because that's the whole point of using library.
With python, I have built typing bot, website(Flask) and do automation using Youtube API to change video's name every 8 minutes. I'm currently learning machine learning with Tensorflow and intended to take Tensorflow Certificaiton Exam in the future.
My first project since I started to learn programming is an Android app. I have a few projects developed using Android Studio. Java is my preferred language since I don't know Kotlin. I'm focusing on educational application.
My only project with C is during my foundation year in UiTM Dengkil. But C is one of my favourite languages due to its strictness. I learned data structure using C in Harvard University's CS50x online course.
I learned C++ during my Degree. I have a project in C++ which I use this language to play 'Negaraku' song using Windows API. It sounds like old video game sound.
I have only one project developed using Flutter, it's called SPM Sains but only available for Android phone since I don't have Mac to develop iOS app.
I use ReactJS to develop MERN stack application. In fact, this website is built using ReactJS but without MongoDB. I have many MERN stack application but publised only few of them since most of them are for practicing purpose.
I was 'forced' to use Linux when I want to publish my first project in production. I also learn about penetration test using kali linux in order to make my website safe for user.
It is easy to do automation using Bash. I believe learning Linux & learning Bash are two different things because one is OS & one is scripting language. I use bash mostly for pentesting. I also use Bash once to brute force UiTM's Student Portal(My account obviously) and it works!
Front-end is not my strength but I like to style my website without using library such as bootstrap. This page is styled 100% using 'vanilla' CSS.
Even though I like use 'vanilla' CSS, using CSS preprocessor like Sass is much easier. I can say that I'm quite familiar with Sass.
I have built few games using Unity Game Engine. Most of them are Android games. Developing game is one of reasons why I learn programming.
I use blender to design my own props for my game. Though, I have to admit that I'm not good with 3D design.
Google Cloud is my first place where I deploy my website. To be precise I'm using Cloud Run. Here I learned a little bit about Docker since I need to deploy my website inside docker container.
I like to use heroku to deploy my testing project. I also deploy my twitter bot here because its easy and free.
Nothing to say here. Just want to mention that I know how to use git and github

Works

spm sejarah
SPM SejarahAndroid Studio | JavaThis is my first project since I learned programming. It's a multiple choice question app to help students study even without Internet connection. It took me 3 months to finish this project. More than 20k devices have installed this app.
spm sains
SPM SainsFlutter | DartIt's a multiple choice question app to help students study even without Internet connection.
pendek.me
pendek.meMongoDB | ExpressJS | ReactJS | NodeJSMy first web app. Your typical URL shortener but I'm proud of it. It used to be a Flask app. It migrated from Python to JavaScript. This web app is hosted on Cloud Run.
arkib
ArkibJavaScript | NodeJSMy first node module that published on npm public registry. It client API that help developers fetch data from National Archive of Malaysia. This is an open-source project.
sejarah bot
Sejarah BotNodeJS | Twitter API | Arkib | HerokuThis bot will tweet about 'Hari ini dalam sejarah' every day & tweet a short video by Arkib Negara once a week. I use my own node module, Arkib to fetch data from Arkib Negara. This bot is hosted on Heroku.
typing bot
Typing BotPython | SeleniumThis project is just for fun. I don't make my source code public because it will be violating typeracer.com's rule. I can only show you Youtube video about the process & result.
find the end
Find The EndUnity | C#My first game & I have to admit it's a bad game.
math game
Math GameAndroid Studio | JavaYour typical mathematics game. Try out if you want to strengthen your math foundation.
learn malay
Learn MalayAndroid Studio | JavaYou can learn how to write & pronounce Malay words & sentences here. I use my own voice.
its going down
It's Going DownUnity | C#I like this game. It's not challenging at all. It's just pure evil.
lantun
LantunUnity | C# | BlenderThis one is simple. You need to finish all levels. I like the character that I designed by using Blender.
pecut
PecutUnity | C# | BlenderHelp Pecut collect duit raya! For me, I love the environment of this game and the music is soothing. It has Android & Browser version. Android Version | Browser Version
uitm istudent brute
UiTM iStudent BruteBash | Kali LinuxSince it's illegal to hack someone else. I try to brute-force my own UiTM student's account. I don't make the script public since it can harm UiTM. I only can provide you Youtube video.
youtube api
Youtube APIPythonI use Python and Youtube API to change my video's title every 8 minutes. The programme sometimes stopped because exceeded daily CPU usage at pythoneverywhere.com.
sementara
SementaraNodeJS | ReactJS | Google StorageAn open-source web application which allow user to upload and share temporary file using QR code.
kamus
KamusChrome ExtensionAn open-source chrome extension for getting malay & english words definition from Dewan Bahasa dan Pustaka's Pusat Rujukan Persuratan Melayu.

Extra

CinChat
CinChatNodeJS | ReactJS | SassJust a brief example of web socket app. I made this while developing this portfolio. I use Sass for the styling but it doesn't really matter since it will translate the code to CSS.
resume
My ResumeLatestA little bit info about me and my education background.