Skip to content

Backend · Security · Infrastructure

Secure software,built to last.

Backends, REST and gRPC APIs, databases, security and the infrastructure they run on. Written plainly, tested at four levels, and delivered with the deployment, backups and monitoring included.

Since 2014. Cluj-Napoca.

Four levels of testing
Unit, integration, functional and end-to-end, on every project. They run automatically on every change, against a real database rather than stubs that agree with whatever you assumed. That way, even when big changes go in, code does not reach production unless it is safe.
Built against anonymised data
I never develop or test against real data. I work from an anonymised copy of your database that keeps the shape and the volume of the real thing, with nothing in it that identifies a person. The anonymisation routine scrubs the backups too, so data cannot survive in an old restore point.
Role-based access control
Each role sees only what it is entitled to, and the rules are enforced everywhere. An administrator controls exactly what each kind of user may do, and can revoke access instantly when the need arises.
Backups every minute
Every minute for the last hour, hourly for the last day, daily for the last month, monthly for the last year, and yearly after that. Restores can be run on demand, and an agent verifies the integrity of the data every night.
Closed to the public internet
Only the load balancer has a public address. The application cluster and the database cluster hold private addresses only, with public traffic to them blocked outright. Administration happens over VPN, to keep the data safe.
Since 2014, across four sectors
Medical, entertainment, beauty and tech. Very different domains with the same underlying demands: correct data, controlled access, and a system that does not give out exactly when you need it most. I can build in any domain: creativity has no limits, and experience brings seniority and expertise.

What I do

From the first line of code to the server in production.

Four areas that hold each other up: the application, the data behind it, who is allowed to reach that data, and the machines it all runs on. I do all four, so you are never left holding code and having to find someone else to put it online.

  1. 001

    Backends and APIs

    The part that keeps the product alive: logins, orders, bookings, integrations and the day-to-day workflows. REST APIs for browser clients and gRPC between internal services, with contracts in protobuf, so a changed field breaks the build rather than production. I write plainly and on clear responsibilities first - KISS and SOLID - and then model the domain complexity on top of a solid foundation.

  2. 002

    Security and GDPR

    Role-based access through Keycloak, with authentication isolated in a separate layer the browser cannot go around. I hunt for vulnerabilities in dependencies and fix them before they matter, and passwords and keys live in a secrets manager rather than files left on a server. All development and testing runs against an anonymised copy of the database, and the anonymisation routine scrubs the backups too.

  3. 003

    Data and search

    Models that survive contact with reality and migrations that do not lose rows. I index against the queries that actually run, not the ones I expected at the start. Backups every minute for the last hour, hourly for the last day, daily for the last month, monthly for the last year and yearly after that - with restores available on demand and verified every night.

  4. 004

    Cloud and monitoring

    I handle the whole deployment. Only load-balancer systems hold a public address; the application cluster and the database cluster have private addresses only and public traffic to them is blocked, with administration over VPN alone. Both clusters run across several nodes, so if one goes down the application stays up on the others. The nodes sit in data centres in different countries, for extra redundancy.

Portfolio

Six examples in production from the portfolio.

Six of the projects running right now. The screens are captures from real deployments, not renders.

001

In production

OncoSurg

Private oncological surgery clinic, Cluj-Napoca.

Two products for the same client: the public site, in seven languages, that gets the clinic found, and the internal application the day is actually run from — patients, calendar, clinical records, signed documents and messaging between doctors. The browser never talks to the API directly; between them sits a layer holding the session and the token. Every change passes nine automated stages before production.

View the projectVisit the site
Outcome
In production at a private oncological surgery clinic in Cluj-Napoca, with a public site in seven languages and an internal practice application.
Built with
GoReact 19PostgreSQL 16Kubernetesi18n · 7 limbiPDFChat

002

In beta

Remedic

A medical platform in three flavours: Cabinet, Dental and Pet.

A medical platform built as separate services talking over gRPC against protobuf contracts. Authentication goes through Keycloak with PKCE and the tokens stay on the server. The doctor builds their own consultation form, picks one of three themes, and messages patients securely. Three flavours on one core — Cabinet, Dental and Pet — with Cabinet available now, free for residents.

View the projectVisit the site
Outcome
The Cabinet flavour is in clinical beta with a Romanian practice, ahead of general release.
Built with
GogRPCprotobufKeycloakReact 19PostgreSQLICD-10DRG

003

In production

Salon-Manager

Bookings, stock, documents and money for beauty salons.

SaaS for salons where each salon is a fully isolated tenant in the database. It carries a per-technician calendar, client files with signed GDPR consent, a profit-and-loss report with per-technician commission, WhatsApp reminders with the salon’s own templates and reply-to-confirm, a native mobile app, and an appearance page where the salon sets its own theme, accent colour and interface density. Mani-Manager, live at mani-manager.ro, is the personalised instance.

View the projectVisit the site
Outcome
In production at two salons through the Mani-Manager instance, with online booking, WhatsApp reminders, financial reports and a mobile app.
Built with
GoReact 19PostgreSQLWhatsAppPDFMobileMulti-tenant

004

In production

Eventum

Invite-only seat booking for charitable events.

A booking engine for charitable events where every guest gets a personal link. Each event gets its own micro-site carrying the organiser’s logo and colours, edited from a panel with live preview. The analytics follow the road from invitation to donation and show what was pledged against what was actually collected.

View the projectVisit the site
Outcome
In production for a series of charitable events, with one concert delivered and more scheduled.
Built with
GoReact 19PostgreSQLWhatsAppSMTPCMSAnalytics

005

In production

Get Home Safe

A private ride home from events outside the city.

Guests scan a QR code and ask for a car home: no account, no password, nothing to install. The request reaches every free driver and the first to take it keeps it. Drivers get a native Android app, and the organiser gets a live panel with the roster, assignment, and a history where each ride shows its price broken down by distance and waiting time.

View the projectVisit the site
Outcome
Running at Micus Barn and one further venue, with four events delivered and more scheduled.
Built with
GoPostgreSQLWebSocketsReactFlutterOSMKubernetes

006

In production

FriendlyDent

Public site for a dental clinic in Florești, Cluj.

A static site for a dental clinic: services explained in the patient’s own words, tariffs filtered by category, and a short path to booking. No internal application, no account, no login — a presentation site has one job, and here it is done quickly.

View the projectVisit the site
Outcome
In production at friendlydent.ro as the clinic’s main site.
Built with
Next.jsTypeScriptTailwind CSSSEO

Next step

Let us find out whether it fits.

One conversation is usually enough for us both to tell.

Request a quote