← Back to Home

Projects

  1. Attendance Tracking System

    Full-stack attendance management system for educational institutions with role-based access, real-time attendance marking, and analytics.

    • JWT-based admin & teacher authentication
    • Real-time attendance with auto-save
    • Class, student & timetable management
    • Attendance analytics with charts

    Tech: Spring Boot, React, MariaDB, Docker

    View on GitHub →

  2. Commodore 64 Emulator

    A Java-based Commodore 64 emulator featuring accurate 6502 CPU emulation, VIC-II text-mode graphics, and ROM/PRG loading support.

    • Cycle-accurate 6502 CPU emulation
    • VIC-II text-mode graphics with authentic C64 colors
    • Keyboard input via CIA chip emulation
    • Supports original ROMs and .PRG program loading

    Tech: Java, JavaFX, Maven

    View on GitHub →

  3. Sudoku Game

    A polished JavaFX-based Sudoku game featuring multiple difficulty levels, timed and untimed modes, hints, solver, and leaderboard support.

    • Easy, Medium, and Hard difficulty levels
    • Timed & untimed gameplay modes
    • Built-in hint system and full puzzle solver
    • Top-10 leaderboard with persistent scores

    Tech: Java, JavaFX, Maven

    View on GitHub →

  4. Minesweeper Game

    A complete JavaFX implementation of the classic Minesweeper game with multiple difficulty levels, first-click safety, timer, and leaderboard support.

    • Easy, Medium, Hard, and Custom board configurations
    • First-click safety with flood-fill cell reveal
    • Game timer and remaining mine counter
    • Top-10 leaderboard with persistent storage

    Tech: Java, JavaFX, Maven

    View on GitHub →

  5. Tetris Game

    A feature-rich JavaFX Tetris implementation with single-player and two-player modes, scoring progression, and competitive gameplay features.

    • Classic 7 tetrominoes with rotation and wall-kick support
    • Single-player and two-player competitive modes
    • Hold piece, ghost preview, hard & soft drop
    • Level-based progression with persistent leaderboard

    Tech: Java, JavaFX, Maven

    View on GitHub →

  6. vajrip – Userspace TCP/IP Stack

    A complete userspace TCP/IP protocol stack written in C for educational purposes, implementing networking from Ethernet up to TCP.

    • Full TCP/IP stack: Ethernet, ARP, IP, ICMP, UDP, TCP
    • BSD socket–compatible API for applications
    • TCP with handshake, flow control, retransmission
    • Runs on Linux with TAP devices, xv6, and MikanOS

    Tech: C, TCP/IP, Linux TAP, Low-level Networking

    View on GitHub →

  7. Advx – Adversarial ML Attacks

    A research-oriented project implementing and evaluating adversarial attacks and defenses for convolutional neural networks.

    • Implemented FGSM, PGD, CW, and DeepFool attacks from scratch
    • Adversarial training pipeline for CNNs on MNIST
    • Robust benchmarking under adversarial evaluation
    • Achieved ~98% accuracy against adversarial examples

    Tech: Python, PyTorch, Adversarial Machine Learning

    View on GitHub →

  8. 2048 Game

    A polished web-based implementation of the 2048 puzzle game with smooth animations, touch support, score tracking, and responsive design.

    • Keyboard and touch swipe controls
    • Smooth tile movement and merge animations
    • Score and persistent high-score tracking
    • Responsive UI with modern styling

    Tech: HTML, CSS (Tailwind), JavaScript

    View on GitHub →

  9. RISC-V Testbench Program Suite

    A suite of standalone RISC-V C programs designed to validate processor cores via deterministic register-based pass/fail results.

    • Tests arithmetic, logic, memory, and control-flow instructions
    • Deterministic PASS/FAIL signaling via register x7
    • Suitable for Verilog simulation and waveform inspection
    • Generates ELF, HEX, and binary outputs for hardware testbenches

    Tech: C, RISC-V, Embedded Systems, Verilog Testbenches

    View on GitHub →

  10. CHIP-8 Emulator

    A cross-platform CHIP-8 emulator written in C using SDL2, capable of running classic CHIP-8 games with accurate timing, graphics, and input handling.

    • Complete CHIP-8 instruction set implementation
    • Accurate 60Hz timers and configurable CPU speed
    • Pixel-perfect display with sound support
    • Debug mode with instruction-level logging

    Tech: C, SDL2, Emulation, Low-level Systems

    View on GitHub →

  11. Ray Tracing Demo (C)

    A real-time 2D ray tracing demonstration written in pure C using SDL2, visualizing ray casting, object intersection, and dynamic shadows.

    • Real-time ray casting with configurable ray count
    • Ray–object intersection and shadow visualization
    • Interactive light source controlled via mouse input
    • Manual pixel-level rendering using SDL surfaces

    Tech: C, SDL2, Computer Graphics, Ray Casting

    View on GitHub →

  12. YASL – Custom Scripting Language

    A minimal interpreted scripting language implemented from scratch for learning purposes, featuring a hand-written parser, evaluator, and runtime.

    • Custom lexer, parser, and recursive-descent interpreter
    • Supports variables, arithmetic, strings, conditionals, and loops
    • Implements subroutines, control flow, and expression evaluation
    • Single-pass execution with symbol table management

    Tech: Python, Language Design, Interpreters, Parsing

    View on GitHub →

  13. Terminal Animation (C)

    A lightweight terminal-based animation written in C that renders and animates a bouncing circle using ASCII graphics and real-time updates.

    • Frame-by-frame ASCII rendering in the terminal
    • Simple physics with velocity and boundary collision
    • Direct terminal control using ANSI escape sequences
    • Real-time animation loop with manual timing

    Tech: C, Terminal Graphics, ANSI Escape Codes

    View on GitHub →

  14. Luma – Programming Language

    A statically analyzed, interpreted programming language implemented in Java, featuring a full compilation pipeline from lexing to execution.

    • Custom lexer, parser, and AST-based interpreter
    • Semantic analysis with scope and variable validation
    • Supports variables, conditionals, expressions, and returns
    • Modular compiler-style architecture

    Tech: Java, Language Design, Parsers, Interpreters

    View on GitHub →

  15. Takenizer – Byte-Level BPE Tokenizer

    A byte-level tokenizer implemented from scratch using Byte Pair Encoding (BPE), designed to mirror modern NLP tokenization pipelines.

    • UTF-8 byte-level tokenization with reversible encoding/decoding
    • Subword vocabulary learning via frequency-based BPE merges
    • Deterministic tokenization suitable for language models
    • End-to-end tokenizer training and inference pipeline

    Tech: Python, NLP, Tokenization, Byte Pair Encoding

    View on GitHub →

  16. RISC-V RV32I Emulator

    A Java-based emulator for the RISC-V RV32I instruction set, designed for learning CPU architecture and instruction-level execution.

    • Implements core RV32I arithmetic, control-flow, and memory instructions
    • Five-stage unpipelined execution model
    • Step-by-step instruction execution with register inspection
    • Foundation for future pipelined or superscalar extensions

    Tech: Java, RISC-V, CPU Emulation, Computer Architecture

    View on GitHub →

  17. CST Studio Pipeline

    A Python-based data processing pipeline for extracting and transforming simulation outputs from CST Studio into structured datasets.

    • Configurable pipeline for processing S-parameter and gain data
    • Automates extraction from exported ASCII simulation files
    • Generates structured outputs suitable for analysis and reporting
    • Cross-platform execution with standalone build support

    Tech: Python, Data Processing, Automation

    View on GitHub →

  18. sell-shell – Simple Unix Shell

    A minimal Unix shell written in C that parses and executes system commands, supporting foreground and background process execution.

    • Command parsing with argument tokenization
    • Process creation using fork and exec
    • Foreground and background job execution
    • Basic shell prompt and execution loop

    Tech: C, Unix, Processes, fork/exec

    View on GitHub →

  19. lolfetch – System Fetch Tool

    A lightweight system information fetch utility written in C, designed to display basic system details directly from userspace with minimal overhead.

    • Native C implementation with no external runtime dependencies
    • Retrieves and formats system information directly from the OS
    • Fast execution with a minimal binary footprint
    • Designed as a simple alternative to heavier fetch tools

    Tech: C, Linux, System Programming

    View on GitHub →

  20. LSTM Weather Prediction

    A basic time-series forecasting project using an LSTM neural network to predict weather conditions from historical data.

    • Data preprocessing and normalization pipeline
    • LSTM model built with TensorFlow/Keras
    • Training and evaluation scripts for time-series prediction
    • Includes example dataset and result visualizations

    Tech: Python, TensorFlow, Keras, LSTM, Machine Learning

    View on GitHub →

  21. Markov Chain Sentence Generator

    A lightweight web application that generates sentences using a Markov chain model trained on user-provided text.

    • Text-driven Markov chain–based sequence generation
    • User-configurable output length
    • Interactive browser-based UI
    • Client-side implementation with no backend dependencies

    Tech: HTML, CSS, JavaScript, Markov Chains

    View on GitHub →

  22. Conway’s Game of Life

    A browser-based implementation of Conway’s Game of Life, demonstrating cellular automata and emergent behavior through simple rule-based simulation.

    • Interactive grid with toggleable cell states
    • Real-time simulation with start, stop, and reset controls
    • Pure client-side implementation with no dependencies
    • Visualizes emergent behavior from simple rules

    Tech: HTML, CSS, JavaScript, Cellular Automata

    View on GitHub →  |  Live Demo →

  23. Color Scheme Generator

    A simple web application that extracts dominant colors from an uploaded image and generates a five-color palette with corresponding hex codes.

    • Image upload and client-side color extraction
    • Generates a 5-color palette from dominant image tones
    • Displays colors with their hexadecimal values
    • Lightweight, dependency-free browser implementation

    Tech: HTML, CSS, JavaScript, Color Processing

    View on GitHub →

  24. is_even

    A deliberately minimal and humorous C program that determines whether a number is even, exploring unconventional approaches to a trivial problem.

    • Command-line utility written in pure C
    • Avoids modulo and conditional checks for experimentation
    • Explores compiler behavior and control-flow generation
    • Built as a parody-inspired learning exercise

    Tech: C, Compiler Behavior, Low-level Experimentation

    View on GitHub →