Work
A selection of real projects — optimization, automation, and system integration for Icelandic payroll, scheduling, and data.
Several of these are the same underlying skill — turning a business problem into a mathematical model. How I think
Visitor scheduling optimization — ~500 people, 8 hotels
Problem
Place ~500 visitors (in fixed groups of 1–8, never split) arriving over two weeks across 8 hotels onto day tours by bus, honoring each group's availability and ranked tour preferences while filling buses well and minimizing pickup stops.
Solution
First an Excel-VBA control panel for manual scenario-building; then a Python/pandas engine that generated every feasible day-combination, assigned groups to buses (priority → hotel → group-size sort, keeping groups intact), and produced thousands of complete schedules compared on bus fill, preference satisfaction, and stop count.
Result / stack
Thousands of candidate schedules auto-compared to pick the best. Python, pandas, Excel-VBA.
Real-time flight-arrival monitor & airport-transfer optimization
Problem
Coordinate airport pickups (a fleet of six minibuses + chartered coaches) for guests on many different flights, minimizing both cost and wait time at Keflavík.
Solution
A Python service polling Keflavík arrivals every 5 minutes against expected arrivals in a database; containerized with Docker and deployed to AWS via Terraform so the data was browser-accessible; a transfer-optimization routine balancing cost against wait time.
Result / stack
Live, cloud-hosted arrival tracking + cost-optimized transfers. Python, Docker, AWS, Terraform.
Icelandic payroll automation ("the bridge")
Problem
DK / H3 / Business Central are rigid: validations like proportional holiday pay, sick-leave limits, or unusual overtime still have to be checked by hand, which stretches out the monthly close. Asking the vendor to add one validation is costly — a single change in a large system means preserving backward compatibility for every other client.
Solution
I build an API — a set of Python algorithms tailored to the company's specific validations — delivered as a separate microservice alongside the existing system. It pulls shift data from any source (Excel, Azure SQL), applies the client's union agreements and shift codes, validates sick-leave limits / overtime / bonuses against 12 months of history, and emits import-ready files for DK or H3. Adding or changing a validation is a light edit to a standalone service, with no backward-compatibility risk to the core system — so it suits large firms on Advania/Origo as much as SMEs. The existing system stays untouched.
Result / stack
Manual validations replaced by repeatable algorithms; the time saved scales with headcount and the number of automated validations. Python (pandas), Azure SQL, ETL pipelines; exports for Business Central / DK / H3.
Workforce scheduling optimizer (CP-SAT)
Problem
Match staffing to demand across shift patterns without getting stuck in a greedy heuristic's local optimum — and let employers encode their own union rules without paying a vendor for every change.
Solution
A CP-SAT (OR-Tools) optimizer that finds the proven-optimal assignment of employee shift patterns to demand; the employer defines the patterns, so union rules are built in from the start. Includes an optional minimum-staffing floor with slack so the solver never refuses to return a schedule.
Result / stack
Proven-optimal schedules in seconds. Python, OR-Tools CP-SAT, FastAPI.
AL ↔ Azure Functions ↔ Business Central integration
Problem
Business Central can't run heavy custom payroll logic well, and bespoke ERP modifications are expensive.
Solution
An AL extension with a button that calls an Azure Python Function, offloading heavy computation to Python and returning a clean result into Business Central — bringing advanced logic to companies that can't afford large ERP consultancies.
Result / stack
Heavy compute in Python, clean result back in the ERP. AL, Azure Functions, Business Central, Python.
Each project leaves room for a future metric or reference. New collaborations carry risk for an employer, so I'm happy to take on a paid trial assignment first — a small, real piece of work you can evaluate before committing.
More about me