Skip to content
View HasanJahidul's full-sized avatar
🏠
Working from home
🏠
Working from home

Highlights

  • Pro

Block or report HasanJahidul

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.

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
HasanJahidul/README.md

Jahidul Hasan

Backend Software Engineer Β· Java / Spring Boot Β· Microservices Β· CloudOps Β· AI Agent Tooling
Dhaka, Bangladesh Β· 3+ yrs shipping scalable SaaS, automated infrastructure & open-source tooling


πŸ“Š By the numbers


πŸ“¦ Featured Project

Spring Boot SDK for ZKTeco biometric & access-control devices using pull-based sync. Pure Java β€” no JNI, no native binaries, GPG-signed on Maven Central.

Maven Central MvnRepository License

2,800+ downloads Β· 50+ companies in production β€” combined across current com.hasanjahidul namespace (1.1K) and legacy/relocated io.github.hasanjahidul namespace (1.7K). 3 months on Maven Central (Sonatype Insights).

<dependency>
  <groupId>com.hasanjahidul</groupId>
  <artifactId>zkteco-pull-spring-sdk</artifactId>
  <version>1.0.3</version>
</dependency>

πŸ€– Dev Context Suite β€” 3 MCP servers (npm)

Three single-purpose Model Context Protocol servers in TypeScript that give AI coding agents (Claude, Cursor, etc.) memory of a developer's environment. Built solo with Claude Code, zero infra cost. Zod-validated, node:test + e2e harness, CI + Docker, MIT. Listed in Glama, mcp.so, and awesome-mcp-servers.

Package What it does
terminal-history-mcp Full-text search over shell history (zsh/bash/fish) via SQLite FTS5; 11-pattern secret scrubber; Β±5-min "command chains". Also on MCPize.
localhost-mcp Inspect / manage / kill local dev servers via lsof/ps; port-conflict diagnosis; multi-factor zombie detection; safety-gated killer (dry-run default, refuses PID < 1000)
git-insight-mcp Semantic git queries beyond git log β€” ownership by blame, PR-introduction tracing, co-change analysis, branch hygiene, standup helper

πŸ’Ό Currently

  • 🏒 Software Engineer @ Arits Limited β€” designing scalable SaaS microservices on Spring Boot + NestJS, owning CloudOps across AWS / DigitalOcean / Proxmox
  • πŸ› οΈ Maintaining zkteco-pull-spring-sdk (v1.0.3) on Maven Central + 3 MCP servers on npm
  • πŸ“š Exploring Spring AI, agentic tooling, AI-augmented backend workflows

πŸ› οΈ Tech stack

Languages

Java TypeScript JavaScript PHP Python SQL

Backend & Frameworks

Spring Boot Hibernate NestJS Laravel React Angular Next.js

Data & Messaging

PostgreSQL MySQL Redis RabbitMQ

Cloud & DevOps

AWS DigitalOcean Proxmox Terraform Docker Jenkins GitLab CI GitHub Actions NGINX CloudFlare

Observability

Prometheus Grafana Loki Grafana Alloy ELK Stack Zabbix

AI / Tooling

MCP Node.js npm SQLite Zod


πŸ“ˆ GitHub stats


πŸ“« Contact

Open to backend / cloud-native engineering roles, OSS collaboration, and consulting on Spring Boot, microservices, CloudOps, and AI agent tooling.

Pinned Loading

  1. zkteco-pull-spring-sdk zkteco-pull-spring-sdk Public

    Spring Boot Starter for ZKTeco Attendance Devices β€” Connect, fetch, and manage attendance data over TCP (port 4370)

    Java

  2. terminal-history-mcp terminal-history-mcp Public

    Search your shell history (zsh/bash/fish) from Claude/MCP. Local SQLite FTS5. Secret-redacted.

    TypeScript 1

  3. localhost-mcp localhost-mcp Public

    MCP server: inspect, manage, kill local dev servers. Stop guessing what's on :3000.

    TypeScript