Tielemans SoftwareAalborg, Denmark

Catalogue No. 1Autumn 20268 entries

Tielemans Software makes small, sharp software for the problems Danish companies actually have.

One person, in Aalborg. Read the letter.

The catalogue

No.NameWhat it doesKind
01SporlockFinds CPR numbers in company filesProduct
02LønbåndShows the pay gap in your own pay categoriesProduct
03WhenproofDated evidence for the Cyber Resilience ActProduct
04QuitsAgreements and invoices for freelancersProduct
05ApplicoSwipe a job, get the whole applicationProduct
06solølFinds outdoor seats still in the sunProduct
07Little DenmarkAll of Denmark, in the browserLab
08PackSwitcherRewrites copied install commandsLab
No. 01Product

Sporlock

Finds the CPR numbers your company forgot it shared, before someone else does.

Danish companies keep CPR numbers in places they forgot about: an old payroll sheet shared with anyone who has the link, a member list sent to a private address. Sporlock scans the files, shows who can open each one, and closes the sharing in one click.

  • A free check runs in the browser. The file never leaves the computer.
  • Reads the date and century in each number, so order and phone numbers stay out of the report.
  • Built for Microsoft 365, with every lock-down logged and reversible.
For
Danish companies on Microsoft 365, and whoever looks after their data
Status
Free check open to everyone. The Microsoft 365 version is by sign-up
Built with
TypeScript, Microsoft Graph, Cloudflare Workers, Astro
Address
cpr.tielemans.dev
Check a file for free (opens in a new tab)
Plate 1. A ledger of numbers. The ones shaped like a CPR number are circled and masked.
No. 02Product

Lønbånd

Shows the pay gap in your own pay categories, without the payroll file leaving the browser.

Denmark's pay-transparency bill is planned to take effect on 1 March 2027, if it passes. Lønbånd shows an employer the gap between women's and men's pay in each of their own pay categories, and writes the document that tells staff how pay is set.

  • The free calculator runs in the browser, without a login. The payroll file is never uploaded or stored.
  • Count, average, median and range per category and gender, with any gap of 5% or more flagged. Groups under three people are hidden.
  • The kit writes an editable Word document on pay criteria, suggested pay ranges per category, and the pay information to give applicants.
For
Danish employers getting ready for pay transparency
Status
Free calculator open to everyone. The kit is 1,495 kr. ex. VAT, once
Built with
Astro, TypeScript, Cloudflare Pages, Stripe
Address
lonbaand.tielemans.dev
Try the free calculator (opens in a new tab)
Plate 2. Pay in four categories, women above the line and men below. A gap of 5% or more is marked.
No. 03Product

Whenproof

Keeps the dated record you need when someone asks what you shipped, and when you knew.

Since 11 September 2026, the EU Cyber Resilience Act asks software makers to report an actively exploited vulnerability within 24 hours of becoming aware of it. Whenproof is a GitHub App that keeps the dated record behind the answer: what was shipped, which advisories were known at the time, and who confirmed what, when.

  • An SBOM in CycloneDX and SPDX on every push, and a daily rescan against OSV.dev, CISA KEV and EPSS.
  • Flags a dependency only when it looks exploited. A person confirms, Whenproof records who and when, and counts the deadlines from there.
  • Writes the ENISA early-warning draft for you to complete and file. It reads your repository and never writes to it.
For
Software makers selling in the EU who ship from GitHub
Status
Early access. The GitHub App is not open for installs yet
Built with
TypeScript, Node.js, Probot, GitHub Apps
Address
whenproof.tielemans.dev
Get early access (opens in a new tab)
Plate 3. Scans recorded day by day. An exploited dependency is confirmed, and the 24 and 72 hour deadlines start.
No. 04Product

Quits

Invoices what you delivered, and keeps an exact record of everything you issued.

Quits runs a job from agreement to payment. The customer accepts the agreement by link and signs off on each deliverable, and Quits invoices what was delivered. It is Danish-first, with DKK and VAT built in, and the invoicing app is source available, so a business can run it on its own machine.

  • Quotes, invoices and credit notes, with recurring invoices, reminders and deposits handled as payment schedules.
  • VAT per line, with PDF and Peppol BIS 3.0 export. Issued documents are stored byte for byte with a hash and never drawn again.
  • An agent API over MCP lets an assistant draft documents. Anything sent to a customer needs a person's approval.
For
Freelancers and small studios, starting in Denmark
Status
Hosted version in early access. Free to self-host for your own business
Built with
TanStack Start, React, tRPC, Prisma, PostgreSQL, Cloudflare
Address
quits.dev
Get early access (opens in a new tab)
Plate 4. Two deliverables signed off, then invoiced with VAT and issued once, with a hash.
No. 05Product

Applico

Built for Danish job seekers, to turn the daily application grind into a swipe and a read-through.

Applico serves a daily stack of jobs matched to your CV. Swipe right and it writes the whole application pack from your own CV: the cover letter, a CV tailored to the job, how to send it, and a ready-to-file joblog entry.

  • Every fact in the letter is marked back to your CV. If the ad asks for something your CV doesn't show, Applico flags it instead of writing it.
  • Generation quality is measured with evals against fictional Danish cases, with an LLM judge checking grounding.
  • Try it without an account: upload a CV, swipe, and see your first pack. You read it and send it yourself.
For
Danish job seekers
Status
Live
Built with
React, TypeScript, TanStack Router, Convex, Better Auth, Stripe, Cloudflare
Address
applico.dk
Try it without an account (opens in a new tab)
Plate 5. A stack of matched jobs. Swipe right, and the application writes itself from your CV.
No. 06Product

soløl

Finds sunny outdoor seats in Aalborg and Copenhagen, now or later.

A Danish web app that predicts which outdoor cafés and bars in Aalborg and Copenhagen are still in sunlight. Pick a time, and it shows you which spots are sunny, partly sunny, shaded, or dark.

  • Predicts sun, partial sun, shade, or dark for each outdoor venue, at any time of day.
  • Map view with a time scrubber so you can plan a few hours ahead, plus filters for venue type and neighborhood.
  • Covers Aalborg and Copenhagen, with a quick city toggle and a 3D map view.
For
Anyone in Aalborg or Copenhagen with an afternoon off
Status
Live
Built with
TanStack Start, React, TypeScript
Address
solol.dk
Find a sunny seat (opens in a new tab)
Plate 6. A square from above through one day. Red tables are in the sun.
No. 07Lab

Little Denmark

A miniature of the whole of Denmark you can fly around in the browser.

Real OpenStreetMap buildings, streets and landmarks, with trains, buses and ferries from Rejseplanen and ships from AIS. The vehicles come from live public feeds, not a simulation.

Status
Open to try
Built with
Three.js, React 19, Hono, Cloudflare Workers
Address
little-denmark.tielemans.dev
Fly around Denmark (opens in a new tab)
Plate 7. The country in dots, with the train to Copenhagen and the Bornholm ferry.
No. 08Lab

PackSwitcher

Built because I kept pasting the wrong package manager's commands into the wrong project.

A macOS menu bar utility that rewrites copied package manager commands for your preferred tool, translating between npm, pnpm, yarn, and bun as you copy.

Status
Open source
Built with
Tauri, Rust, TypeScript, React
Source on GitHub (opens in a new tab)
Plate 8. A command copied for one package manager, pasted for another.

A letter from the founder

Hello,

Tielemans Software is me, Martin. I pick a problem that Danish companies keep tripping over, build the product, and answer the support email myself. When you write, the person who wrote the code is the one who replies.

I'm a full-stack developer with a BSc in Computer Science from Aalborg University. Before this I spent a year on the frontend team at CEGO, and I run the IT at MT Rabatservice. I reach for Rust when a problem calls for systems thinking, and for the simplest thing that works when it doesn't.

Martin TielemansFounder, Tielemans Software

Record

Jul 2025 - PresentHead of IT, MT RabatserviceRunning the company's IT: infrastructure, maintenance, and day-to-day support.
Jan 2025 - Feb 2026Frontend Student Developer, CEGOShipped an internal support tool the operations team now uses day-to-day. Refined interaction and layout details across customer-facing products. Worked inside an agile frontend team, with code review and shared ownership of quality.
2026BSc Computer Science, Aalborg UniversityCoursework across software construction, algorithms, and system development.

Papers

  1. TRIDENT. Integrating predictive residual detection into recurrent PPO for adversarial robustness. 5th semester, PDF (opens in a new tab)
  2. RedType. A type-safe in-memory key-value store, an alternative to Redis with schema enforcement. 4th semester, PDF (opens in a new tab)
  3. Split Test Platform. Web app built with CEGO for storing and visualising split-test results. 3rd semester, no public PDF
  4. Timeless Citation. A Chrome extension that mitigates link-rot by archiving pages to IPFS. 2nd semester, PDF (opens in a new tab)

Skills

Frontend
React, Next.js, TypeScript, JavaScript, Vue, Nuxt, TanStack, HTML/CSS, Tailwind, Web performance, Design systems
Backend & Data
Rust, Go, C#, Java, C, Python, PostgreSQL, Prisma, Redis
Infrastructure & Tooling
Docker, Docker Swarm, Kubernetes, Linux, CI/CD, Git, REST APIs, Sentry, PostHog, n8n, Agentic coding
Product & Collaboration
Product sense, Working in agile teams, Code review, Written communication

Contact

Questions about a product, or a problem worth solving?

martin@tielemans.dev