Projects & Portfolio
Showcasing my technical expertise through innovative solutions
Aws Iam User Management
AWS IAM User Management Tool is a Python-based command-line utility for managing AWS IAM users efficiently. It allows administrators to automate common IAM tasks such as creating users, attaching policies, generating access keys, and cleaning up unused credentials.
Key Features
- Automated IAM Setup: Creates users (Alice, Bob, Charlie, Dana), groups (Developer, DBAdmin, Auditor), and policies for S3, EC2, RDS, and CloudTrail access.
- Policy Validation: Checks for overly permissive policies (e.g., Action: *, Resource: *).
- Cleanup Script: Safely deletes all created IAM resources.
- Unit Tests: Uses pytest and moto to test setup logic without AWS API calls.
- Configurable: Uses config.yaml for customizable team and permission settings.
Topics
Linkedin Auto Apply
Automate your LinkedIn job applications with ease! This Python-based bot uses Selenium to search for jobs and automatically apply to positions with Easy Apply. Designed to save time and streamline your job hunt while mimicking human-like behavior to reduce detection risk.
Key Features
- Automates LinkedIn job applications using Selenium.
- Searches for jobs based on user-defined keywords and filters.
- Automatically applies to positions with 'Easy Apply'.
- Mimics human-like behavior to reduce detection risk.
- Configurable application settings (resume, cover letter, job preferences).
- Saves time and streamlines the job application process.
- Logs applied jobs and application status for tracking.
- Handles multiple job applications in a single session.
Topics
License Plate Recognition
Implementation of license plate character segmentation and recognition system
Key Features
- Implementation of both traditional and deep learning methods for license plate recognition.
- Preprocessing of dataset images using OpenCV for color conversion, noise removal, and perspective transformation.
- License plate detection using morphological operations, contours, and aspect ratio filtering.
- Perspective transformation to obtain front-view license plate images.
- Character segmentation and template matching for traditional recognition.
- Background checking for different plate colors (blue, yellow, green, white).
- CNN-based deep learning model trained on individual character images for high accuracy.
- Use of CCPD dataset with bounding box and character-level annotations for deep learning.
- Training and evaluation with batch normalization, max pooling, and multiple hidden layers.
- High accuracy achieved: 99.75% on 2000 images and 99.94% on 60,000 images.
- Configurable preprocessing pipeline to handle slanted or skewed plates.
- Supports both single-character and full license plate recognition.
- Potential for augmentation to improve performance on hazy or obstructed images.
- Comparison between traditional and CNN-based approaches for evaluation.
Topics
WikiSearch
WikiSearch is a search engine built on Wikipedia dump datasets, designed to help users quickly find relevant articles. It supports fuzzy search, wildcard queries, and multiple ranking methods to improve search accuracy and user experience.
Key Features
- Search engine built from Wikipedia dump dataset (15M+ articles).
- Supports document vector, inverted, positional, and bi-gram indexing.
- Fuzzy search with spelling correction using Levenshtein and bi-grams.
- Wildcard search for partial or unknown terms.
- Five ranking algorithms: Bag of Words, Cosine, Jaccard, TF-IDF, High-IDF.
- Preprocess XML dumps into JSON chunks for fast access.
- Optimized query processing with precomputed indexes and scoring.
- User-friendly GUI with search bar, ranking selection, and suggestions.
- Displays top-k results with title, link, and snippet.
- Handles large datasets efficiently with high accuracy.
- Query performance measured for single and multi-term searches.
- Extensible design for new algorithms, preprocessing, and UI features.
- Corrects typos and handles partial or slanted queries.
- Future improvements: better fuzzy weighting and precomputed TF-IDF.
Topics
LC4 Binary Interpreter
C-based LC4 interpreter and disassembler that executes LC4 binaries, manages memory, and converts object files into readable assembly for educational use in computer architecture.
Key Features
- Binary Interpreter: Executes LC4 machine code instructions from compiled object files
- Disassembler: Converts LC4 binary into human-readable assembly instructions
- Memory Management: Implements a simulated LC4 memory system for instruction and data handling
- Loader Module: Loads object code (.obj) files into LC4 memory for execution
- Instruction Execution: Supports decoding and execution of LC4 instruction set architecture
- PennSim Integration: Compatible with PennSim LC4 environment for running and testing programs
- Testing Suite: Includes test files and scripts for automated validation (makefiletest.sh)
- Documentation: Includes project.pdf explaining implementation details and design decisions
Topics
Bangla Newspaper Scraper
A Python scraper to extract articles from popular Bangla newspapers, supporting text extraction, link collection, and data storage.
Key Features
- Scrapes articles from multiple Bangla newspaper websites
- Extracts headlines, article text, publication date, and links
- Handles pagination and 'load more' buttons
- Saves scraped data in structured formats (CSV/JSON)
- Supports scheduling for regular scraping
- Lightweight and easy to extend for additional newspapers
- Includes basic data cleaning and preprocessing
- Optimized for performance and reliability
Topics
Seq2Seq Machine Translation
Attention-based sequence to sequence English to Bangla (E2B) Machine Translation using Neural Networks and Deep Learning
Key Features
- Attention mechanism dynamically focuses on relevant English words while generating Bangla output
- Encoder–decoder neural architecture for end-to-end English to Bangla translation
- Context-aware translation that preserves semantic meaning
- Effective handling of long and complex sentences
- Bidirectional encoding for richer source sentence representation
- Subword tokenization to reduce out-of-vocabulary issues
- Automatic learning from parallel English–Bangla corpora
- Improved word alignment using attention weights
- Evaluation using standard metrics such as BLEU score
Topics
Enemy Shooting Game
A 2D enemy shooting game built using OpenGL and C++. Includes interactive shooter, moving enemies, scoring, lives, and a high score system.
Key Features
- 2D top-down shooting game built with C++ and OpenGL
- Interactive shooter controlled using arrow keys
- Shoot bullets using spacebar to destroy enemies
- Enemies spawn dynamically with varying speed and position
- Score tracking and high score system with file storage
- Life system – lose life if enemies pass the shooter
- Main menu with New Game, High Score, How to Play, and About sections
- Real-time collision detection between bullets and enemies
- Visual effects using OpenGL primitives (spheres, polygons, lines)
- Game over screen with score display and restart option
Topics
Smart Audio Profile Manager
A mobile app that automatically adjusts device audio profiles based on position and user activity using sensors like accelerometer and proximity.
Key Features
- Automatically switches audio profiles based on device position
- Uses accelerometer and proximity sensors to detect device orientation
- Silent mode when the device is upside down
- Vibration mode when the device is in a pocket
- General audio profile when the device is in hand or on desk
- Customizable audio profiles according to user preferences
- Ability to create custom profiles for specific situations like driving or meetings
- Seamless and automatic audio management without manual intervention
- Lightweight and battery-efficient implementation
- User-friendly interface for profile management
Topics
Hangman Console Game
A console-based Hangman game in C# supporting single-player and multiplayer modes.
Key Features
- Console-based Hangman game implemented in C#
- Supports single-player mode against the computer
- Supports multiplayer mode for two players
- Tracks guesses and displays correct/incorrect letters
- Visual representation of Hangman progress
- Customizable word lists
- Simple and interactive command-line interface
- Handles input validation and repeated guesses
- Score tracking for multiplayer games
- Lightweight and easy to run without additional dependencies
Topics
Tower Of Hanoi Game Java
A Java Swing implementation of the classic Tower of Hanoi puzzle game with interactive graphical interfaces.
Key Features
- Implemented in Java using Swing for graphical interface
- Classic Tower of Hanoi puzzle game
- Objective: Move all disks from Pole A to Pole C following the rules
- Rules enforced: Cannot move larger disk onto a smaller disk
- Calculates minimum moves required: 2^n - 1
- Supports any number of disks
- Interactive GUI gameplay with drag-and-drop functionality
- Console interface also supported for traditional input
- Visual and audio feedback for moves
- Educational tool for understanding recursion and problem solving