Skip to content
View mustafakbaser's full-sized avatar
💻
Developing
💻
Developing

Block or report mustafakbaser

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mustafakbaser/README.md
Mustafa Kürşad Başer, Senior Software Engineer in İzmir. From schema to screen: production SaaS and developer tools.

For six years I've built software end to end, from the Postgres schema to the screen a customer taps, and stayed for the part after launch. Most of it is multi-tenant SaaS for Turkish businesses, where KVKK, consent records and local payment providers are part of the spec, not a cleanup task. In between, I write small tools for the problems I keep running into along the way.

mustafabaser.net · Portfolio · Blog · LinkedIn · X · Medium · info@mustafabaser.net

Open source

Each of these started as a question I got tired of answering by hand.

agentcheckup: Claude Code, Codex, Cursor and Copilot read different files from the same repository, and rarely say what they skipped. This shows what each one actually loads, and flags the MCP servers, hooks and permissions a pull request adds.
npx agentcheckup · npm · GitHub Action

Field Guide: an architecture map that can't go stale, because it is derived from the import graph and commit history every time you ask. What depends on what, what changes together, and who knows the part you are about to touch.
VS Code extension and MCP server · Marketplace

Port Authority: something is already listening on port 3000. This tells you what it is, which project started it, and stops it safely.
VS Code extension · Marketplace

claude-commit-skill: /commit for Claude Code that follows your repository's convention and refuses the commits you can't take back, like one made mid-merge or one carrying a secret.
npx claude-commit-skill · npm

Selected work

HeyPilot: multi-tenant voice AI for customer service, outreach and appointments, with a no-code assistant builder, white-label widgets, a KVKK encryption layer and IYS-ready consent capture. Live at heypilot.com.tr.
Next.js 15 · Turborepo · Prisma · PostgreSQL · Redis · VAPI · OpenAI · Claude · ElevenLabs · Deepgram

LayeredMindAI: multi-provider AI chat with Turkish market data and multi-organization RBAC, plus a Flutter app for iOS and Android.
React · Node.js · Express · MongoDB · Flutter · Riverpod

Broker Desk: RSS in, publishable posts out. Financial news is enriched with LLMs, given branded visuals and sent to email and X from one analyst dashboard.
Next.js 16 · React 19 · TypeScript · Tailwind CSS 4

StitchAI: takes a frame from an industrial camera, segments it with Segment Anything, generates a toolpath and drives a CNC machine over Modbus.
Python · PyQt6 · OpenCV · PyTorch

More work
  • Relio: clipboard manager for macOS that encrypts everything on-device and expires API keys and card numbers on its own. Swift 6, SwiftUI.
  • Novadesk CRM: back office for virtual office and coworking providers. Contracts, billing, room bookings, KVKK-aware data handling.
  • KYC and document OCR: merchant onboarding for a Turkish payment processor. Identity OCR, tax document extraction, IBAN validation, a review queue.
  • EpicTales: Android app that writes age-appropriate children's stories with Gemini and reads them aloud in nine languages. On Google Play.
  • Currency Converter: live exchange rates in Kotlin and Jetpack Compose. On Google Play.

The full list, with stacks and screenshots, is in the portfolio.

How I work

  • Derive, don't document. An architecture diagram starts going stale the day it is drawn. The import graph and the commit history can't.
  • Identify before you act. Killing the process is the easy part. The work is finding out whose process it is.
  • Coverage isn't correctness. Coverage tells you a line ran, not that it was right. A test earns its place by what it tells you when it breaks.
  • Make it reversible. Every migration ships with its rollback, and good tools refuse what can't be undone.

Writing

Mostly in Turkish, on mustafabaser.net/blog.

Stack

Day to day: TypeScript, Next.js, Node.js, PostgreSQL and Supabase, Docker.

Everything else I've shipped with
Area Tools
Languages TypeScript, JavaScript, Java, Kotlin, Python, C#, Go, Swift, Dart
Backend NestJS, Express, Fastify, Spring Boot, ASP.NET Core, Django, Flask, REST, GraphQL, OpenAPI
Frontend React, Next.js, Vue.js, Tailwind CSS, Radix UI, TanStack Query
Mobile and desktop Android (Kotlin, Jetpack Compose), Flutter, SwiftUI, PyQt
Data PostgreSQL, Supabase, MySQL, SQL Server, Oracle, MongoDB, Redis, Prisma, TypeORM, Hibernate/JPA
AI LLM integration across providers, MCP servers, voice agents, Gemini, OpenCV, Segment Anything
Infrastructure Docker, Kubernetes, Terraform, GitHub Actions, Jenkins, AWS, GCP, Vercel, Nginx, PM2, Linux
Testing Jest, Playwright, JUnit, Mockito, Pytest
Integrations Stripe, Iyzico, Salesforce, n8n
Architecture Domain-Driven Design, Clean Architecture, modular monoliths, microservices, multi-tenant SaaS

Work with me

Open to freelance and contract work, from a first schema to a production launch. Write to info@mustafabaser.net or find me on LinkedIn.

If one of these tools saved you some time, you can buy me a coffee.

Pinned Loading

  1. agentcheckup agentcheckup Public

    A checkup for your coding agent setup. Lints AGENTS.md, CLAUDE.md, SKILL.md, Cursor rules, Copilot instructions, MCP servers and hooks against how coding agents actually load them.

    TypeScript

  2. field-guide field-guide Public

    A living architecture map of any codebase, derived from its import graph and commit history: what depends on what, what changes together, and who knows the part you are about to touch. A VS Code ex…

    TypeScript

  3. port-authority port-authority Public

    VS Code extension that shows which process is holding a local port, where it was started from, and stops it safely. Workspace-aware, with EADDRINUSE detection.

    TypeScript

  4. claude-commit-skill claude-commit-skill Public

    A Claude Code skill that analyzes your git changes and creates well-structured commits following the Conventional Commits specification.

    Shell 1 1

  5. DXF-Viewer DXF-Viewer Public

    A modern DXF file viewer and editor application with a clean, professional interface.

    Python 4 1

  6. ClickCart-Ecommerce-App ClickCart-Ecommerce-App Public

    A modern, full-featured e-commerce platform built with React, TypeScript, and Supabase. This project demonstrates best practices in building scalable e-commerce applications with a focus on perform…

    TypeScript 1