Markus Profanter
Software Developer · South Tyrol · Native German speaker
I build industrial software by day and ship small developer
tools by night. The side tools come from things I wanted but
couldn't find — or didn't quite fit how I work. Simple, focused,
and quiet about your data.
// Tip: open the Extensions panel on the left to browse projects.
About
I'm Markus Profanter, a software developer based in the
mountains of South Tyrol. German is my native language; I work
in English most of the time.
By day I work on industrial software — the kind that helps real
businesses run their daily operations. By night I ship small
developer tools, mostly because I find it fun, and because the
things I build for myself end up making me more productive at
work too.
I'm drawn to developer tooling, mobile apps with strict privacy
constraints, and backend systems where clarity matters more than
cleverness. If a tool doesn't need an account, a server, or your
data — it shouldn't ask for one.
Stack & Tools
.NET / C#
TypeScript
Android / Kotlin
React
VS Code Extension API
SQL / Room
Drop me a line.
© 2026 Markus Profanter
Ollama Code Completions

Ollama Code Completions

profanter.dev | 65 installs | (2) | Free

Inline ghost-text autocomplete for Visual Studio 2022 and 2026, powered by your own self-hosted Ollama instance using fill-in-the-middle prompting.

Install GitHub Auto Update

Loading README from GitHub…

Ollama Code Completions

Ollama Code Completions

profanter.dev | 2 installs | (0) | Free

Inline ghost-text autocomplete powered by a self-hosted Ollama instance — for VS Code.

Install GitHub Auto Update

Loading README from GitHub…

TypeScript Clickable Types

TypeScript Clickable Types

profanter.dev | 18 installs | (2) | Free

Adds clickable type-name links to hover tooltips — jump to any type definition like in Visual Studio.

Install GitHub Auto Update

Loading README from GitHub…

Call Guard

Call Guard

profanter.dev | 10+ downloads | Rated 3+ | Free

Automatically block calls from unknown numbers — silently, before your phone even rings. Contacts always get through.

Install Privacy Auto Update

About this app

Google PlayTools downloads10+ rated3+ data sharednone

Call Guard blocks incoming calls from numbers not saved in your contacts — silently, before your phone even rings.

Features

Block unknown callers

Any number not in your contacts is automatically rejected. No ring, no notification, no interruption.

Allow calls from multiple regions

Add one or more countries to an allow list — calls from those country codes ring through even if the number is not saved. Search across all countries worldwide. Useful if you regularly receive legitimate calls from unknown local or international numbers.

Blocked call log with search

Every blocked call is recorded with the phone number and exact date and time. Search across all blocked numbers, and tap any entry to see the full call history for that number — including how many times it has called and when.

Call back from the log

Each blocked call entry has a shortcut to pre-fill the number in your dialer, so you can easily call back or save the number to your contacts.

Toggle screening on or off

Disable call screening with a single tap whenever you need all calls to ring through — no need to uninstall or change system settings.

How it works

Call Guard uses Android's built-in CallScreeningService API to intercept calls before they reach you. It checks each incoming number against your system contacts. If the number is not found and does not match any allowed region, the call is rejected silently. All processing happens locally on your device — no data is transmitted to any server.

Permissions

  • Read Contacts — to check whether an incoming number is saved in your address book
  • Call Screening role — required by Android to intercept and screen incoming calls
  • Notifications (optional) — only requested if you enable blocked call notifications

Privacy

Call Guard collects no personal data. The blocked call log is stored exclusively on your device and is never transmitted or shared. There are no ads, no analytics, and no accounts.

What's new (Apr 29, 2026)

  • Precise regional blocking: now distinguishes between countries sharing the same code (e.g. US vs Canada).
  • Automatic settings migration preserves your allowed regions.
  • Improved number recognition: fixed a bug that blocked local numbers from non-contacts.
  • Refined call log: now shows country flags and names for each blocked call.
  • Performance and stability improvements.