Alex Batten, Freelance .NET & Full-Stack Engineer in Denmark

Hi, I'm Alex, a software engineer in Denmark with a BEng in Software Technology from DTU. Most of my work is C# and .NET: backend services, REST APIs, and enterprise integrations.

Available for new freelance and contract work: .NET and full-stack web applications, REST APIs, enterprise and tax-authority integrations (SKAT, SAF-T, NemHandel/Peppol), Stripe billing, and AI features, remote across the EU on CET. Email alex.batten1234@gmail.com or send a brief through the form on this site. The full CV also answers frequently asked questions about availability, stack, and how to start a project.

Experience

Senior Software Engineer, AI Infrastructure at Alignerr (Contract, signed 2026, not yet started)

Signed contract, first assignment still pending. The agreed scope is the infrastructure behind AI training, evaluation, and deployment pipelines, in Python and TypeScript. Stack: Python, TypeScript.

AI Engineer & Co-Owner at Acconta (2026–Present)

Building production microservices for a multi-tenant Danish bookkeeping SaaS in ASP.NET Core and EF Core on .NET Aspire, with OpenAPI/NSwag generated typed clients, and working on the Azure deployment. Moving six services onto a common base for startup, auth, validation, and error handling. Implementing Danish tax compliance: VAT reporting to SKAT via the NemVirksomhed (RSU) SOAP interface with WS-Security signing, computing all 17 VAT return fields, plus SAF-T import with schema validation and SAF-T export ahead of the 2027 audit-file mandate. Owning Stripe billing end to end: subscriptions and seat logic (proration, credits, plan switching, yearly plans, webhooks, secret hardening), plus a subscription flow prototype in the Next.js client. Building standalone integrations for daily currency rates (National Bank) and CVR company data (Danish Business Authority). Leading e-invoicing over NemHandel (OIOUBL, Peppol BIS), turning the Bookkeeping Act and the Business Authority's requirements into implementation specs, writing technical decision papers, and reviewing much of the team's code. Stack: C#, .NET Aspire, ASP.NET Core, Entity Framework, Microservices, Azure, Stripe, Next.js, NemHandel.

Generalist Danish Annotator at Mercor (Contract, 2026–Present)

Writing prompts in natural Danish on topics of general interest and annotating how AI models respond to them. The annotations point out errors in the responses, including errors in their Danish. The finished work becomes training data for large language models. Skills: Data Annotation, Danish Language, Prompt Writing, LLM Training Data.

Generalist Expert, AI Evaluation at Mercor (Contract, 2026–Present)

Evaluating AI model outputs against structured evaluation guidelines and writing the rationale behind every judgment. The work is close reading: checking a response for factual accuracy, sound reasoning, instruction following, and tone, then stating precisely where it holds up and where it breaks down, with evidence. Applying the same standard consistently across a wide range of subject areas so that assessments stay comparable between reviewers. Skills: AI Evaluation, LLM Outputs, Structured Feedback, Technical Writing.

AI Data Annotator at Outlier (2025–Present)

Contributed to advanced AI model development through data annotation, prompt engineering, trajectory refinement, and QA across projects including Clutch Zayu, Maraca Camera, Mechanic Astrologer, and Meter Pavilion (OpenClaw). Crafted system prompts defining model behavior and constraints, and designed single and multi-turn conversational and agentic datasets spanning 50+ risk categories including bias, misinformation, privacy, and safety. Built autonomous agent trajectories exercising skill discovery, memory, long-horizon context, and native tools (cron, sub-agent delegation). Served as both author and reviewer on Mechanic Astrologer. Skills: AI/ML, Prompt Engineering, Agentic AI, Data Annotation.

Software Development Intern at IT Operators / Simple Agency Group (2024)

Developed REST APIs with auth, rate limiting, and monitoring. Built fullstack web apps with Angular, .NET, and Bootstrap, including JWT auth, real-time dashboards, and automated reporting. Migrated an in-house ERP's time representation from quarter hours to minutes across every display, estimate and report field, then rebuilt the billing review on top of it so a task worked by employees from more than one group billed under each of those groups instead of one. Validated the rebuilt invoicing screen by reconciling a full month of billing data against what had actually been invoiced.

Projects

Accelo to Business Central integration (Bachelor Project)

Fullstack application bridging two enterprise platforms, transferring and reviewing time registrations from Accelo (PSA) into Microsoft Business Central (ERP). Custom review UI, MSSQL data model, multi-tenant authentication via Microsoft Entra ID, containerized with Docker in a Jenkins CI/CD pipeline, with unit and Selenium integration tests.

Custom REST API for Uno X (Client: ISTOBAL)

Custom API for ISTOBAL (car wash manufacturer) serving operational data to Uno X (Nordic fuel station chain), with token-based authentication and rate limiting with automated email alerts.

Automated SMS alert system (Client: Eye4u)

Extended a customer monitoring portal with automated SMS notifications triggered by medicine cooler temperature deviations across a sensor network. Added an adjustable pre-alarm tier that warns by SMS and email without raising an incident, with suppression logic so a sensor sitting outside its threshold does not re-notify on every check. Built as a multi-tenant module, each customer with their own sensor configuration and alert thresholds.

Internal portal (Client: Dexa Bodyscan)

Built the initial web application for a body-scan clinic's internal portal, from an empty repository to a working authenticated application in eight working days: project scaffold, Dockerfile, DNS record, SSL certificate, MySQL schema, Entity Framework contexts, JWT login, salted password hashing, role-gated pages, and password reset from an email link.

Internal Monitoring Dashboards (IT Operators)

Real-time dashboards deployed on Raspberry Pis for office TV screens, monitoring time registrations and cron job health.

External API integrations, TIMEVAT

Integrated the EU VIES API for VAT number validation and the Danish National Bank API for currency exchange rates into a VAT compliance platform.

Invarix Guard

A plug-and-play AI safety library for .NET, shipped as a NuGet package (Invarix.Guard). Covers prompt injection, PII, and content safety so apps can add guardrails in a few lines of code. Website: invarix.dk. NuGet: nuget.org/packages/Invarix.Guard.

Invarix Guard Evidence

A free .NET library (Invarix.Guard.Evidence), licensed under Elastic License 2.0, that records AI decisions as an append-only audit trail. Each decision is stored as a CloudEvents event keyed on SHA-256 hashes rather than the prompt text. Batches are sealed into an RFC 6962 Merkle tree and signed with the customer's own Ed25519 key, so an auditor can prove no record changed after sealing using standard Certificate Transparency tooling. Includes retention with legal holds, signed deletion certificates, and a streaming export endpoint. Runs fully in process with no outbound calls. Website: invarix.dk. NuGet: nuget.org/packages/Invarix.Guard.Evidence.

Invarix Gate

A deterministic action firewall for AI agents, shipped as a NuGet package (Invarix.Gate). It sits in front of an agent's tool calls and evaluates each one against a policy before it runs, returning allow, warn, escalate, deny, or terminate. Ten detectors cover destructive SQL, shell commands, git history rewrites, cloud teardown, credential egress, and runaway loops, each grounded in a dated public incident. Matching is pure CPU pattern work with no model call, so a verdict lands in a median of 57 µs and is deterministic under a given policy. Policy is authored in YAML or fluent C#, attaches through Microsoft.Extensions.AI and Microsoft Agent Framework, and reports the surfaces it cannot see rather than rendering a clean run. Ships with a 194 scenario policy corpus where roughly half the cases assert a detector stays quiet. Website: invarix.dk. NuGet: nuget.org/packages/Invarix.Gate.

Hemi-Sync Guided Meditation App (paused)

A concept app for generating customizable guided meditations using AI-driven text-to-speech layered with Hemi-Sync binaural beats, built in React Native for iOS and Android.

Distortion VST Plugin

An audio distortion plugin with bitcrushing built with the JUCE framework (C++), compatible with most DAWs as a VST.

Lab: writing and notes

Unfinished ideas, and things I wish someone had written down before I needed them. Notes are short and about one thing. Posts are longer. Some of it is meant for you to take and build. Nothing published yet.

Skills & Tools

Languages: C#, C++, Java, TypeScript, JavaScript, Kotlin, SQL.

Frameworks & Libraries: ASP.NET Core, Entity Framework, Angular, .NET, .NET Aspire, Next.js, React Native, Bootstrap, JUCE.

Concepts & Practices: REST APIs, System Design, Distributed Systems, Agile/Scrum, CI/CD, JWT Auth, Docker.

Other: Git, Claude Code, ERP Systems, Multi-tenant SaaS, SAF-T, Audio Engineering.

Education

BEng Software Technology, Technical University of Denmark (DTU), 2021–2025

Electives in Computer Graphics, Rendering, C++ Programming, and Engineering Economics. Bachelor's project: an integration between two ERP systems built from scratch. GPA: 7.62 (Danish 7-point scale).

Recommendations

Mike Valencia, CEO at Simple Agency Group

Wrote about Alex Batten’s work at Simple Agency Group. View the post on LinkedIn.

Erik Seifert

Endorsed Alex Batten for C#, .NET Framework, and Entity Framework (EF) Core.

Freelance & Project Requests

Available for new freelance and contract work. Email alex.batten1234@gmail.com or send a brief through the request form on this site. The work I take is .NET and full-stack web applications, REST APIs, enterprise and tax-authority integrations (SKAT, SAF-T, NemHandel/Peppol), Stripe billing, and AI features, remote across the EU on CET. Project requests get a reply within a couple of days.

Contact

Email: alex.batten1234@gmail.com. GitHub: github.com/AlexBatten. LinkedIn: Alex Batten. Live chat is also available on this site.

Privacy

secrets

↓

there's more beneath the surface. the page doesn't end where you think it does.

~

what goes down doesn't always have to stay down. sometimes a single letter changes everything.

☎︎

on a small screen, the world bends to your hand. try shifting your perspective, literally.

click a ball to explore, drag to play

01 About
02 Experience
03 Projects
04 Skills
05 Education
06 Recs
07 Hire
08 Lab
Chat