guja@bogveradze:~$

> whoami

Full stack developer.
Nine years leading a legal OTT streaming platform.

Based in Tbilisi. 15 years writing code, 9 of them professionally. I work async, in writing, and I own architecture end to end across the front end and the back end.

./email.sh ./order-website.sh ./work --list

> experience

2017..present

Lead full stack developer, video streaming company

I build and maintain a legal OTT streaming platform end to end, and I lead a small dev team that owns the architecture. Video delivery runs over HLS and DASH with adaptive bitrate through Shaka Player, and Widevine DRM protects the content. The back end is Node.js and Express with PostgreSQL, ElasticSearch for catalog search, and Redis for caching and sessions. The front end is Angular.

Alongside the product work I run a continuous modernization of a large legacy codebase for performance and stability. Incremental, no rewrites.

hls dash shaka-player widevine node angular
credential issued 2026-07-02

Certified Widevine Implementation Partner: Modular DRM, License SDK

Certificate of completion for the Modular DRM, License SDK course, issued by Widevine, a Google company.

> git log --since=2021

Five years of shipping.

Bibliotech and ForChange started on Laravel 8 in 2021. The same core grew into Infy CMS, now on Laravel 13, and moved from content into commerce. Those three are points on one line, not unrelated projects.

infy-cms [ in production ]

My own content and commerce platform, built and still maintained, used as the base for multiple client sites on one shared codebase. Posts, pages, categories, menus, sliders, galleries, multi spec products, a media manager, roles and permissions, and multi language content from one admin. Plus SMS sending with delivery logs, orders, payments and deliveries.

laravel 13, vue 3, mysql

kiosk-signage [ in production ]

A digital signage network driving over 100 kiosk screens across six sites, unattended 24/7 on Windows, Raspberry Pi and Android TV boxes. Nine screen layouts are driven from a SQLite config with snapshot history and one click rollback, updates push live over SSE in staggered batches, and a service worker keeps the last good data on screen instead of ever going blank. Ships with an ad server: scheduled campaigns, per screen targeting, impression tracking, and creatives auto picked to fit the slot.

sveltekit, express, sqlite, docker

stb-app [ in production ]

The set top box and TV clients for the streaming platform, all three live. An Angular build with video.js, DASH playback and EME for DRM, server rendered so the first screen paints before the box has finished booting the app. A Samsung TV app packaged for Tizen out of the same Nx monorepo, on the store since 2023 and playing through Samsung's own DRM. And a newer client on a custom React renderer written against react-reconciler, with Shaka Player underneath. Set top boxes run years-old browser engines on very little memory, so every dependency is pinned to a version the hardware can actually execute and the render path is hand controlled instead of left to react-dom.

angular, react-reconciler, shaka player, tizen

tv-billing [ in production ]

A billing system for a satellite television operator, written in 2011 and still running today. Subscriber accounts and invoicing at around six thousand customers, an XML API that payment terminal operators post against, and an admin panel with reporting. My first production system. The operator stays unnamed.

php 5, jquery, mysql

customer-tracking [ in production ]

Customer records and activity tracking, roles and permissions, a shared file store and exports. Built in about six months on Laravel 5.5, then carried with small changes for another two years. Still in production today, so the client stays unnamed. The same product was later forked and rebuilt for a second company.

laravel 5.5, mysql

materials-shop [ in production ]

A building materials shop, rebuilt from scratch on Laravel 11 to replace an earlier Laravel 8 build. Catalogue, multi spec products, orders and deliveries, all driven from the same admin core. Still serving traffic, so it stays unnamed.

laravel 11, vue 3, mysql

payments-under-retry [ in progress ]

Anyone can wire up a checkout button. This one demonstrates correctness when the network misbehaves: replay a webhook, deliver events out of order, drop one, double submit the checkout, and watch the ledger still hold exactly one order per payment.

stripe, webhooks, idempotency

team-tooling [ in production ]

Tooling I built for my own team. A task launcher that cuts a fresh git worktree per ticket and drops you into a prepared tmux session with the editor and the coding agent already running, next to a shared agent playbook and skill set used across five repositories. Beside it a container that reads GitHub and Jira every morning, has an LLM write the recap, and posts it to Discord, with weekly and monthly rollups and a job that keeps Jira status honest against pull request state.

node, docker, shell, tmux, llm

loan-arbitration [ in production ]

Case handling for an arbitration body that settles disputes between banks and borrowers over unpaid loans. Multi language content throughout, with cases, documents and the public pages managed from one back office. Running since 2018, so it stays unnamed.

laravel 5.5, mysql, multi-language

vin-reports [ 2024 ]

Vehicle history reports pulled from a third party VIN API and sold through a cart. Order flow, payments and SMS notifications, with a separate front end talking to the Laravel back end.

laravel 8, mysql, rest api

property-portal [ 2019..2020 ]

A listings portal covering property for sale and rent, building materials and professional services. I owned the property side: a self hosted OpenStreetMap map with address search, listing management and the filtering over it. The front end is Angular against a Laravel JSON API with JWT auth, which makes it the only API first build on the lineage. The portal never launched.

angular, laravel 5.8, jwt, openstreetmap

kids-shop-ecommerce [ 2019..2023 ]

An online shop for children's food and toys, built on the shared admin core and run by the client for four years. Catalogue, categories, orders and content, all from one panel. The shop has since closed.

laravel 5.8, mysql

bibliotech [ 2021 ]

A fun way to pick a book. Recommends titles from a reader's preferences, with translated content throughout. One project covering Laravel, Vue and a separate Angular front end.

laravel 8, vue 3, angular 12

forchange [ 2021 ]

Shortest path routing across Tbilisi, built on Google Maps data. Locations, routes and directions modelled server side, with the map views driven from the same admin core.

laravel 8, vue 3, google maps

> git log --all --since=2017

One codebase, nine years.

Every project since 2017, on one axis. The solid bars are the same CMS, started in 2017 and carried through twenty one projects from Laravel 5 to 13, still running three sites today. Work that is still live stays unnamed.

timeline --since 2017 --group lineage [ 35 ]
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026

## employment

streaming-platform joined on the public sites, now lead full stack: OTT, HLS and DASH, widevine, node, postgres, angular
[ ongoing ]
accounting-platform accounting software company, redacted: platform api, dashboard and marketing site
[ ongoing ]

## infy cms, the spine

infy three generations of the same cms, laravel 5.4 to 13, current
[ ongoing ]

## client work on the lineage

tanasworoba where the cms was born: articles, menus, resources and roles, plus doctors, patients, visits and billing
[ ended ]
agrolinks second build on the same core, adding products, categories, galleries and dictionaries
[ ended ]
university-site first project to mount the admin at infy, ran about two years before it was replaced
[ ended ]
customer-tracking customer tracking software, roles, file store, exports, still in production
[ live ]
visitor-access groups, persons and visit logs, rewritten into laravel from another language
[ ended ]
loan-arbitration arbitration between banks and borrowers over unpaid loans, multi-language
[ live ]
course-sales online course enrolment with paypal payments
[ ended ]
hotel-site
[ ended ]
kids-shop-ecommerce food and toys for children
[ ended ]
property-portal properties side of a listings portal: custom osm map with address search, angular on a laravel json api
[ ended ]
fbs future business school, news and pages
[ ended ]
biotecsi catalogue and blog for plant and farm bio products
[ ended ]
forchange shortest-path routing across tbilisi on google maps data
[ ended ]
restaurant-menus menu management for restaurants
[ ended ]
bibliotech book recommendations from reader preferences, laravel and vue with a separate angular front end
[ ended ]
winery
[ ended ]
materials-shop building materials e-commerce, rebuilt from scratch on laravel 11
[ live ]
vin-reports vin-check reports off a third-party api, sold through a cart, payments and sms
[ ended ]
tourism-booking tours, hotels and cruises
[ ended ]
promo-raffle campaign and raffle codes across sms, gift and web channels, redeemed at retail points, finished but never launched
[ ended ]

## in house builds

bowling-venues two venue brands from one laravel 5.5 build: lanes, menus, offers and a leaderboard, never deployed
[ ended ]
anti-piracy-site first build on the laravel 8 generation of the cms, translated content throughout
[ ended ]
stb-app-angular set-top box client: angular 12, video.js with dash and eme drm, server rendered
[ live ]
kiosk-signage-net 100+ screens, nine layouts, SSE push, sqlite config with rollback, ad server, built solo
[ live ]
stb-app-tizen samsung tv app from the same nx monorepo, samsung drm playback, shipped to the tizen store
[ live ]
stb-app-react set-top box client on a custom react renderer and shaka player, tuned for weak hardware
[ ongoing ]
team-agent-tooling worktree task launcher over tmux, shared agent playbook and skills, test case tooling
[ ongoing ]
standup-recap-bot daily github and jira recap written by an llm and posted to discord, plus a jira and pr status sync
[ ongoing ]

## personal and public

pet-marketplace everything for pets in one space, my own build on the shared core
[ wip ]
web-game-for-hackers multiplayer hacking simulator: go, pgx and postgres, redis, websockets, web components
[ ongoing ]
cosmic-applet-pomo rust, cosmic desktop, published to the aur
[ public ]
kids-furniture my own shop, an infy fork on laravel 13
[ live ]
the cms itself projects on it personal and public employer, anonymized

Bars show how long each project was worked on, not commit dates. Anything still live is unnamed on purpose.

> ssh production

Every project here runs on a machine I set up.

Most of what is on this page runs on a server I provisioned myself. Ubuntu VPS from a bare image: users and SSH keys, root login off, firewall, automatic security updates, nginx in front of the PHP or Node runtime, the database, and TLS through certbot so renewals never need me. Then backups, and years of maintenance, which is the part that actually costs.

Smaller sites sit on shared cPanel hosting when that is what the client already pays for, and for the streaming platform I specced and assembled the physical machine itself. Seven years on Linux, on the server and as my daily desktop.

ubuntu nginx certbot ssh docker cpanel arch linux

> monitoring

Every server I run reports back.

Application logs go into Loki and Grafana reads them. For the streaming platform that is a five dashboard set I built and provisioned from a script instead of clicking panels together: fleet health, errors, API traffic, host resources, and the health of the monitoring stack itself. Request rate, error rate, HTTP status by route and the routes that are failing, all computed straight off the log stream.

Every request carries a UUID from the moment it arrives, so one line in Grafana follows a single request across every instance in the fleet. Underneath it sits Prometheus, with dashboards for host CPU, memory, disk and network, and for Loki's own ingest rate and storage growth, because log volume is a cost that creeps up quietly. A similar stack runs on the other servers I look after, scaled down to what each one needs.

grafana loki logql prometheus node exporter winston

> stack --all

typescript, node, express, php, laravel, vue, react, angular, svelte, postgresql, mysql, mongodb, redis, elasticsearch, docker, aws, tailwind, bootstrap

> services

Need a site like these built for you?

Custom business website on the same CMS, with an admin panel you run yourself. Not a template, not a page builder.

> contact

Tell me what you are building.

I work async, in writing. Send the scope and I will come back with an approach and a number.

tbilisi, georgia
gmt+4
runs on my own cms