Iași, Romania · Open to remote roles, EU & US

Systems & Security Engineer designing scalable SaaS platforms.

I design production systems where complexity is bounded by intent, not accident. From security engineering work at Bitdefender to a graph-based indoor navigation platform I founded, my focus is the small set of architectural decisions that determine whether a system holds under load, scales with the team, and survives its second year.

  • NowSecurity software engineer at Bitdefender
  • BuildingMazely · Processly
  • DirectionDistributed systems & security architecture

01 · Engineering Philosophy

How I think about building software.

Systems are decisions, not technologies.

The choice of database matters less than the choice of consistency model. The framework matters less than the boundary it draws. I optimise for the small number of decisions that everything else inherits — domain model, transactional shape, failure semantics — and treat tooling as replaceable.

Production is the only honest environment.

A system isn't designed until it has run in production for a quarter. Until then it is a hypothesis. I build with that in mind: observability before features, rollout strategy before launch, and the assumption that the worst incident will happen on the worst day.

Security is a property of design, not a layer on top.

Trust boundaries, tenant isolation, secret lifecycle, blast radius — these are decided at the schema, not the firewall. My security work at Bitdefender and Aperio reinforced what my SaaS work taught me: the cheapest place to fix a vulnerability is the one before it exists.

Scale follows clarity.

Every system I have rescued from a scaling problem turned out to have a clarity problem first — implicit ownership, fuzzy contracts, mutable state where there should have been events. Make the model legible, and the bottleneck usually moves to a place you can actually fix.

Product judgment is engineering judgment.

Founding two SaaS products taught me that the most expensive engineering decision is usually building the wrong thing precisely. I write code that I am willing to delete, and I treat "we don't need this yet" as a senior-level skill.

02 · Systems I've Designed

Case studies in production system design.

Each of the systems below is presented as the engineering team would discuss it: the problem, the constraints that bounded the solution, the architectural decisions and their tradeoffs, and what I learned in production.

SaaS · Spatial systems · Multi-tenant

Mazely — Indoor navigation for institutional buildings

Founder & engineer · 2026 → present · mazely.app

Problem
Visitors get lost in hospitals, universities, and government buildings. Existing solutions require beacon hardware, app installs, and full-time maintenance — costs that exclude the buildings that need wayfinding most.
Constraints
Zero hardware deployment. No app install. Multi-tenant with strict per-building isolation. Accessibility constraints (wheelchair-only paths, restricted floors) treated as first-class. Single founder-engineer — operational simplicity is non-negotiable.
Architectural decisions
  • Graph-based spatial model with 20+ entity types and 7 connection types — paths, doors, elevators, stairs, accessibility predicates — instead of a flat coordinate system. Pathfinding becomes a constrained graph query.
  • Photo-corridor wayfinding: directional frame sequences indexed against the graph, replacing GPS or beacon trilateration. Cheap to deploy, robust indoors.
  • QR-code entry points as session bootstrap — no install, no account, but session-scoped analytics that survive page reload.
  • Server-rendered frontend (Next.js) for fast cold starts on shared kiosk devices and low-bandwidth visitor networks.
Tradeoffs
Manual photo capture is the deployment cost we accept in exchange for hardware-free operation. The graph model is more complex than a flat map, but it pays back the moment accessibility constraints, multi-floor routes, or per-tenant overrides enter the picture — which is on day one.
Stack
Next.js 15React 19TypeScriptPostgreSQLPrismaDockerMinIO
Outcome
Production platform serving institutional buildings; multi-tenant admin with RBAC, branding, analytics, and four-language i18n; ~190 source files, 60+ automated tests, ~500-line schema.
Lesson
Two weeks spent on the domain model bought a year of feature velocity. Domain modelling is leverage; the rest of the stack is tactics.

SaaS · Workflow engine · DAG execution

Processly — Visual process & project orchestration

Founder & engineer · 2026 → present · processly.app

Problem
Operations teams own repeatable processes that live in tribal knowledge or static documents. Translating them into live, observable, schedulable runs usually requires either rigid SaaS templates or a developer team — neither of which scales.
Constraints
Authors are non-technical. Process edits must not corrupt in-flight project runs. Roles, ownership, and SLAs are first-class — not bolted on. The visual editor must be the source of truth, not a UI over a hand-written DSL.
Architectural decisions
  • DAG (not state machine) as the execution model — chosen for parallel branches, clearer mental model for non-engineers, and natural support for SLAs at the step level.
  • Immutable process templates → mutable run instances. A run snapshots its template at instantiation. Editing the template never reaches in-flight runs. This single rule eliminated an entire class of "did the spec change while I was running it?" bugs.
  • React Flow visual editor as the canonical authoring surface, with live validation against the DAG invariants (no cycles, no orphan branches, all roles assigned).
  • Generation pipeline: one-click instantiation, scheduled recurrence, and a per-run state machine isolating runtime state from definition state.
Tradeoffs
Snapshotting templates per-run costs storage and adds migration complexity for "improve this step on all live runs" cases. Worth it: the alternative is unbounded coupling between definition and execution, which is the failure mode of every workflow tool I have used as a customer.
Stack
Next.js 16React 19TypeScriptPostgreSQLPrismaReact FlowRedisMinIO
Lesson
Versioning and immutability of process definitions is the single decision that separates a workflow engine from a glorified checklist. Pick the boundary first; everything else falls out.

Multi-tenant SaaS · Platform architecture

Multi-tenant SaaS platform — Enovis

Lead full-stack engineer · 2023 — 2025

Problem
Bundle four operational domains — BI, ERP, DMS, BPMS — into a single platform without each tenant clobbering the others or each domain accreting bespoke auth.
Architectural decisions
  • Shared schema, row-level tenant scoping, with RBAC enforced at the API boundary — chosen over per-tenant DBs for operational simplicity. Strict tenant isolation invariants encoded in the data layer, not the controllers.
  • NestJS module boundaries aligned to product domains, so BI and ERP could evolve at different cadences without leaking abstractions.
  • System design review introduced as a precondition for new features — the highest-leverage process change of my time on the platform.
Stack
NestJSNext.jsPostgreSQLPrismaCI/CD
Lesson
Multi-tenancy is an architectural invariant, not a feature. Once it leaks into business logic, it never fully comes out.

03 · Professional Experience

Roles, framed by the risk I removed.

  1. Iași · Hybrid

    Security Software Engineer

    Bitdefender

    Engineering on production security systems within Bitdefender's security platform. Working at the intersection of distributed systems and security, with a focus on services that scale with the trust they require. Specifics under NDA.

  2. Founder

    Founder & Engineer — Mazely

    mazely.app

    Took an indoor-navigation product from problem statement to multi-tenant production platform as a single founder-engineer. Architected the spatial graph model, photo-guided wayfinding, analytics pipeline, and admin platform — the kind of end-to-end ownership that forces every architectural decision to also be an operational one.

  3. Founder

    Founder & Engineer — Processly

    processly.app

    Designed a DAG-based workflow engine and visual authoring surface that turns operational runbooks into live, schedulable, role-aware project runs. The hard call — immutable templates, mutable runs — eliminated whole classes of failure that other workflow tools accept as inevitable.

  4. Iași · Hybrid

    Lead Full-Stack Engineer

    Enovis Software

    Drove the architecture of a multi-tenant SaaS platform spanning BI, ERP, DMS, and BPMS. Set the tenant-isolation contract, RBAC model, and CI/CD baseline; introduced system design reviews as a precondition for new features — the change with the largest compounding effect on platform stability.

  5. Remote · UK

    Security R&D Engineer

    Aperio Intelligence

    Designed and built a centralized auth platform and a payment service with end-to-end encryption, secret lifecycle management on Azure Key Vault, and least-privilege IAM. Made the cloud footprint defensible at the identity and network layer, not just at the application boundary.

  6. Iași

    Full-Stack Engineer

    Codefy Software

    Shipped client-facing web platforms in hospitality and marketplace domains, owning the full path from schema to UI. The engineering reps that built the instinct for which decisions stay in code and which need to live in the data model.

  7. Independent

    Independent Engineer

    Freelance · Web & mobile

    Delivered ten-plus client projects end-to-end across web and mobile, including apps published on Google Play and the App Store. Sole technical owner — every decision had a name attached to it, which is still the way I prefer to work.

04 · Core Expertise

Areas where I do my best work.

Technologies appear as evidence, not as identity. The expertise is in the judgment that decided when to use them.

Distributed Systems & Backend Architecture

Event-driven pipelines, partitioned consumers, idempotent processing, and the operational discipline to keep them legible. I design for the day the throughput doubles and the day the consumer crashes mid-batch.

KafkaKubernetesNode.jsNestJSPythonRedis

Security Engineering & Detection Pipelines

Detection rule design, anomaly baselines, tenant isolation, secret lifecycle, and the integration of LLM-assisted automation behind validation gates. Security as a property of design, with observability as the proof.

Detection engineeringOpenSearch / ELKAzure Key VaultRBACJWT / OAuth

SaaS Platform Design

Multi-tenant data modelling, organizational RBAC, audit trails, and the difference between tenancy as a feature versus tenancy as an invariant. Two founder-built SaaS products and a four-domain enterprise platform behind it.

PostgreSQLPrismaNext.jsReactTypeScripti18n

DevOps & Infrastructure

Container-first delivery, environment parity, CI/CD pipelines that are aware of dependency and security state, and cloud footprints that are defensible at the identity layer. Boring infrastructure in service of fast product work.

DockerKubernetesAzureVercelGitHub ActionsTeamCity

Data Modelling & Domain Design

Graph models for spatial and process domains, immutable-template / mutable-instance separations, schema evolution under live traffic. The work that decides whether the next year of features compounds or fights the model.

Graph modelsDAGsSchema designMigrations

Credentials & certifications

Education

B.Sc. Computer Science — Alexandru Ioan Cuza University, Iași (2021–2024)

Security

SOC Level 1, DevSecOps, Security Engineer, Jr Penetration Tester — TryHackMe

Data

Meta Data Analyst · Google Business Intelligence · Advanced SQL, Data Cleaning, AI Ethics (Kaggle) · Advanced Tableau (CFI)

Languages

Romanian (native) · English (C2)

05 · Selected Technical Writing

Notes on systems, in progress.

Long-form technical writing on the decisions behind the systems above — graph data models, workflow engines, detection pipelines, multi-tenant invariants. Drafts are in flight; pieces will be linked here as they ship.

  • In draft

    Why I chose a DAG, not a state machine, for Processly's workflow engine

    The case for branch-parallel execution as the authoring primitive — and the cost of admitting it.

  • In draft

    Graph spatial models in production: lessons from Mazely

    Why a 20-entity graph beat a flat coordinate map the moment accessibility constraints arrived.

  • Planned

    LLM-assisted detection rules behind a CI/CD gate

    Treating model output as untrusted input, and why detection pipelines force the discipline.

06 · Collaboration

Open to senior systems & security engineering work.

Currently selective about Staff Engineer, founding engineer, and senior systems / security roles — remote, EU or US time zones. Open to advisory conversations on multi-tenant SaaS architecture and detection pipelines.