Tomislav Ćalušić

Software engineer · AI integration · Split, Croatia

Summary

Full-stack engineer with nine years across banking, telco, automotive, and government enterprise — most recently wiring LLMs into real products. Comfortable across the stack: Java/Spring Boot and .NET back-ends, Angular and React front-ends, raw Postgres + pgvector, Python for AI integration work. Currently looking for AI integration roles where the unglamorous parts of the system — auth, multi-tenancy, storage, DNS — matter as much as the model.

Side projects

AdiosAnalysis — adios.hr · co-built with a colleague

live · production

Production AI-powered news platform ingesting RSS, analysing with an LLM, and clustering cross-source coverage.

Every article flows through a structured LLM analysis (OpenAI) that returns editorial JSON — summary, normalised title, topic and named-entity tags, plus perceptual scores for clickbait, vagueness, typo, and emotional language. Cross-source clustering blends four 1,536-dim text-embedding vectors per article (weighted 0.45 / 0.25 / 0.15 / 0.10) with text similarity and shared-tag overlap, grouping different outlets' coverage of the same event above an 80% threshold. Five hosted services run the pipeline (RSS crawl → analysis → vectorise → cluster → theme refresh) with bounded channels, per-row locks, and exponential retry. Multi-tenant by deployment: one country = one deployment = one DB, gated by a single config switch; adding a new country is a ~60-line config + a translation bundle, no pipeline code changes. More on the project →

.NET 10 · ASP.NET Core MVC · EF Core · PostgreSQL + pgvector · OpenAI Responses + embeddings · Serilog/Seq · JWT + Google OAuth · ASP.NET Identity · .resx i18n

Photo Portfolio Platform · solo build

2026 · v1 live

Multi-tenant SaaS where each photographer manages a full website by chatting with a Telegram bot.

Bot AS the CMS (not on top of one): every CMS operation — uploads, captions, layout, theme, DNS binding — exists as a tool the model can call. Claude Haiku driving an agentic tool-use loop. FastAPI back-end with raw psycopg3 (no ORM — tenant filtering visible in every query). Caddy with on-demand TLS gated by a registration-check endpoint, so each photographer can point any domain at the same IP and get a cert seconds later. More on the project → (live demo by invitation)

Claude Haiku · FastAPI · psycopg3 · Postgres 16 · Next.js 14 · Cloudflare R2 · Caddy · Docker

Veseljko — veseljko.hr · co-built with a colleague

live · personal project

End-to-end Croatian platform for the full lifecycle of weddings, baptisms, birthdays, and other family events — digital invitations and RSVPs, guest photo/video galleries, printable invitations and QR cards, seating, package/add-on commerce, and a back-office admin app.

Clean-architecture .NET 10 solution split into Domain / Application / Infrastructure / SharedKernel, with custom CQRS abstractions (IQueryHandler, ICommandHandler, auto-registered) and a Result<T> error model; antiforgery + cookie auth across two front-ends (owner/guest Web app and staff Office app). EF Core 10 on PostgreSQL with snake_case naming and code-first migrations across Development / RemoteDevelopment / RemoteProduction.

Templating engine drives 30+ database-seeded invitation themes per event type (Wedding/Bachelor/Bachelorette/Baptism/Birthday/Confirmation/FirstCommunion × Classic/Deco/Editorial/Modern) with CSS-only theming and a placeholder substitution pipeline; owner-editable inline static text co-exists with non-editable lock islands that keep database-derived regions (schedule, RSVP QR codes, organiser contacts) live across edits. Print pipeline does browser-native multi-page printing (blank/front/blank/back, 2-up on 10×7" sheets) and A5 QR cards, verified end-to-end with headless Chromium PDF rendering.

Media subsystem has pluggable storage providers (local filesystem, Cloudflare R2), per-package upload limits, thumbnail generation, password-protected guest galleries, and a live-presentation slug for projecting guest uploads during the event. Office back-office handles a shopping cart for packages and add-ons with per-event feature overrides, plus partners, reviews, inquiries, and a blog. Full Croatian UI with culture-aware date formatting (hr-HR). More on the project →

C# · .NET 10 · ASP.NET Core MVC · Razor · EF Core 10 · PostgreSQL · Clean Architecture + CQRS · Cloudflare R2 · QR generation · headless Chromium PDF · hr-HR i18n

DeHost — dehost.io · co-built with a colleague

live · Base testnet

A Web3 platform for censorship-resistant, serverless website hosting.

Built a full-featured dApp frontend for a serverless, blockchain-based hosting platform on the Base chain. Implemented decentralized file publishing, on-chain domain registration, and wallet-based user management. Integrated multiple wallet flows including modern account-abstraction sign-in, with automatic network handling. Delivered a responsive, component-driven UI with strong UX and SEO foundations. Currently live on Base testnet at dehost.io. More on the project →

Svelte 5 · SvelteKit · TypeScript · TailwindCSS · Vite · Web3 (wallet + smart-contract integration)

Experience

Senior Software Engineer · Intellexi

Oct 2024 — Present

Lead developer on front-office modernization at HPB — Croatian Postal Bank.

Architected and shipped a new Angular SPA replacing a JSF legacy used daily by bank personnel. Designed the secure Spring Boot REST APIs and a custom gateway/routing layer connecting the front-end to core financial back-ends.

Built the real-time integration with HROK (Croatian Credit Information Registry) for mandatory credit-availability checks, dynamic in-code PDF generation for regulated documents (credit agreements, compliance reports, account statements — all branded and legally compliant), and 2D barcode scanning for fast document capture and verification in customer-onboarding flows. Owned the Oracle PL/SQL layer, OpenLiberty config, and Jenkins CI/CD pipelines.

Angular · Spring Boot · Java · Oracle PL/SQL · OpenLiberty · Jenkins

Senior Technical Consultant · CloudSense

Sep 2022 — Jul 2024

Salesforce engagements for three telcos — A1, Telefónica, Liquid Telecom.

Shipped A1 Telecom's eCommerce on Salesforce in agile cycles, built with Apex and Lightning Web Components. Drove a new solution-management process for Telefónica engagements and ran offline client comms. Handled BAU bug-fix and feature work for Liquid Telecom (the largest African telecommunications provider) and contributed to Salesforce admin. Code-driven PDF generation via PDF Butler.

Salesforce · Apex · Lightning Web Components · PDF Butler

Software Engineer · GlobalLogic

Jun 2021 — Sep 2022

Two automotive cloud platforms — Stellantis and Daimler / Mercedes Intelligent Cloud.

Stellantis — Internet of Vehicles. Device-management portal in React + TypeScript with Relay/GraphQL, a Java/Spring Boot application gateway behind it, Next.js + Tailwind on the front-end, and Elasticsearch for querying. Jest for front-end tests.

Daimler / Mercedes Intelligent Cloud. Vue.js + TypeScript front-end and Java/Spring Boot back-end with file converters, end-to-end tests in Cypress and JUnit. Multinational corporate environment with a globally distributed team.

React · TypeScript · Vue.js · Java 11 · Spring Boot · GraphQL/Relay · Next.js · Elasticsearch

Software Developer · Maurer Electronics GmbH

Nov 2019 — Jun 2021

Government enterprise platform for tobacco-product traceability.

Helped countries detect illegal smoking products by tracking them from creation to delivery. Three React front-ends — for end users and for the administration team — and Java/Spring Boot REST APIs underneath. PostgreSQL data layer with optimised SQL queries; unit and integration tests in JUnit; Docker on CentOS 7, Maven, Jenkins.

Java · Spring Boot · React · PostgreSQL · JUnit · Docker · Jenkins

Student Software Developer · Sedam IT

Mar — Oct 2019

Built the back-end for ZgPark — Zagreb's pay-parking-by-phone service.

Designed and developed back-end APIs used by thousands of drivers to buy parking tickets over the phone, plus the admin interface (front + back) used by parking-system operators. MS SQL Server, Tomcat.

Java · XML · MS SQL Server · Tomcat

Student Software Engineer · Ericsson

Mar 2017 — Feb 2019

Two years on the 4G/5G code that carries ~1B mobile subscribers.

Improved and tested cellular network code in an agile team. Optimised legacy C and Java for performance and reduced complexity. Wrote functional and component tests in Erlang and Java (JUnit). Built a shell-pipeline runner using M4 macros and Bash so test suites ran consistently both locally and on Jenkins.

C · Java · Erlang · Bash · M4 · JUnit · Jenkins

Education

M.Sc., Computer Science · FESB, University of Split

2017 — 2019

Faculty of Electrical Engineering, Mechanical Engineering and Naval Architecture.

B.Sc., Computer Science · FESB, University of Split

2014 — 2017

Skills & languages

Back-end
Java · Spring Boot · Python (FastAPI) · C# · .NET · ASP.NET Core · EF Core · Node.js · Oracle PL/SQL · Postgres + pgvector · MS SQL · Elasticsearch
Front-end
Angular · React · TypeScript · Next.js · Svelte · SvelteKit · Vue.js · Tailwind · GraphQL/Relay
AI / LLM
Claude (Haiku, Sonnet, Opus) · OpenAI (Responses + embeddings) · agentic tool-use loops · vector embeddings · pgvector · evals
Infra
Docker · Caddy · Cloudflare R2 · Jenkins · Alembic · Linux
Salesforce
Apex · Lightning Web Components · PDF Butler (Salesforce Certified Associate)
Languages
Croatian (native) · English (professional) · Italian / German (elementary)