Experience

Red Alert Labs

Full-stack Software Engineer | Aug 2023 - Present

At Red Alert Labs, I work on a platform for cybersecurity certification of IoT devices. Labs and vendors use it to go through the certification process, across many different schemes that keep changing over time.

Configuration-Driven Form Engine

My main work here is a form engine that generates multi-step certification workflows from JSON schemas.

The Problem: Every certification scheme has dozens of forms, and they change over time. Adding a new scheme used to take 3-4 weeks of back-and-forth between engineers and our cybersecurity specialist.

The Solution: Forms are now described in JSON files, and the engine reads them on both the frontend and the backend to build the workflow. It supports:

  • Conditional logic, so fields can be hidden, disabled, or validated based on other answers
  • Multi-step flows with validation
  • Form state that stays in sync between frontend and backend
  • Changes to a scheme without any code changes

The Result: The specialist can now add a new scheme alone in about 10 hours. Engineers are free to work on other things. The engine powers 25+ certification schemes and has supported 5,000+ issued certificates in production.

Technologies: React, TypeScript, Node.js, PostgreSQL

AI Assistant

I integrated a third-party AI solution and used it to build an assistant that guides users through the certification forms. It runs on a partner’s multi-tenant, retrieval-based AI platform and is live in production.

I built the Node.js layer between our app and that platform. For every request it works out the user, workspace, product, and certification scheme, then sends the query to the right knowledge base, so data stays separate between tenants. Answers stream back over WebSocket right into the certification flow.

Technologies: Node.js, TypeScript, WebSockets

Caching & Performance

I added a client-side caching layer with TanStack Query (React Query), using a structured key hierarchy. This removed a lot of repeated API requests across the certification workflow and made the heavily nested form steps load faster.

I also worked on cutting unnecessary re-renders in React components, and built a shared core npm library that we use across multiple projects.

Team & Ownership

I’m one of three engineers on a small cross-functional team. I own the frontend architecture decisions, write the specs, and take features from spec to production.

Q agency

Lead Software Engineer & Project Lead | Apr 2022 - Aug 2023

At Q agency, I worked on several client projects. My main focus was the Ferrari Beverly Hills web app, and I also worked on a hotel booking platform and on internal tooling.

Ferrari Beverly Hills Web App

I led development of the new Ferrari Beverly Hills web app. It was an 8-month project, and we delivered it on time and on budget.

Discovery: I joined in the discovery phase and helped with effort estimates and scoping. We worked directly with the client, who was also the designer, and chose Next.js with TypeScript for the frontend and Strapi as the CMS.

What I Built:

  • Vehicle inventory with search and filters, covering 150+ pre-owned listings and 20+ new models
  • A national registry of 38,000+ Ferraris registered in the US
  • Event and editorial systems with 300+ dealership events and an articles feed, all editable by non-technical content owners
  • A customer forum where Ferrari owners and fans talk about cars and events
  • User accounts with registration, login, and profiles

Performance: The app has a lot of large images, and for a luxury brand it had to feel fast. I worked on code splitting and lazy loading, image optimization, and using React.memo, useMemo, and useCallback where they helped.

Leading the Team: I managed a team of 4 developers, did sprint planning and estimates, and ran weekly demos with the client. I worked closely with the project manager and the backend lead, and drove the project through to production.

Technologies: Next.js, TypeScript, Strapi, React

Hotel Booking Platform

I worked on a white-label hotel booking platform for Numa, a company that runs apartment properties in cities around the world. I was on the project for about 3 months, working on the frontend with React, Next.js, and TypeScript.

Internal CLI Tooling

Between client projects, I improved our internal CLI tool for starting new projects. It let developers remove the dependencies and modules they didn’t need, so each new project started from a cleaner base.

NetCast

Frontend / Mobile Developer | Nov 2018 - Apr 2022

NetCast is where I started my career. I worked on an OTT video streaming product, which delivered live TV, recordings, and movies over the internet to browsers, phones, and tablets.

Web & Mobile Apps

I built a React web app and a React Native mobile app (iOS and Android, phone and tablet). Both used a shared library with data-fetching hooks, cache key conventions, configuration, and common utilities, so the apps behaved the same on every platform. The apps included:

  • 300+ live TV channels, with 7 days of past recordings and 3 days of upcoming program schedule
  • An on-demand library of around 1,000 movies
  • Login and user profiles
  • Watchlists and viewing history
  • Search
  • Playback controls and quality settings

Multitenancy

I designed the multitenancy setup that powered 5 white-label clients from a single codebase, including a sports streaming service with 5,000+ users. Each client had its own branding, content library, users, and configuration, so adding a new client didn’t mean building a new app.

Admin Tools

I also built the admin tools that operators used to manage tenants, content, and live streams:

CRM: Managing users, subscriptions, and support tickets.

CMS: Publishing and organizing TV shows, movies, live channels, schedules, and metadata.

Statistics Dashboard: A real-time view of concurrent users, popular content, system performance, and subscription revenue.

Performance

List Virtualization: The channel guide and content catalog had hundreds or thousands of items. I added virtualized lists with precomputed item layouts, memoized rows, and tuned render windows, which reduced frame drops on low-end devices.

Caching: I added client-side caching for data that users loaded often. This cut down on API calls and made the app load faster for returning users.

Technologies: React, React Native, JavaScript

Personal Projects

Personal project

SVG Studio

A conversational workspace for creating and editing SVG artwork. I built the streaming React interface, tool-calling agents with Vercel AI SDK and OpenAI, and hybrid RAG using pgvector. Layered guardrails validate requests and SVG output, while a Braintrust evaluation harness combines deterministic checks with a vision-based LLM-as-a-judge. The app includes saved conversations and public result links.

Technologies: TypeScript, Next.js, OpenAI, Vercel AI SDK, PostgreSQL/pgvector

HabitStars

An offline habit tracker for iOS where you scratch a star each time you complete a habit. I built the React Native/Expo app with Zustand, versioned local persistence and schema migrations, and managed its App Store releases through EAS.

Technologies: React Native, Expo, TypeScript, Zustand

Download on the App Store

Education

Metropolitan University

Bachelor of Science in Software Engineering

2016 - 2020

Faculty of Information Technology

Skills & Expertise

Frontend & Mobile

  • React
  • React Native
  • Expo
  • Next.js
  • TypeScript
  • JavaScript
  • HTML & CSS
  • Tailwind CSS
  • TanStack Query
  • Zustand

Backend & Data

  • Node.js
  • PostgreSQL
  • Neon
  • pgvector
  • Drizzle ORM
  • REST APIs
  • WebSockets
  • Authentication and authorization

AI Tools

  • Vercel AI SDK
  • OpenAI API
  • Braintrust
  • Zod
  • Tavily

AI Engineering

  • Tool calling
  • Structured outputs
  • Semantic routing
  • Hybrid RAG
  • Embeddings
  • Semantic search
  • Reciprocal rank fusion (RRF)
  • Guardrails
  • Context management
  • LLM-as-a-judge
  • Evaluation and observability

Specializations

  • Configuration-driven systems
  • Performance optimization
  • Client-side caching
  • Multitenancy architecture
  • Cross-platform mobile development
  • Streaming interfaces

Tools & Practices

  • Product-minded
  • Sprint planning
  • Git
  • Code review
  • Client communication