Skip to content
View dmtr-karan's full-sized avatar

Block or report dmtr-karan

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

👋 Hi, I’m Dimitrios Karanikolopoulos

Python Developer / Backend Engineer with a background in computational physics, automation, and scientific Python/Qt tooling. I build practical, testable Python systems (FastAPI, MongoDB, pytest, CI/CD) and user-facing AI workflows (Streamlit + OpenAI API).


Featured Projects

🧙 D&D Concept-to-Build (Streamlit)

RP-first concept → playable build draft (SRD-only by default).

  • Streamlit chat app with prompt guardrails and SRD-only constraints (public-safe).
  • Optional Homebrew via UI toggle (homebrew is explicitly labeled).
  • Session persistence (local) + test suite (unit/contract).
    Repo: https://github.com/dmtr-karan/dnd-concept-to-build

🗃️ D&D SRD Mongo (Data pipeline + optional API)

SRD ingestion + validation pipeline for MongoDB, with CI artifacts.

  • JSON Schema validation + idempotent ingest patterns.
  • GitHub Actions pipelines for validation and artifact generation.
  • Optional SRD “grounding” API for downstream apps.
    Repo: https://github.com/dmtr-karan/dnd-srd-mongo

⚡ FastAPI Mini-Blog (API)

REST backend demonstrating auth + clean API design.


Open-source Contributions

📈 PyQtGraph

Contributed a focused bug fix to PyQtGraph, a scientific Python/Qt visualization library.

  • Fixed a FlowchartCtrlWidget.chartWidget() name-shadowing issue.
  • Added a focused regression test and kept the public API behavior intact.
  • Merged PR: pyqtgraph/pyqtgraph#3537

Other Work

💬 Streamlit Interview Simulator

Interactive OpenAI-powered interview practice app (streaming, stop control, feedback flow).
Repo: https://github.com/dmtr-karan/streamlit-interview-simulator


Skills (short list)

  • Python backend: FastAPI, Pydantic, REST APIs, MongoDB, testing (pytest), CI/CD (GitHub Actions)
  • Scientific Python / Qt: PyQtGraph, PyQt/PySide, GUI debugging, regression testing
  • AI workflows: OpenAI API, prompt design/guardrails, Streamlit state & UX
  • Automation background: experiment/data workflows, reproducible pipelines

Links

Pinned Loading

  1. dnd-concept-to-build dnd-concept-to-build Public

    RP-first D&D concept-to-build generator (Streamlit). Turn a vibe into a playable character draft

    Python

  2. dnd-srd-mongo dnd-srd-mongo Public

    Compact MongoDB pipeline for D&D 5e SRD class data — automated JSON Schema validation, ingest, and CI/CD workflows.

    Python

  3. fastapi-mini-blog fastapi-mini-blog Public

    Compact FastAPI API implementing JWT auth, posts, and comments — structured for clarity and maintainability.

    Python

  4. optical-propagation-demo optical-propagation-demo Public

    GPU-accelerated optical field propagation demo (ASM + 2-step Fresnel scaling) using MATLAB. Includes LG mode generation, thin-lens operator, sampling checks, and comparison plots.

    MATLAB 1

  5. slm-phase-retrieval slm-phase-retrieval Public

    Phase & amplitude retrieval for LCOS Spatial Light Modulators using Python. Full device integration, fringe fitting, and phase correction pipeline.

    Python 1

  6. streamlit-interview-simulator streamlit-interview-simulator Public

    Streamlit app that simulates a job interview using OpenAI, with Stop control, early-stop rules, and structured feedback.

    Python