1. Scope
Pick the exact job: answer from documents, draft reports, recommend actions, automate steps, or support admins.
I build RAG assistants, embeddings/vector search, document ingestion, AI reports, recommender flows, and the SaaS layer around them.
Useful AI, connected to real data, shipped with auth, billing, audit logs, tests, and deployment.
Value
One owner across product, frontend, backend, AI, and release.
How
Short scope, AI-assisted build loops, direct updates, and targeted tests.
Outcome
A working flow users can test, teams can sell, and engineers can maintain.
Clear offers with a concrete shipped result.
A testable AI feature: RAG chat, vector search, document Q&A, report generator, recommender, or agent workflow.
The SaaS layer around the feature: onboarding, auth, roles, billing, admin views, API, database, and release.
Make an AI flow more useful: embeddings, retrieval quality, prompts, streaming UX, empty states, errors, and trust signals.
Multi-provider routing, cost tracking, audit logs, AI governance checks, eval cases, tests, CI/CD, and handover.
The practical upside of working with me.
Concrete AI output: answers, recommendations, generated reports, completed tasks, or admin decisions.
AI connected to product data, documents, embeddings, permissions, users, billing, and workflows.
Measurable delivery: fewer manual steps, faster support/admin work, better retrieval quality, shorter time to MVP, or clearer conversion flow.
Cleaner handover with prompts, tests, decisions, and code another engineer can continue from.
Relevant work, not filler.
An AI-powered resilience and crisis preparedness platform for housing associations and organizations. I am the sole engineer in a three-person team, building the pre-launch platform alongside full-time work at Scania. My work spans the React and TypeScript product, APIs, PostgreSQL, AI orchestration, workflow automation, testing, CI/CD and hosted development environments.
Swedish-first, client-side PII redaction for browser, Node.js, edge and AI workflows. Names, personnummer and addresses are masked before text reaches an LLM, logs or analytics. The public pre-release includes npm packages and the joelhagvall/maskera-sv-ner model on Hugging Face; the source repository will open with the formal open-source launch planned for August 2026. Its local-first architecture combines deterministic rules for structured PII with an approximately 43 MB q4 ONNX model running through Transformers.js and WebGPU/WASM.
A simple, privacy-focused web app that helps Swedish citizens exercise their GDPR Article 17 right to erasure by sending deletion requests to Swedish data brokers like MrKoll, Ratsit, and others. Built with Next.js and hosted on Vercel, operating entirely client-side with no server data transmission. My LinkedIn post about this project received 2k+ likes and 200k+ views with overwhelmingly positive feedback.
Short, direct, and built for delivery.
Pick the exact job: answer from documents, draft reports, recommend actions, automate steps, or support admins.
Connect ingestion, embeddings, retrieval, model calls, UI, permissions, logging, fallbacks, and the SaaS flow.
Deploy it, test real cases, check cost and failure modes, then hand over the next useful iteration.
High-ticket work closes on calls. Calendly is the main path, email is the backup.
Pick a time and we will map the outcome, scope, timeline, and first useful ship.
Use email if you are not ready to book yet or want to send context first.