Ledényi Norbert

Technology Leader · Solution Architect · Maker

Get in touch ↓

Executive Delivery Leadership

Four roles in nine and a half years, each one further from the code.

  • I run the nearshore Data and AI delivery organization at HCLTech Starschema, around 200 people, mostly working for US enterprise clients.
  • The $20M portfolio comes with it: budget, staffing, execution and the commercial negotiations.
  • I got here in steps: ten engineers first, then a unit of seventy on $7M, then the whole organization.

Enterprise Solution Architecture

The hard part of a big design is usually where it meets someone else's.

  • End-to-end programs with several architects, where the work is keeping the seams between our designs agreed for months.
  • Cloud architectures on AWS and Azure, cut into milestones a team can actually finish.
  • Making sure the sponsor sees the same picture as the engineers, early enough to still change the design.

Data Engineering & Infrastructure

Hands-on work, from a bank in London to cloud warehouses for clients.

  • ETL pipelines, data warehouses and BI platforms, from the central reporting platform at Royal Bank of Scotland to cloud migrations at Starschema.
  • Infrastructure as code and automation for builds and backend jobs, because anything I do by hand comes back six weeks later.
  • Reviewing other people's work, which teaches me more about a pipeline than writing it myself would.

AI Transformation Strategy

Working out where AI helps, as opposed to where it demos well.

  • I lead a track in our AI center of excellence and run trainings for delivery teams.
  • Measuring adoption, because it is easy to claim and harder to count.
  • Leading Data & AI delivery units that take the work from idea to production.
  • Local models on a multi-GPU homelab, plus my own skills and MCP servers.
  • Fine-tuning a small Hungarian model that Home Assistant uses to understand voice commands.

Digital Design & Fabrication

Turning a measurement into a part I can hold.

  • Parametric modeling in Fusion 360, so the part changes when a measurement does.
  • FDM printing and laser cutting today, CNC milling once the mill arrives.
  • When a design turns out useful to someone else too, it goes up on Printables.

Homelab, Automation & Apps

The one system I build where my family are the users.

  • Self-hosting: Proxmox hosts, containers and around thirty services, backed up and monitored like production.
  • Smart home and microcontrollers: boiler, ventilation, solar inverter and sprinkler valves in Home Assistant, the boiler through an ESP32 rather than the vendor cloud.
  • Apps I actually use: weather-driven irrigation, a family finance app, and Home Assistant work published on GitHub.
The Executive & Strategist

Executive Delivery Leadership

I run the nearshore Data and AI delivery organization at HCLTech Starschema, around 200 people, mostly working for US enterprise clients. I got here in steps rather than in one move: four roles in nine and a half years at the same company, through its acquisition. Ten engineers first, then a delivery unit of seventy against a $7M portfolio, now the full $20M one, with budget, staffing and execution attached. Each step moved me further from the code and closer to deciding what the teams work on. HCLTech filmed a short piece with me about that, if you would rather hear it than read it.

From ten engineers to two hundred
  1. 2017 Senior data engineer and architect hands-on
  2. 2021 Team lead and solution architect up to 10 engineers
  3. 2023 Delivery unit leader up to 70 people, $7M
  4. 2024 Head of nearshore Data & AI delivery around 200 people, $20M

I did not stop being technical on the way up. I still review architectures, and I still write code most evenings, much of it the projects further down this page. That is partly self-interest: it keeps me able to read the work rather than only hear about it.

Most of my work belongs to clients and is under NDA, so the detail on these first cards stays general. The projects on the last card are my own, which is why they get the screenshots.

The Executive & Strategist

Enterprise Solution Architecture

The deliveries I learned the most from were too big for one architect. On end-to-end programs there are several of us, and the hard part sits in the seams between our designs, and in keeping those seams agreed while months of decisions land on top of them. A lot of the role turns out to be scheduling and translation: cutting the work into milestones somebody can actually finish, and spotting where everything has started queueing behind one person. Translation mostly means the sponsor sees the same picture the team does, early, because what they know about the business usually changes the design.

I want to know how something works underneath before I believe I can improve it. The next level of optimization is usually down there. The question I end up asking is what it costs if we are wrong, and how long before we find out. On a framework we built for a Fortune 50 conglomerate, the client turned down our cheaper always-on cluster because it would have blurred the per-request numbers they were about to bill each other with. It cost more and it was the right call. Two rules, in that order: do the right thing, and do things right.

Header of the Starschema case study: Streamlined Enterprise Accounting with a Data as a Service Framework, with its practice areas, business impacts, challenges and technologies
From the published case study, archived copy.
The Technologist

Data Engineering & Infrastructure

For nearly four years in London I looked after the central BI reporting platform at Royal Bank of Scotland, the one the whole bank reported on. The reports were the visible half. The rest was keeping environments alive, and that is where I started writing automation for builds and backend jobs, because anything I did by hand (well before the AI era) I would be doing again six weeks later. At Starschema the work moved to cloud migrations, warehouses and ETL pipelines, first as the architect and engineer on client projects, later with a team of up to ten around me.

The habit I kept from those years is reviewing other people's work. Walking a developer through why a pipeline will break teaches me more about it than writing it myself would have, and the habits outlast the project. Fifteen years of consultancy also means almost every system I built belonged to someone else, ran on their data, and had to keep working after we left. That constraint shaped how I build far more than any technology choice did.

The Technologist

AI Transformation Strategy

I got hooked on this early, and a lot of what I do now is trying to get other people hooked too. I lead a track in our AI center of excellence and run trainings, and I spend most of that time with delivery teams working out where AI actually helps them as opposed to where it demos well. Some of that turned into internal process automation. Some turned into measurement, because adoption is easy to claim and harder to count. I am working through certifications myself at the same time.

I have built a multi GPU homelab to learn and explore. Four cards share one box: two Radeon AI PRO R9700s that run a mid-size language model as the house's everyday assistant, a GeForce RTX 3070 for the camera video work, and an RTX 2070 SUPER that serves the small model described below. Local models handle the things I would rather not send anywhere: object detection on the cameras, document parsing, and part of what keeps the house automated. I have written my own skills and MCP servers, and I run reviews of my own code as adversarial passes between models from different vendors, on the theory that Opus and GPT fail in different places and will catch each other.

Model training was the part I had not got to, so that is where the GPUs went next. The project I am proudest of is a small model that lets Home Assistant understand Hungarian voice commands. Home Assistant's own voice control only understands sentences that match fixed templates, and a full LLM is slow to wait for when all you asked for was a light. I fine-tuned Qwen3-1.7B with LoRA to answer thirteen questions about a command at once: what to do, to which device, in which room, now or later, and a few more, each with a probability. It does all thirteen in a single forward pass of about 40 milliseconds, and it has been the model behind our voice control since the end of September.

Most of that work was not the training. It was the data and the evaluation: generated training sets with personal details scrubbed out, test houses the model never saw during training, speech recognition noise mixed into the test sentences, and pass or fail gates fixed before each run is scored, so a nicer looking number cannot talk me into shipping a worse model. Runs train on the Radeons or over the network on a gaming PC's RTX 4080. RAG and vector databases are still on the list.

The Maker

Digital Design & Fabrication

It started with an Ender 5 that I modified until not much of the original was left, which taught me more about printers than the prints did. Then a Prusa MK3, later an MMU3 on it for multi-material, now upgraded to a MK3.5. A Core One with a Bondtech INDX is sitting in a box waiting for me to assemble it, and a Makera Z1 CNC mill is on its way. There is a K40 laser cutter and engraver too. I model in Fusion 360, parametric, so the part changes when a measurement does. When something I design turns out useful beyond my own workshop, I publish it on Printables.

During covid the printers briefly stopped being a hobby (a local TV report, in Hungarian). I printed protective face shields with a local shop, on every machine we could line up. It is still the most useful thing I have made with any of them.

What I get out of this is the same thing I get out of the AI work. Something exists only in my head, and between a parametric model and a machine that can cut or print it, I have what I need to put it in the world. The distance between wanting a part and holding it has become very short, which is probably why I keep buying machines.

The Maker

Homelab, Automation & Apps

The systems I built professionally belonged to someone else. This one is mine, and the people I live with are the users. Proxmox hosts run the containers and virtual machines, Home Assistant runs the house, and around thirty Docker services sit behind a reverse proxy with single sign-on in front of them. The parts I like most are the ones wired to physical things: the gas boiler over a wired OpenTherm link through an ESP32 rather than the vendor cloud, the ventilation unit through a CAN gateway, the solar inverter, the sprinkler valves, and cameras doing object detection on a TPU sitting on a shelf.

It is also the only place where I get to take a decision all the way through, and that is how it turned into app development. When I want something nobody sells, or that only comes with a cloud account attached, I write it. Most of it stays private because it runs on our own data, and the family app is the one piece I would honestly call production. The parts that could help somebody else are on GitHub, because if I had to write them somebody else did too. Snapshots, replication and alerting are in place because losing any of it would be a real problem at home, not because it is good practice.

A few things I built, use daily and am proud of

  • Public
  • Private, soon public
  • Private
  • ApoHome Private One app for the household, built on three pillars: the family and their health (people and pets alike), the house with its equipment, manuals, warranties and maintenance, and the family finances. All three share one set of members, documents and reminders. Written spec-first.

    Why: we were juggling Excel, Google Drive, Paperless, Homebox and Actual Budget, and none of them knew about the others.

    ApoHome family page: people, pets and upcoming health reminders ApoHome house page: equipment and maintenance
  • AquaMap Private Sprinkler heads placed on a map of the garden, coverage shown as a heatmap, and watering times worked out from evapotranspiration data, then sent to the OpenSprinkler controller.

    Why: design tools had no controller, evapotranspiration calculators had no map, and controller apps showed neither. Nothing connected the layout to the math to the valves.

    AquaMap dashboard: weather, evapotranspiration and the day's watering schedule AquaMap coverage heatmap over the garden plan, with every sprinkler head marked
  • Space Explorer Private, soon public A drill-down treemap that answers where the disk space, memory and GPU memory in the homelab actually went.

    Why: no single tool showed disk, memory and GPU memory across the whole homelab in one view.

    Space Explorer treemap of homelab storage
  • LG TV Stream Viewer Private, soon public An app for our LG TVs that shows a camera stream full screen or in a corner over live TV, started from Home Assistant.

    Why: so the doorbell camera comes up on the TV when someone rings, without anyone reaching for a phone.

    Background: Big Buck Bunny, © Blender Foundation, CC BY 3.0.

    The doorbell camera, blurred, as a corner overlay over a film playing on the TV (Big Buck Bunny, Blender Foundation, CC BY 3.0)
  • CCTV Wall Public Frigate's Birdseye camera wall as a Windows app: every camera at a glance, and a click on any tile takes it full screen. It runs on my Frigate fork, which adds hand-drawn Birdseye layouts, with fixed tile positions and sizes or a separate layout per number of active cameras, on top of Frigate's automatic packing. Code on GitHub: the wall and the Frigate fork.

    Why: Birdseye already composed the wall, but it was not clickable and its automatic layout kept moving the cameras around.

    Frigate Birdseye camera wall with an uneven ten camera layout
  • Blue Connect pool sensor Public A Home Assistant integration that reads the Blue Connect Gold pool sensor over Bluetooth, locally, with no cloud account and no vendor app. Code on GitHub.

    Why: the 2026 Blue Connect Gold speaks a new Bluetooth protocol that no existing integration understood, and the official route needs a cloud account.

    The pool sensor's device page in Home Assistant: pH and ORP gauges, temperature, salinity, conductivity and a 30 day water temperature graph
  • Journey Viewer card Public A Home Assistant dashboard card that pages through GPS trips on a map. It works with the Strava and Toyota (pytoyoda) integrations: for Toyota I wrote the trip history and route support upstream, and the Strava route service grew out of my proposal. Code on GitHub.

    Why: Home Assistant had the trip data but no card that answers "show me my last drive on a map".

    Journey Viewer card showing a sample trip on a map
  • Daily health report Private One bash script that checks the whole homelab every morning, sends the result to Telegram and email, and sets the case lighting to match.

    Why: I wanted one boring daily digest, with no daemons, databases or dashboards, that says whether anything needs my attention today.

    The daily homelab health report
  • Hungarian voice intent model Private, soon public A small language model I fine-tuned to turn Hungarian voice commands into Home Assistant decisions. It is Qwen3-1.7B with a LoRA adapter, and a single forward pass of about 35 milliseconds answers thirteen questions about a command at once: what to do, to which device, in which room and on which floor, now or later, all of it or only part, each with a calibrated probability. It plugs into Home Assistant through the HA-Jev conversation agent, behind a small server of mine that speaks the same API, and runs on the RTX 2070 SUPER. Training happens on the Radeons or on a gaming PC's RTX 4080, and every run is scored against houses the model never saw, sentences with speech recognition noise in them, and pass or fail gates fixed before the scores come in.

    Why: Home Assistant has no local voice support for Hungarian, and Hungarian word endings break the fixed sentence templates its voice control relies on.

    Demo page of the Hungarian intent model answering thirteen questions about a command
  • Local LLM stack and GPU Guard Qwen3.8-Flash-Next on the two Radeons through the Strata engine, with vLLM as the fallback on the same port. LiteLLM gives every consumer one API: Home Assistant Assist, the voice assistant that runs the house; Frigate, where a Coral TPU does the object detection on the driveway camera and the vision model describes each car arrival in Hungarian; and OpenWebUI, opencode and my work laptop. Langfuse traces every request, and a Grafana dashboard plus Telegram alerts watch the queue and the speeds. GPU Guard, in the screenshot, is my own control page: what is running on the GPU right now, the recent requests with their speeds and traces, and one-click switching of the cards between chat, image generation and training, since each of those needs all 32 GB.

    Why: I want what goes through it to stay in the house, and one GPU budget has to be shared between chat, cameras, image generation and training without them stepping on each other.

    GPU Guard: requests running on the GPU, recently completed requests with their speeds, the GPU mode switch and restart actions
About

What is the page?

This is a personal portfolio page, with a twist. The serious parts are the cards on the main page: six areas covering how I lead delivery, design systems, and what I build at home when nobody is paying me to. The rest is the twist.

The page was written by an AI, and I am not going to pretend otherwise. I described what I wanted, argued over the details, and it produced every line of HTML, CSS and JavaScript. Worth saying rather than hiding, because the page is also the demo: AI does not supply the vision, it removes the excuse. Describe the thing precisely enough, keep pushing until it is right, and you can have it. Framework-free, three files, no build step, because I asked for that.

Which is also how the games got here. A portfolio does not have to be a dry read, so there is something on it you can actually play. Top left corner there is a dropdown and an eye icon. Pick a background, click the eye (or press F), and the canvas takes over the whole screen. A couple are just ambient, the rest are real games, each one a classic bent into something from the day job:

  • Ping - Pong, except it is a TCP/IP packet bouncing between two ethernet ports until it drops.
  • Clusteroids - Asteroids, where you shoot apart a database cluster and then the tables inside it.
  • Flappy Moby - Flappy Bird with the Docker whale, swimming through a sea of containers.
  • Netscaper - the Chrome offline dinosaur, hurdling vendor logos instead of cacti.
  • Root Ninja - Fruit Ninja, except the fruit are vendor logos. Slice them.
  • Finding Neo - matrix rain, with someone hiding in it.

They want a keyboard and a big screen, so desktop is where these are actually fun. Go break my high scores.

Second opinion

What does my AI think about me?

Inspired by a Reddit post, I asked my most frequently used AI buddy to write a letter about me. Instead of just using the most recent session, I asked it to draw on the 10 biggest recent sessions. The text below is unaltered, and I left the negatives in too. (PS: I know about the /insights command, but this one is funnier.)

Get in Touch

Let's connect - find me on these platforms.