• Hello there,

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


  • About Me

    Hi, I'm Rafidul, and I'm a software engineer who really enjoys building products to solve real world problems. My current focus lies in crafting robust and efficient backend solutions, where I use Node.js, TypeScript, Express and MongoDB to create powerful RESTful APIs. I'm passionate about designing the core logic and infrastructure that drives applications.

    Looking ahead, I'm enthusiastic about broadening my horizons to become a full-stack developer and also to delve into the fascinating world of emerging AI technologies to integrate them into new applications in actual helpful ways for the users.

    Currently, I'm sharpening my problem-solving skills (particularly problems related to dynamic programming which I'm having some trouble with). To expand my frontend development skills, I'm diving into Next.js and Tailwind CSS to bring some personal projects to life.

    When I need a break from the keyboard, you'll often find me immersed in the expansive realms of open-world fantasy RPGs, like the Elder Scrolls series. However, lately I've been thoroughly enjoying Clair Obscur: Expedition 33 whenever I'm free.

    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 Airwork AI 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: