• Hello there,

    I'm Rafidul. You can check out my work here.


  • About Me

    I’m a programmer who is eager to work with others to improve my collaboration skills and expand my skill set. I started learning to code seriously a few months before attending university, doing MOOCs to learn Java. From then on, I fell in love with it and tried to polish my coding skills by doing projects with new technologies or solving coding problems whenever I wasn’t busy with coursework.

    Coming from an object oriented background and becoming proficient in it, I am expanding my horizons right now by trying different programming paradigms, like trying to wrap my head around functional programming with JavaScript.

    As a person, I’m observant and very organized with my work. When I have time to spare, I enjoy getting lost in adventurous RPG games. Feel free to contact me if you wanna know more.

    Author Photo
  • Projects


    Mongoose-Footprints

    An NPM package, which is a plugin for the popular library 'mongoose'. It can log changes in MongoDB documents made using mongoose methods. If used on Mongoose models, any changes made to that model will be logged as a document of the _Footprint model. Footprints will contain an array that shows every change made to the document, along with the old and new document bodies. The plugin can be used to create an audit log for different applications. Jest has been used for thorough unit testing of the plugin.

    • Node.js
    • Mongoose
    • MongoDB
    • Jest (Unit Testing)
    • Mongoose-Footprints

    Tamashi

    • Anitrack
    • Anitrack

    A discord bot that can follow what a Spotify user is listening to and play it in a voice channel so everyone can listen in simultaneously. Although this feature already exists in Discord with the Spotify integration (Listen Along), only premium Spotify users get to use it. This bot can be a viable alternative. The bot will require you to authorize it to access your Spotify data using OAuth, after which it can track what you're playing by pinging the Spotify API in intervals.

    • Node.js
    • Redis
    • Discord.js
    • MongoDB
    • Docker
    • Express.js
    • Spotify API

    Anitrack

    An anime tracking website, where you can filter anime by different criteria and view information about them that is retrieved from a third party REST API (Jikan). You can login to add anime to your watch list, or search anime by seasons or genres, name, statuses.

    • Node.js/Express
    • Redis (Caching API Responses)
    • Passport.js (Authentication)
    • MVC Architecture
    • MongoDB on Atlas
    • EJS Templates
    • Mocha & Chai (Unit Testing)
    • Anitrack
    • Anitrack
    • Anitrack

    EduOnline

    • Eduonline
    • Eduonline
    • Eduonline

    EduOnline is a platform for teachers to host MCQ based exams and publish them for students to submit within an allotted time. They can add questions with a varying number of choices and edit them later on if required. Students can then login with their accounts and attend the exam. Their results are then automatically graded and displayed to the teacher upon request. Teachers and students can both search for specific exams as well.

    • Python 3
    • Django
    • MariaDB
    • jQuery
    • JavaScript
    • Bootstrap

    Genetic Algorithm for Path Planning

    An implementation of a modified genetic algorithm used in finding the shortest path from one point to another with some obstacles in between using the path points available throughout the space. I've used Matplotlib to show the simulation. The obstacles and path points are generated randomly on each run.

    The modification made improves the speed of chromosome generation by preventing the formation of lethal chromosomes. A matrix is used to cross out any paths that aren't valid and prevents their creation. Thus, every chromosome is a valid solution.

    • Python 3
    • Shapely
    • Matplotlib
    Genetic

    Passtore

    • Passtore
    • Passtore
    • Passtore

    My first usable software I made in my freshman year, a desktop application to keep track of passwords. Written in JavaFX and as an experiemnt to learn the SQL language. There's no encryption or security involved, so the passwords are stored as plain text in a database. Made purely for learning purposes.

    • Java 11
    • SQLite
    • JavaFX
    • Maven (build tool)

    NewsBee

    A country-based news sharing website written in Python backed by Django and the Mediastack API for retrieving news. Users register with their country and login. They can then share news about their country and even see news other users have shared.

    • Python 3
    • Django
    • MariaDB
    • Basic HTML/CSS
    • NewsBee
    • NewsBee
  • Experience


    • Currently working as a Backend engineer at Airwrk where I help develop and maintain the core REST API

    • Worked as a student tutor of CS at BRAC University for Summer and Fall of 2021 to help over 60 students with their coursework

    • Secured the 1st runner up position at BRACU Intra University Programming Contest (Fall 2019) as a team of 3 to solve programming problems

    • Collaborated with 3 other students to conduct research in multimodal emotion recognition using different heterogeneous ensembles of machine learning models, achieving a classification accuracy of ~80% on 4 emotion classes. The research paper has been published in the 2022 25th International Conference on Computer and Information Technology (ICCIT).

  • Contact


    You can get in touch with me by: