Skip to content
Saeed Ghofrani
ProjectsCase StudiesExperienceFor Recruiters
Let’s talk
ProjectsCase StudiesExperienceFor Recruiters
PlaygroundArchitectureSkillsWritingContactDownload resume
  1. Home
  2. /Playground

Saeed Ghofrani Ivari

Backend engineer & engineering manager · Adana

sa.ghofraniivari@gmail.com
Hiring briefProjectsExperienceContactGitHub (opens in new tab)

Playground

Small things I built to work through an idea.

Together Meet is a live calling app. The examples below run in your browser and let you explore comparison rules, payload mapping, query shapes, and upload chunking.

Demos

Change the inputs, break an assumption, or open the source.

Live deployment

WebRTC room

I built this to learn the awkward parts of browser-to-browser calls: signaling, room state, reconnects, chat, and getting the whole thing through Docker, Nginx, and HTTPS.

Open appClient repoServer repo

Room status

Open the live room

VideoVoiceChat

TypeScript utility

compare-guard path checker

I was tired of rewriting defensive checks for nested object paths. This browser illustration uses strict comparisons and own-property paths, including arrays and missing values. The linked package documents its complete API.

Source

Result: true

API integration

Payload normalizer

A cut-down example from integration work: take somebody else’s payload, keep where it came from, and turn it into a shape the rest of the application can trust.

Source

Edit the input: names are joined, tags are trimmed and deduplicated, and the timestamp is normalized. No data leaves your browser.

{
  "source": "external-crm",
  "receivedAt": "2026-08-22T09:30:00.000Z",
  "customer": {
    "id": "cus_1024",
    "fullName": "Saeed Ghofrani",
    "tags": [
      "backend",
      "api-integration"
    ]
  }
}

Elasticsearch

Elasticsearch query sketch

Type a phrase and this shows the query I would send instead of passing raw search input through to Elasticsearch. The stack filter stays fixed on purpose.

Source
{
  "index": "projects",
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "summary": "backend architecture"
          }
        }
      ],
      "filter": [
        {
          "terms": {
            "stack": [
              "nestjs",
              "postgresql",
              "redis"
            ]
          }
        }
      ]
    }
  },
  "highlight": {
    "fields": {
      "summary": {}
    }
  }
}

WebSocket pricing

Price tick shaper

The numbers here are generated locally, not pulled from an exchange. I use the demo to show the shape of ticks and spread data; the original integration source remains private.

T+0s642790.08%
T+1s643360.09%
T+2s642830.10%
T+3s641860.11%
T+4s641480.12%
T+5s642210.13%
T+6s643520.14%
T+7s644380.15%

Streaming backend

Chunked upload planner

Move the file-size slider to see the upload split into 8 MB chunks. This is a browser simulation, not a file upload. Original implementation source remains private.

chunk 1chunk 2chunk 3chunk 4chunk 5chunk 6