MUNKANAPLÓ / WORKLOG

Not a case study. An engineering worklog.

Finished systems hide most of the engineering work behind them. This log keeps the problems, wrong turns, fixes, trade-offs and verification steps that do not fit on a portfolio card.

103 entries14 categories2/6 page

103 of 103 entries are currently available in English. The remaining entries stay in Hungarian while translations are reviewed in batches.

18 entries ezen az pageon · 103 total

Job Search Agent2 min

An autonomous morning job digest is more than cron plus search

The morning digest became genuinely useful only when search, ranking, CRM state and follow-up work were combined into one idempotent workflow instead of another scheduled list of links.

Job Search Agent
automationagentschedulerCRM
Open entry →
Job Search Agent2 min

Job searching stays chaotic while the email inbox is the database

A major step for the agent was giving the application process its own CRM ledger, connected to Gmail and Calendar watchers, Telegram notifications and explicit next actions.

Job Search Agent
CRMGmailCalendarTelegram
Open entry →
Job Search Agent2 min

An onsite US role should not make a developer look less qualified

One ranking flaw appeared when geographic eligibility and professional fit began leaking into the same score. The system needed to answer those two questions separately.

Job Search Agent
rankingeligibilityscoringmodeling
Open entry →
Job Search Agent2 min

Keyword-based job scoring falls in love with the wrong roles too easily

Ranking v2 was born because naive keyword scoring pushed some postings to the top simply for mentioning familiar technologies even when the actual role was a poor fit.

Job Search Agent
rankingprecisionNLPjob-search
Open entry →
Job Search Agent2 min

The scraper sometimes mistook half a page for a single job description

Some ranking failures were not scoring bugs at all but data-quality problems: aggregator navigation, multiple listings and page chrome had been merged into one supposed job record.

Job Search Agent
scrapingdata-qualityrankingNo Fluff
Open entry →
Job Search Agent2 min

The LLM never saw the whole job market — only the uncertain cases left after deterministic filtering

Grounded AI requirement review deliberately ran after deterministic ranking and only on a bounded set of candidates. The LLM complemented the predictable system instead of replacing it.

Job Search Agent
LLMgroundingrankinghybrid-AI
Open entry →
Job Search Agent2 min

The AI was too eager: it turned responsibilities into must-have requirements

A requirement-review regression showed that the model could promote a responsibility into a mandatory qualification. Explicit evidence guards and a deterministic fallback were needed around it.

Job Search Agent
LLMevidenceguardrailsrequirements
Open entry →
Job Search Agent2 min

A local LLM is not slow if you do not cold-start it for every question

Ollama requirement review was paying too much latency for model startup and unnecessary reasoning. Warmup, retry logic and a structured no-thinking fast path made it practical.

Job Search Agent
Ollamalocal-LLMlatencyobservability
Open entry →
Job Search Agent2 min

An 82 match score means nothing if we cannot explain where it came from

While tuning ranking, I built a dedicated diagnostic export and AI-health tooling. The final score was not enough; the system needed to reproduce the inputs and intermediate signals behind the decision.

Job Search Agent
observabilityrankingdiagnosticsAI
Open entry →
Columbia Games WordPress site
Columbia Games · WordPress2 min

Analytics plugin updates need verification, or the measurement cannot be trusted

Updating MonsterInsights and Google Site Kit looked like routine WordPress maintenance. In reality, the tracking chain required its own verification because a silent measurement failure can remain unnoticed for days.

Columbia Games · WordPress
WordPressanalyticsGoogle Site Kittracking
Open entry →
Columbia Games commerce system
Columbia Games3 min

When hosting started working against the release process: PogoZone → DigitalOcean

Moving from PogoZone to DigitalOcean was not a simple hosting-provider switch. WordPress, commerce, data, DNS and email dependencies had to be separated while keeping production controllable and recoverable throughout the migration.

Columbia GamesDevOpsInfrastructure
DigitalOceanLinuxNginxDockermigrationproductionrollbackCI/CD
Open entry →
Columbia Games WordPress system
Columbia Games3 min

Email is not an MX record: routing, sending and authentication had to be separated

The hosting migration made email the clearest example of why treating 'mail' as one box is dangerous. Incoming addresses, application-generated transactional mail and domain authentication needed separate lifecycles.

Columbia GamesDevOpsInfrastructure
emailDNSMXSPFDKIMDMARCroutingdeliverability
Open entry →
The Last Spike Online2 min

Help the player, but do not play the game for them

Guided gameplay needed a careful boundary: explain why an action is invalid and what options are available next, without taking the strategic decision away from the player.

The Last Spike Online
UXguidanceplaytestgame-design
Open entry →
The Last Spike Online2 min

A highlight should not infer its board position from a translated label

Board highlights and the latest-track marker became stable only after identification stopped depending on localized text and on behaviour that varied across browsers.

The Last Spike Online
localizationbrowserUI-statetesting
Open entry →
The Last Spike Online2 min

One geometry system instead of three separate maps

Country-specific board coordinates were demanding more and more special-case code. We moved to a shared geometry model with validated coordinate data for each variant.

The Last Spike Online
geometryrenderingtestingarchitecture
Open entry →
The Last Spike Online2 min

We did not leave a bad asset in a 'we will fix it later' state — we reverted it

A supposedly clean USA board background turned out to be incomplete. Instead of layering compensating code on top, we reverted it and rebuilt the artwork around a layered rendering system.

The Last Spike Online
revertassetsrenderingGit
Open entry →
The Last Spike Online2 min

Grant's official track scheme became a test instead of a memory

USA tile positions were aligned to the official track scheme, then the important SVG intersections were captured in automated tests so a later layout refactor could not move them silently.

The Last Spike Online
geometrySVGtestingacceptance
Open entry →
The Last Spike Online2 min

USA and Canada should not become two separate games in the codebase

While refining tracks, rounds and the Canadian edition, the goal was to model edition differences as data instead of cloning rule branches for each country.

The Last Spike Online
variantsgame-engineconfigurationarchitecture
Open entry →