Skip to content

Developer & Maker

Slavoj SANTA

Hruška

Programming since 1988. From Basic, Assembly and Pascal through PHP, Java and Python to TypeScript — and from software to physical prototypes.

Slovensko / Remote

My projects

A selection of projects in software development, hardware engineering, and 3D printing.

SW DevelopmentReference

Letavy — Registračný a správcovský systém

Two-part web system for managing the Letavy summer arts camp (running since 1985, 41 editions, ~9,700 participants). The registration form is a React SPA with a multi-step flow: workshop selection by live availability, personal details, and time-limited seat reservation. The admin panel (PHP/Laravel) covers the full event lifecycle: workshop management, accommodation (room occupancy matrix calendar), catering, participant and lecturer/staff accreditation, cash desk, bank statement import with automatic payment matching, and bulk messaging to participants.

PHPLaravelMySQLReactTailwind CSSREST APIBootstrapjQuery
View detail
SW DevelopmentReference

FiskalPro — Lokálna REST API proxy

Locally running REST API proxy server (Node.js) for FiskalPro POS and fiscal devices. FiskalPro devices expose a TCP/IP interface for external control, which is not directly accessible from a web browser context. The proxy bridges the web application and the device — it accepts HTTP requests, translates them into FiskalPro's proprietary TCP protocol, and returns structured JSON responses. The API is documented via Swagger/OpenAPI and covers commands for receipt printing, sending device commands, and generating a UUID as a unique block identifier required by each FiskalPro receipt command. Runs as a local service on the same network as the device.

JavaScriptNode.jsREST APITCP/IPSwagger/OpenAPIFiskalPro
View detail
SW DevelopmentLive

Platba LeQR.SK

PWA web application for generating PayBySquare QR codes — the Slovak banking payment standard. Works fully offline without app store installation, on iOS, Android, and desktop. Features automatic IBAN formatting, daily variable symbol sequencing, and persistent settings.

HTMLJavaScriptCSSPWAService WorkerPayBySquare
View detail
SW DevelopmentReference

eVRC Proxy — Vehicle Registration Card Reader

A locally running REST API service (Node.js) for reading EU Electronic Vehicle Registration Cards (eVRC) via a smart card reader (PC/SC). Implements the EU standard per Directive 2003/127/EC — reads and parses all chip data: license plate, VIN, owner and holder details, engine parameters (capacity, power, fuel type), mass, emissions, fuel consumption, X.509 certificates, and digital signatures. Returns a structured JSON object. Tested on Slovak eVRC cards, multi-platform (Windows/Linux/macOS), also available as a standalone binary with no dependencies.

JavaScriptNode.jsPC/SCSmart CardREST APIEU eVRC
View detail
SW DevelopmentReference

eRecept V6 — REST API Proxy

A locally running REST API proxy service (FastAPI/Python) that enables web applications to communicate with Slovakia's national electronic prescription system eRecept V6, operated by NCZI. The proxy bridges between the web client and a smart card reader — using the healthcare worker's electronic professional card (EZP) certificate via PKCS#11 for authentication and prescription signing. The API is documented via Swagger/OpenAPI and covers the full prescription lifecycle: doctor login, patient lookup and verification, prescription creation, modification, cancellation, and dispensing.

PythonFastAPIOpenAPISmart CardPKCS#11NCZI eRecept V6
View detail
SW DevelopmentLive

GitDiffToZip (gdtz)

A Node.js CLI tool that compares two git commits and bundles only the changed files into a ZIP archive. Ideal for partial deployments — instead of uploading an entire project to a server, upload only what actually changed. Archives are named automatically with both commit hashes and a timestamp. Supports binary and text files, custom output directories, and cross-platform binaries (Windows, Linux, macOS). Installable as a global npm command `gdtz`.

JavaScriptNode.jsCLIGitnpm
View detail
SW DevelopmentLive

Nodum.Cloud

A cloud bookmark manager built for people who work with large numbers of links across diverse topics. Bookmarks are organized into folders, tags, and collections — kept private or shared with others via configurable permissions. A node graph visualization reveals connections between categories. Full-text search finds any bookmark instantly. The app runs in the browser with no installation required, features a dark UI, and supports multiple languages including Slovak.

TypeScriptNext.jsReactPostgreSQLREST API
View detail
SW DevelopmentLive

LinguaFlow

A web platform for automated AI-powered localization of software projects. Translates localization files directly in their native format — JSON, YAML, XLIFF, PO/MO, CSV, .NET RESX, Flutter ARB, Android XML, iOS strings, Mozilla Fluent, and more. Smart change tracking re-translates only new or modified strings, saving both time and costs. Credit-based pricing instead of fixed subscriptions — you pay only for what you actually translate. Translations are generated before release and embedded directly into the product, with no runtime calls to external APIs and no customer data exposure.

TypeScriptNext.jsReactAIi18nREST API
View detail
SW DevelopmentLive

QuizHop

Real-time live quiz platform — players join via a 6-character code or QR code with no installation required. AI generates questions in seconds, fact-checks content, and polishes style. Supports team and solo modes, fullscreen projection, and a live leaderboard updating after every question.

TypeScriptNext.jsReactWebSocketsAIQR Code
View detail
SW DevelopmentReference

GoCardless BAD — Open Banking integrácia

Most businesses find out whether a customer has paid by waiting for a bank statement email — once a day, sometimes later. This integration changes that: the application (invoicing system, CRM, e-shop) asks the bank directly and gets an up-to-date view of incoming payments at any time, without waiting. It works through the European Open Banking standard (PSD2), which allows hundreds of banks across the EU to securely share data with third parties — without handing over a username or password. The customer simply logs into their internet banking, approves read access to their transactions, and from that moment the application sees them in real time. I built a library for JavaScript (Node.js) and PHP that handles the entire process — from authentication, through bank selection and user consent, to downloading transactions and balances. The library manages session validity on its own and renews it when needed. As a working example, I integrated it into my own invoicing system, replacing the manual import of XML files from email.

JavaScriptNode.jsPHPGoCardless Bank Account Data API v2PSD2 / Open BankingREST API
View detail
SW DevelopmentReference

PubLedger — Skladový systém pre gastronomické prevádzky

Web application for inventory management in hospitality venues — bars, restaurants, and multi-branch food-service operations. Covers the full goods lifecycle: stock receiving, bar transfers, loss recording, and inter-branch movements. The product catalogue supports variants — each product can have multiple volumes and packaging types with individual purchase and sale prices including VAT. A dedicated returnable packaging module (kegs, bottles, cans) eliminates manual deposit counting. The dashboard displays total stock levels, movements over the past 7 days, pending transfers, and low-stock alerts. Reports provide consumption and movement overviews for any time range. Backend built on Fastify with Prisma ORM and MySQL; frontend uses React 18 with TanStack Query and Zustand.

TypeScriptReactViteTanStack QueryZustandFastifyPrismaMySQLJWTZodSwagger/OpenAPI
View detail
HW DevelopmentLive

NFC čítačka — USB HID emulátor klávesnice

Hardware device based on Arduino Leonardo + PN532 NFC module, used during participant accreditation at the Letavy summer arts camp as a contactless reader for NFC chip wristbands (ISO14443A/Mifare). When a wristband is tapped, the device reads the chip's serial number and "types" it directly into the active field of the web application via USB HID keyboard emulation — no manual transcription needed. The device appears to the computer as a standard USB keyboard and requires no drivers or software installation. Firmware is written in C++ for Arduino and communicates with the PN532 over UART (HSU mode).

ArduinoC++PN532NFC/ISO14443AUSB HIDUART
View detail
3D PrintingLive

Eurydiké — 3D sken & tlač sochy

A cultural heritage preservation project — digitizing and 3D printing the marble statue of the nymph Eurydike by sculptor István Ferenczy. The statue was destroyed by fire in 1847 (hot marble shattered when hit by cold firefighting water) and fell apart into 550 pieces during its creator's burial. The full workflow spans multi-phase 3D scanning with an EinScan Pro HD scanner, point cloud cleanup, mesh reconstruction, slicing into 69 print plans, and physical assembly using FDM printers. A collaboration with Ivan Krasko Grammar School in Rimavská Sobota.

3D ScanningEinScan Pro HDPoint CloudMesh RepairFDM 3D PrintSlicer
View detail
3D PrintingLive

3D Bracelet Measurement Tool

Parametric OpenSCAD tool for designing and measuring bracelets. Scripts generate fully customizable models with STL exports for sizes 14–24 mm. The entire design is parameter-driven — changing a single value recalculates the whole model.

OpenSCADSTL
View detail

Let's talk

I'm interested in exciting projects, collaborations, and long-term partnerships.

Send an email
Slovensko / Remote