Skip to content

Faris Srnja — Senior AI Product Engineer

I build AI products and run them in production.

Eight years in software engineering. Founder of SAAISolutions. I own products end to end — architecture, AI system design, AWS infrastructure, and the business reasoning behind them.

  • TypeScript
  • Next.js
  • Node.js
  • AWS
  • LLMs / RAG
  • MLOps

Sarajevo, Bosnia and Herzegovina · Remote-first, open across the EU · English / German / Bosnian

Portrait of Faris Srnja

01

How I work

I own outcomes, not tickets.

On every product I have shipped, I made the architecture decisions, wrote the code, ran the infrastructure, and answered to the people paying for it.

Production is the only environment that counts.

I design for the failure cases first: what happens when the model is wrong, the queue backs up, or an auditor asks for the log.

AI is a product capability, not a demo.

If a feature cannot survive real users, real data, and a cost budget, it does not ship.

02

Selected work

Two products I built, shipped, and operate today.

Case study 01

Everent

Auditable HR operations and time tracking, with an AI reporting layer.

Visit Everent

Context

Companies in Bosnia and Herzegovina are required to keep accurate, inspectable records of working time and absences. Most run this in spreadsheets: error-prone, unauditable, and painful the day a labor inspector shows up.

Constraints

  • Auditability

    Every change to a time record must be traceable — who, what, when. A record that can be silently edited is worthless in an inspection.

  • Multi-tenant from day one

    Each company's data fully isolated, with company-level roles and approval chains.

  • Non-technical users

    HR staff and site managers, not engineers. The audit guarantees have to hold without anyone thinking about them.

  • One engineer owns everything

    Architecture had to stay simple enough to operate alone, on a small infrastructure budget.

Architecture

Everent is a multi-tenant Next.js application on AWS, backed by PostgreSQL. Time and absence records are written through a service layer that appends every mutation to an immutable audit log. Reports are generated from the same event history, so a report and its audit trail can never disagree. The AI reporting layer sits beside the service layer — it never touches the database directly.

SQLevery mutationquestionsvalidated queriespromptsNext.js appHR staff, managersService layertenancy + rolesPostgreSQLtenant-scopedLLMOpenAI APIAI reportingquery templatesAudit logappend-only

AI system design

  • The reporting assistant turns questions like “who was on leave in March and who approved it” into structured, tenant-scoped queries.
  • The model never writes SQL. It selects from a fixed set of validated query templates and fills typed parameters; anything outside the schema is rejected, and the user gets structured filters instead.
  • Answers cite the records they were built from. Quality is checked against a golden set of question–result pairs that runs on every prompt or template change.

Decisions & tradeoffs

  • Append-only event log

    Chose
    Every mutation appended to an immutable audit log.
    Rejected
    Soft-delete flags on mutable tables.
    Because
    An inspector-grade audit trail has to be a property of the data model, not of developer discipline.
  • Template-constrained AI queries

    Chose
    The model fills typed parameters in validated query templates.
    Rejected
    Free-form LLM-generated SQL.
    Because
    Wrong numbers in an HR report are worse than no report; templates cap the blast radius of a bad generation.
  • One database, row-level tenancy

    Chose
    A single PostgreSQL instance with an enforced tenant scope.
    Rejected
    Database-per-tenant.
    Because
    At this scale, a fleet of databases buys nothing that an enforced tenant scope does not.

Outcome

  • 14 companies run their HR operations on Everent
  • ~1,100 employees tracked daily
  • Inspection-ready reports in under a minute — previously a day of spreadsheet work
  • 99.9% uptime over the past six months
Admin dashboard — team time-tracking overview
Audit trail — every change, attributable
  • TypeScript
  • Next.js
  • Node.js
  • PostgreSQL
  • AWS
  • OpenAI API

I can take a regulated, unglamorous business problem and ship a production system that companies trust with their compliance.

Case study 02

Wortox AI

AI-powered e-commerce for professional security and surveillance gear.

Visit Wortox AI

Context

Professional surveillance equipment is bought on specs: coverage, compatibility, storage, regulation. Buyers who cannot translate their problem into those specs stall or buy wrong, and the seller pays for both.

Constraints

  • Wrong answers cost money

    Recommending an incompatible camera is not a bad UX moment — it is a returned order.

  • A living catalog

    Products, prices, and availability change weekly. Whatever the AI knows has to track that.

  • Technical depth

    Spec sheets and compatibility matrices — the assistant must reason over structured data, not marketing text.

Architecture

A Next.js storefront on AWS with the catalog in PostgreSQL. A sync pipeline embeds products and spec documents into a vector index whenever the catalog changes. The advisor service composes hybrid retrieval — structured attribute filters plus semantic search — and passes only retrieved catalog data to the model.

questionsembeddingsattribute filterssemantic searchcontextStorefrontNext.jsAdvisor servicehybrid retrievalLLMgrounded generationCatalogPostgreSQLSync pipelineon catalog changeVector indexpgvector

AI system design

  • The advisor is a constrained agent: it can search the catalog, compare retrieved products, and compose a recommendation — nothing else.
  • Every product it mentions must come from the retrieval step; a response that references an item outside the retrieved set is rejected before it reaches the user.
  • When retrieval confidence is low, the assistant says so and routes to a human instead of guessing.
  • Retrieval quality is measured as hit rate on a curated set of real buyer questions; the set grows every time a session goes wrong.

Decisions & tradeoffs

  • RAG over fine-tuning

    Chose
    Retrieval over a catalog that changes weekly.
    Rejected
    Fine-tuning on catalog data.
    Because
    Retrieval tracks a living catalog for free; a fine-tune is stale the day it ships.
  • Hybrid retrieval

    Chose
    Structured attribute filters combined with semantic search.
    Rejected
    Pure vector search.
    Because
    “Night vision under 300 euros” is a filter plus a similarity query; embeddings alone get the price wrong.
  • Refusal and handoff

    Chose
    Low retrieval confidence routes to a human.
    Rejected
    Forcing a recommendation from weak retrieval.
    Because
    A confident wrong answer is the most expensive output this system can produce.

Outcome

  • ~1,800 advisor conversations a month
  • Four in five advisor sessions end on a relevant product page
  • Product discovery cut from minutes of spec reading to a short conversation
AI advisor — grounded product recommendations
Catalog — hybrid attribute and semantic search
  • TypeScript
  • Next.js
  • Node.js
  • PostgreSQL + pgvector
  • AWS
  • OpenAI embeddings + LLM

AI with guardrails as the product itself — retrieval, evaluation, and failure paths designed before the first prompt was written.

03

Capabilities

What I get hired to own.

AI engineering

  • LLM systems

    Model selection, orchestration, and cost and latency budgets that survive contact with production.

  • RAG

    Retrieval design, chunking, hybrid search, and the evaluation loop that keeps it honest.

  • Agents

    Tool-calling with bounded autonomy; an agent that can act is an agent that can be audited.

  • Embeddings & semantic search

    From ingestion pipeline to index to ranking.

  • Vector databases

    pgvector first; a dedicated store when the numbers demand it.

  • Prompt & context engineering

    Prompts as versioned, tested artifacts, not improvisation.

  • Model evaluation

    Golden sets, regression runs on every change, failure taxonomies.

  • AI infrastructure

    Versioning, monitoring, rollout, and rollback for systems with a model in the loop.

Production engineering

  • Cloud architecture on AWS

    Designed for the bill as much as for the load.

  • API architecture

    Boundaries that stay stable while everything behind them changes.

  • Distributed systems

    Queues, idempotency, and the discipline of at-least-once delivery.

  • DevOps & CI/CD

    Deploys boring enough to run on a Friday.

  • Monitoring & observability

    If it is not measured, it is already broken.

  • Scaling & cost optimization

    Performance work that shows up on the invoice.

  • Production SaaS

    Multi-tenancy, auth, billing, backups: the unglamorous spine.

  • TypeScript, Node.js, Next.js, React

    The foundation under everything above.

04

Founder & leadership

I founded SAAISolutions in Sarajevo in November 2025 to build AI products under one roof. It is where I practice the whole job: scoping and pricing work, making architecture calls, writing the code, running the infrastructure, and standing behind the result in front of clients and executives.

  • Two platforms in production, owned end to end — Everent and Wortox AI
  • Direct client and executive communication — offers, scoping, delivery, support
  • Enterprise AI education, designed and delivered solo
  • Every architecture decision on this page was mine to make — and mine to live with

05

Enterprise AI education

I designed and delivered a full-day AI education program for the employees and management of a Slovenian bank — around six hours across eight modules, built for people with no AI background.

  • AI without the jargon — what large language models actually do, and where they fail
  • Prompting as a repeatable framework — role, context, task, format, constraints
  • Hands-on depth in one primary tool, then the wider set: research, private knowledge bases, presentations
  • Use cases by business function — HR, sales, support, finance, management
  • A complete AI workflow, live: from a raw client email to a management-ready presentation
  • Risk: hallucinations, data privacy, and why human oversight is non-negotiable

Building AI systems and explaining them to non-engineers are different skills. I do both — the person who wrote the retrieval pipeline can stand in front of a bank's management and make it make sense.

06

What people say

Everent replaced a process we were honestly afraid of. When the inspection came, we exported the report and that was the end of it.

E. H. · Operations Manager

He took people who had never opened an AI tool and had them building their own workflows by the afternoon. Six hours that changed how our teams work.

M. K. · Executive sponsor, banking workshop

Faris speaks both languages. He will argue architecture with your engineers in the morning and walk your board through the reasoning in the afternoon.

A. S. · Managing Director

07

Timeline

  1. Started building software

    Web fundamentals first; first shipped projects within the year.

  2. First professional client work

    Production web applications as an independent engineer; most of it under NDA.

  3. Refocused on AI systems

    Large language models, retrieval, and the engineering around them became the center of my work.

  4. Founded SAAISolutions

    An AI-first software company in Sarajevo; every product it ships carries production AI.

  5. Everent and Wortox AI in production

    Delivered enterprise AI education for a Slovenian bank.

08

If you are hiring.

I am looking for a senior AI product engineering role — remote-first, open across the EU. The fastest way to find out if this fits is a conversation.