IT Projects and GitLab Portfolio

I document each project as a practical case study with context, implementation choices, technical role, constraints, and grounded value.

Selected Case Studies

Fiber / Optical Cable GIS Database

PostgreSQLPostGISSQLAlchemyGeoAlchemy2AlembicFastAPI-ready

One-sentence summary: I built a geospatial database layer for fiber planning and operational reporting.

Problem/context: Planning data and geometry handling were inconsistent across operational artifacts.

What was built: Normalized PostgreSQL/PostGIS schema with geometry controls, migration workflow, and audit-ready structures.

Technical role: Data modeling, schema governance, migration architecture, and quality controls for map-related data.

Technologies: PostgreSQL, PostGIS, SQLAlchemy, GeoAlchemy2, Alembic.

System concepts: Geospatial indexing, data integrity, infrastructure visibility, API-ready persistence design.

Result/value: I delivered a cleaner base for planning consistency and downstream integration work.

CNS Redesign: Web-based SCADA-like Platform

Next.js 16React 19WebSocketsZustandSWRR3F

One-sentence summary: I redesigned CNS workflows into a web-based SCADA-like interface for operators and field teams.

Problem/context: Existing monitoring and service workflows were fragmented and slower for alarm triage.

What was built: Browser UI with real-time events, dashboards, cabinet schematics, and floor-aware context.

Technical role: Frontend architecture, state flow design, operational UX, and integration-ready UI modules.

Technologies: Next.js, React, WebSockets, Zustand, SWR.

System concepts: Real-time operations, field-to-control-room alignment, role-focused views.

Result/value: The redesign improves clarity for monitoring and supports faster handoff to field execution.

CNS Management Platform Optimization & Automation

DjangoPythonAutomationReliabilityAdmin Workflows

One-sentence summary: I optimized and automated a Django CNS management platform in active production use.

Problem/context: Manual operational steps and legacy backend behavior increased maintenance overhead.

What was built: Incremental backend improvements, admin workflow automation, and reliability-oriented updates.

Technical role: Backend engineering, platform stabilization, and technical operations alignment.

Technologies: Django, Python, automation tooling.

System concepts: Reliability engineering, maintainability, repeatable operations, safer deployment cadence.

Result/value: I made the platform easier to run and maintain with fewer recurring manual steps.

Complete Project Portfolio

I keep my active engineering portfolio with short context, constraints, solution choices, and verifiable outcomes for each project.

me-page

Short description: A multi-page portfolio website built to present my engineering profile, project case studies, and machine-readable technical context.

Nginx logo Docker logo GitLab logo Cloudflare logo

Role: I was responsible for frontend structure, SEO, AI-readable context files, Docker packaging, and deployment workflow design.

Context: The problem was fragmented technical presentation across informal channels. Existing process was manual and not production-ready.

Constraints:

  • Static-site architecture with minimal runtime complexity.
  • Deployment had to stay compatible with GitLab CI and Portainer Git stack updates.
  • Credentials and infrastructure secrets had to stay outside version control.

Solution: I built a static site with clear project pages, structured metadata, AI-readable context files, and a containerized Nginx delivery path.

Key technical decisions:

  • Used static HTML/CSS/JS because reliability and long-term maintainability were the primary requirements.
  • Designed Docker + GitLab CI + Portainer GitOps flow to handle repeatable deployment and rollback safety.
  • Avoided direct SSH deploy because it increases operational drift and secret-handling risk.

Result: I delivered a production-ready portfolio with stable publishing workflow and machine-readable discovery support.

References:

  • Metrics: Multi-page site with dedicated project, stack, experience, and AI context resources.

What I learned: This project improved my understanding of SEO-aligned static delivery and disciplined deployment process design.

bohanec-admin-energijarr-django

Short description: A Django operations platform built to manage energy, location, sensor, tariff, and analytics data for technical operations.

Django logo Python logo MySQL logo Docker logo

Role: I was responsible for backend workflows, operational data model maintenance, Docker-based setup, and engineering support.

Context: The problem was operational data spread across inconsistent workflows. Existing process was slow and error-prone.

Constraints:

  • Legacy compatibility requirements around Django 3.1.6 and existing schema behavior.
  • MySQL data integrity and migration safety had to be preserved.
  • Operational users needed continuity while improvements were delivered incrementally.

Solution: I built and maintained a Django application with structured admin surfaces, REST API paths, and reproducible local/container startup flow.

Key technical decisions:

  • Used Django because the project needed rapid admin productivity and mature ORM workflows.
  • Designed Docker Compose flow to handle consistent run/migrate/static collection steps.
  • Avoided disruptive rewrites because they would increase risk for existing operational users.

Result: I delivered a more stable and maintainable base for daily operational data administration.

References:

  • Metrics: Platform covers locations, sublocations, sensors, data sources, tariffs, analytics, and API integration paths.

What I learned: This project improved my understanding of maintaining legacy-critical Django systems without breaking operational continuity.

proxmox-mcp-ai

Short description: A Proxmox-oriented integration repository built to establish a safe baseline for MCP/AI-assisted infrastructure workflows.

Proxmox logo Python logo Docker logo GitLab logo

Role: I was responsible for repository setup, integration direction, and security-first planning for Proxmox automation use cases.

Context: The problem was missing standardized workflow for AI-assisted Proxmox operations. Existing process was manual and fragmented.

Constraints:

  • Repository started as a greenfield initialization with no implementation history.
  • Infrastructure credentials must stay out of git and out of static config files.
  • Automation design had to prioritize safety over speed.

Solution: I created the project baseline and defined a secure direction for integrating Proxmox operations through controlled interfaces.

Key technical decisions:

  • Used incremental repository bootstrapping because infrastructure automation must start from explicit trust boundaries.
  • Designed the flow to handle token-based and externalized credential management.
  • Avoided direct hardcoded host credentials because that creates immediate security risk.

Result: I delivered a clean starting point for future Proxmox integration and governance.

References:

  • Metrics: Repository initialized and ready for controlled implementation phases.

What I learned: This project improved my understanding of secure-by-default planning for infrastructure automation systems.

rcum-optika-zemljevid

Short description: A Web GIS system built to manage optical cable infrastructure geometry, metadata, and editing workflows on a map.

Next.js logo React logo Python logo PostgreSQL logo

Role: I was responsible for full-stack architecture across Next.js frontend, Python backend, and PostgreSQL/PostGIS data layer.

Context: The problem was fragmented cable and node planning data. Existing process was manual and difficult to validate spatially.

Constraints:

  • Geospatial precision and schema consistency had to be reliable for operational data.
  • Authentication and session handling had to work with browser-based workflows.
  • Map editing UX had to support complex domain entities without losing performance.

Solution: I built a Next.js map workspace with a Python backend and a PostGIS model layer including migrations, seed data, and geometry controls.

Key technical decisions:

  • Used PostgreSQL + PostGIS because spatial indexing and geometry types were mandatory.
  • Designed SQLAlchemy/Alembic-backed schema flow to handle long-term evolution and auditability.
  • Avoided flat-file geometry management because it would increase drift and reduce integrity.

Result: I delivered a maintainable GIS foundation with practical cable/node editing workflows and better planning control.

References:

  • Metrics: Spatial schema includes LINESTRING, POINT, and POLYGON entities with GIST indexing and migration workflow.

What I learned: This project improved my understanding of balancing rich GIS UX with strict geospatial data integrity.

Dashboard_FrontEnd

Short description: A Next.js dashboard frontend built to provide modular operational views for projects, schedules, analytics, and administration.

Next.js logo React logo TS

Role: I was responsible for frontend architecture, UI composition strategy, and integration-ready client workflows.

Context: The problem was a need for one structured interface across multiple operational modules. Existing process was fragmented between tools.

Constraints:

  • Frontend had to support many modules while staying maintainable.
  • Type safety and UI consistency were required across reusable components.
  • Deployment needed to remain container-friendly and CI-compatible.

Solution: I built a Next.js + TypeScript frontend with modular routes, reusable UI components, and charts/forms suitable for operational workflows.

Key technical decisions:

  • Used Next.js App Router because route-driven module composition was a core requirement.
  • Designed typed form/validation flow with React Hook Form and Zod to handle safer input management.
  • Avoided ad hoc page-specific state patterns because they increase maintenance cost at scale.

Result: I delivered a coherent dashboard surface ready for integration with backend APIs and production builds.

References:

  • Metrics: Multi-section route architecture includes admin, projects, settings, statistics, and scheduling views.

What I learned: This project improved my understanding of scaling frontend architecture across many operational modules.

Dashboard_BackEnd

Short description: A FastAPI backend built to provide secure APIs for project tracking, time, mileage, schedules, and task workflows.

Python logo PostgreSQL logo Docker logo

Role: I was responsible for backend architecture, data modeling, migration flow, and authentication design.

Context: The problem was fragmented operational records without one reliable API layer. Existing process was manual and inconsistent.

Constraints:

  • Authentication had to support secure sessions and OAuth providers.
  • Schema evolution had to be explicit and migration-safe.
  • API behavior had to remain stable for frontend integration.

Solution: I built a FastAPI service with SQLAlchemy models, Alembic migrations, Pydantic validation, and session/auth security flows.

Key technical decisions:

  • Used FastAPI because typed API contracts and development velocity were both important.
  • Designed SQLAlchemy + Alembic architecture to handle schema lifecycle control.
  • Avoided schema changes without migrations because that introduces deployment and data risk.

Result: I delivered a backend foundation that supports multiple operational domains through one coherent API service.

References:

  • Metrics: Covers project management, time tracking, mileage logging, scheduling, and task/idea endpoints.

What I learned: This project improved my understanding of secure API lifecycle management in production-oriented FastAPI systems.

money_manager (SpendLens)

Short description: A personal finance and receipt-processing web app built to manage spending with OCR-assisted data extraction and reporting.

Next.js logo PostgreSQL logo Docker logo Cloudflare logo

Role: I was responsible for full-stack implementation, authentication, data storage strategy, OCR integration, and deployment setup.

Context: The problem was manual expense tracking with weak traceability. Existing process was slow and inconsistent.

Constraints:

  • Receipt uploads had to be stored safely with per-user separation.
  • Authentication had to stay secure while preserving usability.
  • Public access needed reverse-tunnel exposure without direct host exposure.

Solution: I built a Next.js + PostgreSQL system with Auth.js credential flow, OCR provider integration, Docker deployment, and Cloudflare Tunnel routing.

Key technical decisions:

  • Used Next.js full-stack approach because API routes and UI cohesion simplified deployment and maintenance.
  • Designed plain PostgreSQL schema flow to handle deterministic initialization and migrations.
  • Avoided committing OCR credentials because secret leakage would create severe security exposure.

Result: I delivered a practical finance workflow with faster receipt processing and structured expense records.

References:

  • Metrics: Includes auth, receipts, OCR adapters, Docker Compose deployment, and Cloudflare tunnel-based exposure.

What I learned: This project improved my understanding of secure document-processing workflows and production web app deployment patterns.

CnsViz

Short description: A backend-first CNS platform built to design cabinet projects in an editor API and serve read-only runtime data safely.

C# .NET Docker logo

Role: I was responsible for backend architecture, package integrity flow, storage design, and runtime service boundaries.

Context: The problem was the need for controlled project editing with signed runtime delivery. Existing process was fragmented and harder to verify.

Constraints:

  • Runtime consumption had to be read-only and verifiable.
  • Package export required signing and integrity checks.
  • Telemetry ingest had to support real-time operational visibility.

Solution: I built a .NET architecture with Core, Storage, Editor API, and Runtime API modules, plus signed package export/verification and telemetry paths.

Key technical decisions:

  • Used separated Editor and Runtime APIs because write/read isolation reduces operational risk.
  • Designed signed package workflow to handle artifact integrity before runtime serving.
  • Avoided mutable runtime endpoints because they would break trust boundaries.

Result: I delivered a secure backend foundation for CNS project lifecycle and runtime status distribution.

References:

  • Metrics: Implements dual API services, signed package export/verification, telemetry ingest, and SignalR status hub.

What I learned: This project improved my understanding of boundary-driven backend architecture for critical runtime systems.

CNS_Ridizajn_FrontEnd

Short description: A Next.js frontend application built to support CNS and HVAC visualization workflows with 2D and 3D interactive surfaces.

Next.js logo React logo TS Ubiquiti logo

Role: I was responsible for frontend interaction design, module structure, UI state flows, and operational screen behavior.

Context: The problem was fragmented operator views across alarms, service, and equipment context. Existing process was slower for monitoring and response.

Constraints:

  • UI had to support many operational views while keeping navigation predictable.
  • State management needed to stay consistent across CNS, HVAC, and room-design modules.
  • 3D/visual components had to coexist with practical control-room workflows.

Solution: I built a Next.js frontend with dedicated module routes, Zustand stores, reusable UI components, and mixed 2D/3D visualization workflows.

Key technical decisions:

  • Used TypeScript-based component architecture because operational UIs need reliable contract discipline.
  • Designed store-based state management to handle multi-screen synchronized behavior.
  • Avoided monolithic single-page logic because it would reduce maintainability and testability.

Result: I delivered a richer operational frontend base for CNS/HVAC workflows and iterative feature delivery.

References:

  • Metrics: Includes dashboard, alarms, floor-plan, history, service, schedules, and room-design modules.

What I learned: This project improved my understanding of complex operational frontend composition with mixed visualization modes.