Data tooling

LinkedIn profile scraper and analyzer

Sep to Oct 2025

A Streamlit application for profile lookups, CSV batch processing, caching, and AI-assisted summaries.

Purpose

Bring individual and bulk profile lookups into one interface with structured, reviewable results.

Implementation

  • Supports searches by name and filters, direct profile URLs, and CSV uploads.
  • Separates single-profile, bulk-processing, scraping, and summarization services.
  • Caches profile data using a configurable freshness window to avoid repeated fetching.
  • Displays profile skills, experience, certifications, and generated summaries in Streamlit.

Tools and source

  • Python
  • Streamlit
  • StaffSpy
  • CSV processing

Microservices

Metro ticketing system

Jan to Mar 2025

Team project

Java services for metro journeys, fares and payments, with event-driven processing.

Implementation

  • Worked on payment processing, peak-hour fares and penalty handling.
  • Used Kafka for event-driven transaction processing and Redis for caching.
  • Containerized the services and used Docker Compose for local setup.

Tools and source

  • Java
  • Spring Boot
  • Kafka
  • Redis
  • Docker Compose

Distributed systems

Distributed task management

Feb to Apr 2024

A task management application using Raft consensus and a MySQL data store.

Implementation

  • Built task create, read, update and delete operations.
  • Used Raft consensus to coordinate task state across multiple nodes.
  • Stored and retrieved task data with MySQL.

Tools and source

  • Raft
  • MySQL
  • Distributed systems

REST API

Departmental store API

Sep to Nov 2023

An API for store user accounts, with registration, authentication and PostgreSQL storage.

Implementation

  • Built RESTful endpoints to manage user data.
  • Implemented user registration and authentication flows.
  • Used PostgreSQL for application data and worked on database queries.

Tools and source

  • Node.js
  • Express
  • PostgreSQL