Software and servers you can verify.

I'm Roy Hagland, based in A Coruña, Galicia. I build custom software and websites for small and medium businesses in Spain and the UK, and I run the servers, DNS and security underneath them.

25+years in IT
45merged pull requests in open source projects
7public websites hosted
2,800automated tests across the My Fire portal and my DNS server

Custom software

Web apps, client portals and internal tools that replace spreadsheets and manual steps, built to fit your process.

Content management systems

Websites your team can edit themselves, so everyday changes do not need a developer.

Hosting, DNS and security

Secure hosting, DNS and ongoing support, so what gets built stays up and stays safe.

Built, deployed and running for real users.

Each of these is live. Where a system is private I describe what it does without exposing how it is run.

myfire.co.uk
The My Fire Safety website home page
portal sign in
The My Fire Safety portal sign in page

My Fire Safety: staff portal and website

Portal and CMS

A full staff portal for a UK fire safety company, plus a new public website. Job scheduling, holiday booking with clash warnings, role based permissions by department, in app notifications, and a blog editor that publishes straight to the public site. Website enquiries arrive in the portal through a protected form.

  • .NET
  • C#
  • Role based access
  • Static site generation
  • 463 automated tests
Visit myfire.co.uk

The portal is staff only, so there is no public login.

dashboard
The QuietRootDNS admin dashboard showing query statistics

QuietRootDNS

DNS server

A DNS server I wrote from scratch in C#, for Windows and Linux. It resolves recursively from the root servers or forwards to upstream resolvers, and it can host your own zones too.

  • Validates DNSSEC, and signs your zones with RSA, ECDSA, Ed25519 or post quantum ML-DSA keys, with automatic renewal and key rollover
  • Forwards over UDP, TCP, DNS over TLS, DNS over HTTPS and DNS over QUIC, with failover and forwarder health checks
  • Blocks ads and trackers with rules per network, and records every query in a log
  • Live console in nine languages, with roles and a matching API
  • .NET
  • C#
  • DNSSEC
  • DoT
  • DoH
  • DoQ
  • SQLite
  • 2,337 tests

RJB Group: websites and staff portal

Websites and portal

A website in three parts for a cleaning and removals company: a home page, one section for removals and one for cleaning. Quote request forms email the business, plus a staff management portal covering invoices, staff, vehicles and reports. Staff email runs on webmail styled to match the brand.

  • Node.js
  • Express
  • PHP
  • Invoicing
  • Business email
Visit rjb-group.co.uk

The portal is staff only.

rjb-group.co.uk
The RJB Group home page
rjb-group.co.uk/removals
The RJB Group removals page
rjb-group.co.uk/cleaning
The RJB Group cleaning page
portal sign in
The RJB Group portal sign in page
webmail sign in
The RJB Group webmail sign in page, styled to match the brand

The staff side: the portal and webmail sign in pages, both styled to match the brand. Staff only.

events
The Phoenix Running Cambs portal events page

Phoenix Running Cambs

Web portal

A mobile friendly portal that replaced a running club's Excel attendee tracker, with attendance and loyalty stats and separate club and admin accounts.

  • Node.js
  • Express
  • PostgreSQL

Members only.

itriedareboot.com
The itriedareboot.com home page

itriedareboot.com

Bilingual blog

An IT knowledge blog on Active Directory, DNS, firewalls and Kerberos, written in two languages, with its own admin editor.

  • Next.js
  • TypeScript
  • Two languages
  • Admin editor
Visit itriedareboot.com

Secure hosting and networking

Infrastructure

The platform under all of the above: secure web hosting, DNS, certificates and monitoring, run on my own servers and kept up to date.

  • Seven public websites hosted and kept online, for clients and for my own projects, plus business email
  • Strict security headers on every site, which you can check yourself below
  • Automatic TLS certificates that renew themselves
  • Two name servers of my own, with DNSSEC signed zones so lookups are validated end to end
  • Automatic blocking of scanners and abusive traffic
  • Linux
  • Web hosting
  • DNS
  • DNSSEC
  • Certificates
  • Monitoring

This page backs up its own claims.

No trackers and no third party scripts, with strict security headers. Run this in any terminal. These are selected headers from this site's own response, refreshed every few minutes.

$ curl -sI https://www.roycrosoft.comHTTP/1.1 200 OKContent-Security-Policy: default-src 'none'; script-src 'self'; connect-src 'self'; style-src 'unsafe-inline'; font-src 'self'; img-src 'self'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'Permissions-Policy: camera=(), microphone=(), geolocation=()Referrer-Policy: strict-origin-when-cross-originStrict-Transport-Security: max-age=31536000X-Content-Type-Options: nosniff# selected headers, captured 2026-11-03 

Toolbox

Build

.NET and C#
Node.js and Express
Next.js and TypeScript
PHP

Data

PostgreSQL
SQLite
Static site generation
CMS workflows

Run

Linux
Web hosting
DNS and DNSSEC
Active Directory and Entra ID

Roy Hagland

One person, from code to server.

I'm Roy Hagland, a software developer and IT specialist based in A Coruña, Galicia, Spain, working with clients in Spain and the UK. I write the software and I also run the servers, DNS and security it sits on, so there is one person to talk to and nobody to pass a problem on to.

I work as a permanent contractor for My Fire Safety, a UK fire safety company, as its IT Director. I rebuilt its public website, which is now live, and I am rolling out the staff portal I built for it. Behind that are more than 25 years in IT. Before moving into software full time I was a Partner Technical Advisor at Microsoft for networking in EMEA, directing a team of more than 80 across three international sites, and before that a technical leader for networking at Concentrix, working Microsoft's most complex customer escalations across Active Directory, DNS and hybrid identity with Entra ID.

I also contribute to open source. More than 40 of my pull requests have been merged into two projects: Technitium DNS Server, including LDAP and Active Directory sign in, and Ultimate CA Manager, a self hosted certificate authority maintained by NeySlim, where I added Windows autoenrollment and Microsoft Intune SCEP support among other fixes and features.

I work in English. My Spanish is working rather than fluent, so for anything detailed I use translation tools.

Plain HTML, CSS and a little JavaScript.

The page itself is about 51 KB, plus a few screenshots. No frameworks, no libraries, no trackers. A small script drives the live DNS panel and the card tilt. The only cookie is a language preference, and it is set only if you use the language link.

  • CSS grid
  • variable font
  • scroll driven animation
  • view timelines
  • CSS masks
  • color-mix()
  • backdrop blur
  • inline SVG
  • vanilla JavaScript
  • fetch API
  • reduced motion aware

Have something in mind?

Send a short description and I will reply with a quote.

roy.hagland@outlook.com