Skip to content
Hasan Rohan Tahsin

Software Engineer · St. John's, Newfoundland and Labrador

I build reliable backend systems and practical software products.

Computer Science graduate focused on Java, Spring Boot, APIs, event-driven architecture, cloud deployment, and maintainable engineering.

Open to software engineering, backend, cloud, QA automation, and technical analyst opportunities.

Portrait of Hasan Rohan Tahsin

Hasan Rohan Tahsin

Backend systems · APIs · cloud-ready products

Current Direction

Focus
Backend systems, APIs, and cloud-ready product development
Core stack
Java · Spring Boot · Kafka · PostgreSQL · Flutter
Location
St. John's, Newfoundland and Labrador

Selected work

Projects with visible engineering decisions

A focused set of projects across backend systems, mobile product development, data storytelling, reliability planning, and Java desktop work.

APIWatch administrator dashboard with service health metrics and registered APIs.
APIWatch service details page with uptime, latency history, recent checks, and service actions.
APIWatch add service form with endpoint, ownership, method, timeout, interval, and failure threshold fields.
APIWatch notification settings page with provider, webhook, cooldown, escalation, and delivery audit panels.
APIWatch read-only viewer dashboard with service health metrics and registered APIs.
APIWatch sign-in page for administrator or read-only viewer accounts.
Version 1.0 completedJava 21 · Spring Boot 3.5 · PostgreSQL 16

APIWatch

A production-style API monitoring and incident management platform for scheduled checks, incidents, notifications, and reliability dashboards.

Purpose

APIWatch lets teams register APIs, run manual or scheduled health checks, track uptime and latency, detect failures and rate-limit events, manage incidents, and route notifications through multiple providers.

Contribution

Built the full-stack Version 1.0 scope across backend architecture, scheduled workers, database migrations, incident workflows, encrypted secrets, notification delivery, dashboard UX, tests, Docker, and CI/CD.

  • Supports service registration, manual and scheduled checks, configurable intervals, timeouts, failure thresholds, expected status ranges, and optional response-body validation.
  • Classifies health as UP, SLOW, DOWN, RATE_LIMITED, or UNKNOWN with diagnostics for HTTP status, timeout, DNS, connection, network, and security-block failures.
  • Creates and resolves incidents automatically or manually, then routes notifications through webhook, Slack, Discord, email, PagerDuty, and Opsgenie integrations.
  • Includes encrypted Bearer/API key/custom-header support, admin/viewer authentication, audit logs, SSRF protection, pagination, retention cleanup, Docker Compose, and CI/CD.
Java 21Spring Boot 3.5PostgreSQL 16FlywayReact 19TypeScriptViteRechartsDockerGitHub Actions
Event-driven order and inventory platform architecture diagram with Kafka topics, services, and service-owned databases.
In developmentJava 21 · Spring Boot · Kafka

Event-Driven Order & Inventory Platform

A microservice-based commerce backend for coordinating order processing, inventory reservation, payment, shipping, and notifications.

Purpose

The project is focused on service boundaries, REST APIs, asynchronous Kafka workflows, PostgreSQL persistence, and a Docker-based local development environment.

Contribution

Defining service boundaries, API contracts, persistence models, and failure-handling paths while building the backend incrementally.

  • Models order, inventory, payment, shipping, and notification responsibilities as separate service concerns.
  • Uses Kafka event flows to keep long-running commerce operations asynchronous.
  • Includes inventory reservation and rollback concepts as part of the reliability design.
Java 21Spring BootKafkaPostgreSQLDockerREST APIs
iFixIt mobile welcome screen with sign-in call to action.
iFixIt mobile login screen with email and password fields.
iFixIt mobile account creation screen with profile and contact fields.
iFixIt mobile new ticket screen with issue details and attachment controls.
CompletedFlutter · Dart · Firebase Auth

iFixIt Ticketing App

A Flutter and Firebase service-ticketing application for customer requests, technician workflows, communication, and operational visibility.

Purpose

The application supports role-based request handling, real-time communication, offline drafts, feedback, and operational dashboard views.

Contribution

Led the team and contributed across product flow, Firebase-backed application behavior, and mobile implementation.

  • Led team delivery while coordinating customer, technician, and admin workflow requirements.
  • Implemented role-based routing, in-app chat, offline drafts, rating and feedback, and priority escalation.
  • Added analytics dashboard views and a time-prediction Cloud Function for service visibility.
FlutterDartFirebase AuthCloud FirestoreCloud Functions
Skyward Bound satellite age infographic poster with charts about satellite mass, orbit counts, and satellite types over time.
CompletedPython · Pandas · NumPy

Skyward Bound: Satellite Data Infographic

An end-to-end data storytelling project based on approximately 63,000 satellite records.

Purpose

The dataset was cleaned and processed to examine changes in satellite mass, operational orbit, and mission type across multiple decades, then presented as a single infographic poster.

Contribution

Handled data cleaning, feature extraction, trend analysis, visualization design, and final infographic composition.

  • Cleaned and processed approximately 63,000 satellite records for analysis.
  • Extracted features to compare satellite mass, operational orbit, and mission type across decades.
  • Combined multiple visualizations into a single infographic explaining major developments in the satellite age.
PythonPandasNumPyMatplotlibJupyter Notebook
FOUR board game main menu with New Game, Resume Game, Help, and Exit buttons.
FOUR board game player settings screen with player names, AI difficulty, and accessibility options.
FOUR board game play screen with a 9x9 board and player piece panels.
CompletedJava · Swing · Desktop UI

FOUR Board Game

A Java Swing strategy game with a 9x9 board, multiple difficulty levels, save/load support, and computer-controlled gameplay.

Purpose

The project adds breadth through desktop Java UI work, game-state management, persistence, and turn-based computer gameplay.

Contribution

Built the game interface and gameplay behavior while managing state transitions and persistence support.

  • Implements a 9x9 board with multiple difficulty levels and computer-controlled turns.
  • Supports saving and loading game state for continued play.
  • Uses desktop UI patterns to make turn state, moves, and game progress visible.
JavaSwingDesktop UIGame StateFile Persistence

About

Current focus and background

I am a Computer Science graduate from Memorial University of Newfoundland with a minor in Business Administration. My recent work focuses on backend services, event-driven architecture, APIs, databases, and cloud-ready development.

I enjoy turning broad product requirements into structured systems: defining service boundaries, modeling data, handling failure cases, and building interfaces that people can understand. I am currently strengthening my Java, Spring, distributed-systems, cloud, and automation skills through hands-on projects.

Skills

Languages

JavaPythonJavaScriptTypeScriptDartSQL

Backend and APIs

Spring BootSpring CloudNode.jsREST APIsGraphQLgRPCKafkaFirebase Functions

Frontend and Mobile

ReactNext.jsFlutterTailwind CSS

Data, Visualization, and Storage

PostgreSQLMySQLMongoDBSQLiteFirestoreNumPyPandasMatplotlibSeaborn

Cloud, DevOps, and Tooling

AWSDockerGitHub ActionsGitMavenVercelLinux fundamentalsScripting

Networking and Security

FortiGate administrationFirewall fundamentalsVPN fundamentalsRouting and switching fundamentals

Contact

Open to practical engineering work

I am interested in software engineering, backend, cloud, QA automation, and technical analyst opportunities. Reach out by email or connect with me on LinkedIn.