Skip to content
View codewithmahad's full-sized avatar
⚙️
Building backend systems with Java & Spring Boot
⚙️
Building backend systems with Java & Spring Boot

Block or report codewithmahad

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
codewithmahad/README.md

Hi, I’m Mahad.

I'm Shaikh Mahad Ud Din, a developer based in Karachi, Pakistan, focused on Java backend development.

I started programming with C++ in school. What kept me interested was the problem-solving: getting stuck, tracking down a mistake, and finally understanding why something works. That same curiosity eventually drew me toward what happens behind an application.

My focus is Java, Spring Boot, REST APIs, and relational databases. I like tracing a request through business logic, security checks, and database queries. I’m also interested in system design: where responsibilities belong and how components communicate. Before adopting a pattern, I want to understand the problem it solves and the trade-offs it introduces.

A little more about me

Most of my work so far has been in repositories I started myself. I’d like to contribute to open-source Java projects and learn how maintainers organize code, review changes, and decide what belongs.

I also enjoy the conversations that come with sharing work. If someone spots a simpler solution or asks why I made a particular choice, I want to understand their reasoning, explain mine, and improve the result.

Backend stack

Java Spring Boot PostgreSQL REST APIs JUnit (learning) Spring Security (learning) Git

More from my toolkit

Java and Spring Boot are my main backend tools, with PostgreSQL for relational data. I pay attention to how an endpoint handles invalid input, what its errors tell the caller, and the queries it runs to produce a response.

Area Technologies & concepts
Programming foundations C++ · Kotlin · DSA · OOP
APIs & persistence HTTP/REST · Spring Data JPA · Hibernate · MapStruct · OpenAPI
Data & migrations SQL · MySQL · Flyway
Development workflow Git · GitHub · Maven · Postman · IntelliJ IDEA

Currently exploring: JUnit · Spring Security · Java internals · design patterns · SQL query performance.

Selected projects

Java · Bash · Ubuntu · systemd
A deployment and rollback tool for a Java service. It manages versioned releases, verifies application health after updates, and restores the previous working version when a deployment fails. I tested both successful updates and automatic recovery on an Ubuntu VM.
Deployment script · Rollback demo →

Earlier projects: Derivify & Quizzler

Kotlin · Jetpack Compose
A calculus toolkit built around a custom symbolic differentiation engine. It parses expressions, applies differentiation rules, and computes partial derivatives and gradients. I built it for a university calculus project, with practice quizzes alongside the calculator.
Math engine · Calculator screenshot →

Kotlin · Jetpack Compose
An Android quiz app for practising object-oriented programming. It uses MVVM to keep quiz state separate from the interface, with instant answer feedback and score tracking. Java/Kotlin, C++, and Python question sets share a common data-source interface.
Quiz state logic · Quiz screenshot →

Department of Computer Science, UBIT, University of Karachi emblem.The UBIT Hub

I founded and manage The UBIT Hub, a WhatsApp community connecting 900+ UBIT students through course updates, academic discussions, shared resources, and peer support. I organize the groups, answer questions, and make important information easier for students to find. I also maintain The UBIT Hub Resources, a GitHub repository where I organize and share notes, guides, and course materials so they don't get lost in old chats. Alongside this, I built the UBIT Results Portal, where students can check results, calculate GPA, explore class rankings, and view transcripts.

A penguin studying an open notebook.Learning notes

These repositories hold Java exercises, SQL queries, DSA problems, and Linux and Bash scripts from my OS labs. I try to leave enough explanation alongside the code that, when I come back weeks or months later, I can remember what I tried and why.

Java Lab · SQL Lab · DSA Practice · Linux & Bash

Monkeytype’s typing monkey.From 60 to 130+ WPM

I started learning touch typing in 2023, when I was around 60 WPM and still looking down at the keyboard. Getting past 130 WPM took plenty of practice, but what I appreciate most is not having to think about where the next key is. Whether I'm writing code, taking notes, or replying to someone, it's one less thing interrupting my focus. I still enjoy a quick typing test now and then. My Monkeytype profile

Let’s connect

I’d be glad to hear your thoughts on something I’ve built, especially if you’d approach it differently. I’m also up for a conversation about what you’re building or an idea you’d like to try. I share articles when I have something longer to write about.

mahad.dev: visit my portfolio LinkedIn: connect with me Mail: write to codewithmahad@gmail.com LeetCode: my profile HackerRank: my profile Codolio: my profile

Pinned Loading

  1. the-ubit-hub-resources the-ubit-hub-resources Public

    A centralized collection of notes, PDFs, assignments, lab materials, and study resources for UBIT students.

    20

  2. Derivify-Calculus-Toolkit Derivify-Calculus-Toolkit Public

    A native Android app for Multi-Variable Calculus, built with Kotlin and Jetpack Compose.

    Kotlin 3

  3. Quizzler-App Quizzler-App Public

    A quiz app for Android named Quizzler. This was built as my final project for a 2nd-semester Object-Oriented Programming (OOP) course.

    Kotlin 1

  4. deploylatch deploylatch Public

    A Linux-based application deployment and automated rollback tool built with Bash, demonstrated using a Java HTTP service on Ubuntu.

    Shell 2

  5. spring-boot-25-enterprise-template spring-boot-25-enterprise-template Public template

    Production-ready Spring Boot 4 & Java 25 starter template. Features PostgreSQL, Flyway migrations, OpenAPI (Swagger), Actuator, and MapStruct for rapid, scalable REST API developme

    Java 1