greifiks.org

Systems & Software

The same hands that fair a hull also harden a server.

I fix what's actually broken — a DNS resolver leaking your browsing to three ad networks, a spreadsheet somebody's still updating by hand, a server nobody's backed up in a year. Trade skill and systems skill, same standard: it has to still work after I've left.

Jobs I take on

Fixed price, scoped in one message. If yours doesn't fit exactly, describe it — most systems problems are a variation on one of these.

01 — NETWORK

Private DNS & security setup

A local resolver that blocks ads and trackers at the DNS level, validates every response cryptographically, and updates its own blocklist without you touching it again.

Shipped: dnsmasq + DNSSEC, verified against a live SERVFAIL test, this week.
02 — INTEGRATION

Automate the copy-paste

If someone's manually moving data between a website, a spreadsheet, and an external API — that's a script, not a recurring chore.

Shipped: a live service merging two national legal-data APIs, with automatic failure isolation between sources.
03 — INFRASTRUCTURE

Server setup & hardening

A Linux server that's firewalled, backed up on a schedule, SSH-locked, and running under supervision that restarts itself instead of paging you.

Shipped: this week's own machine — firewall reviewed, auto-restart confirmed, weekly maintenance timer installed.
04 — AUDIT

Website technical audit

Broken links, missing accessibility basics, no sitemap, missing structured data — the unglamorous things that quietly cost a site traffic and trust. Found and fixed, not just listed in a report.

Shipped: this exact audit on this site, today — a real contrast-ratio bug found and fixed, sitemap/robots.txt added, structured data added.
05 — BACKUP

Automated backup, actually scheduled

A backup that runs on a timer without you remembering to trigger it, with a sane retention policy — not just a folder called "backup_final_v2" someone copies by hand once a year.

Shipped: this site's own DNS blocklist and mail index both run on unattended systemd timers, same pattern applied to backups.
06 — BOOKING

Booking automation

A booking request comes in, gets checked against existing bookings for conflicts, and — if free — a calendar invite goes out automatically. No double-bookings, no manual back-and-forth.

Shipped: a real conflict-checking booking script that emails a working .ics calendar file on confirmation, tested end-to-end.
07 — WEBSITE

Custom-built websites

Hand-coded, not templated — custom design, working contact/booking forms, real technical SEO from day one. Sites backed by an actual API when static pages aren't enough. Not e-commerce, not a CMS platform, not login-driven web apps — scoped honestly, not oversold.

Shipped: this site (greifiks.org) — custom illustrations, animation, multi-language support, working forms, all hand-built. See the actual project questionnaire →

Recent, verifiable work

A log, not a highlight reel. Dated, and confirmed working before it's listed here.

2026-07-12
Legal-data monitoring API — async adapters for two national/EU legal databases
Python · FastAPI
2026-07-12
DNS filtering + DNSSEC — 85,000+ domains blocked, cryptographic validation confirmed
Linux · systemd
2026-07-13
Mail search infrastructure — indexed search across 22,000+ messages, replacing ad-hoc scans
notmuch

Describe the problem. I'll send a number back same day.

Based in Sandvika/Nesodden — remote work anywhere.

Mantas Pagalys · WAK943 · FJELL · The Sea Keeps Giving