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.
A three-person venture needed one engineer to turn the product concept into a testable pre-launch platform.
I own the React and TypeScript product, APIs, PostgreSQL data layer, and AI orchestration. I also own workflow automation, tests, continuous integration, delivery, and hosted development environments.
I am the sole engineer and work across product decisions, implementation, and release preparation.
Local redaction of Swedish personally identifiable information for browser, Node.js, edge, and AI workflows.
Teams risk sending names, Swedish personal identity numbers, and addresses to LLMs, logs, and analytics.
I combined deterministic rules with an approximately 43 MB quantized ONNX model that runs locally through Transformers.js with WebGPU or WASM.
Launched as open source in August 2026 with a live demo, npm package, and Hugging Face model. maskera.devnpm
Hugging Face
A privacy-focused web app that helps Swedish citizens send General Data Protection Regulation (GDPR) Article 17 deletion requests.
Requesting deletion from several data brokers requires finding each process and writing repetitive requests.
I built a client-side Next.js app that prepares each request without sending personal data to a server.
Föreningen för Digitala Fri- och Rättigheter (DFRI), a Swedish nonprofit and nonpartisan digital rights association, links to Data Wipe Mailer in its privacy guide as a way to open deletion-request templates in your email app.
DFRI
Reddit users reported trying the tool, thanked me for building it, and described it as useful. One user received several automated responses within three minutes. Reddit
A Reddit user later shared the tool independently as a reminder to delete personal data from people-search sites. Reddit
The LinkedIn launch post reached 200,000+ views and generated 2,300+ reactions and 168 comments. LinkedIn
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.