skip to content

über mich

Ich fange bei der Rahmenbedingung an, nicht beim Feature.

Ich bin Full-Stack-Entwickler mit Frontend-Schwerpunkt, sitze in Kathmandu und baue seit vier Jahren Web-Anwendungen in Produktion mit React, Next.js und TypeScript, dahinter Node und NestJS. In letzter Zeit war das Interessante daran: LLM-Features, die den Kontakt mit echten Daten überleben.

Wie ich hierher kam.

What followed was unglamorous. An unpaid internship at Lancemeup in Patan, a phrase that contains its own review. Tutorials at 1.5x. Stack Overflow answers from 2013. Typing out code I did not understand until one day I did, which is a thing nobody warns you about: comprehension arrives about six weeks after the muscle memory, and there's no ceremony. Nobody sends a certificate. You just stop googling the same thing.

Then Azminds, where I stopped being someone who could build a page and became someone who could ship a thing. I got handed Yacht Cloud, already built and thoroughly over-engineered. The frontend server bill alone was $500+ a month for a few hundred users. I rewrote it in React and got that number down to something you wouldn't bother mentioning in a meeting. I'd been hired as a frontend dev and ended up in the Spring Boot backend too, which is how most of my range got built: someone had to, and I was there.

Then Milo Logic, where I got to own things end to end. Search that actually understood the question, running on the same Postgres everything else already lived in. A website builder so the people who write the content can publish it without waiting on a developer. Multi-tenant SaaS from requirements through deployment, plus the support calls afterwards, which teach you more than the build does.

It's also where I found out the hard part was never the code. Every project has one decision buried in it that everything else hangs off. It gets made in week one by someone in a hurry, and the rest of the year is spent working around it.

Gradsy came through a friend of a friend, which is how most good work arrives. Grad school applications, nine statuses, a workflow that everyone involved understood differently. I built it end to end. It's the thing I'd show you if you only had time for one.

These days the work is mostly LLM features, which is a job with two parts. The demo takes a day. Everything after the demo takes four months and is the actual work. I have an AI that writes code faster than I can and is wrong with total composure. Catching that is the whole skill now, and the only qualification is having personally shipped the same bug in 2022 and remembering how it felt.

Four years in, my competitive advantage turns out to be that I spent a long time being slow. Not the pitch I'd have picked.

Wie ich arbeite.

Am meisten liegt mir an der Oberfläche — an den Interaktionsdetails, an denen die meisten vorbeiliefern. Die Auslieferung durchgängig zu besitzen, von der Architektur bis zum Deployment auf AWS und Cloudflare, ist der Teil des Jobs, den ich wirklich mag.

KI ist für mich ein Weg, die Kosten guter Entwicklung zu senken, kein Weg, sie zu überspringen. Ich arbeite damit schnell und prüfe anschließend jede Entscheidung an dem Maßstab, den ich auch an eine Senior-Einstellung anlegen würde.

Bei der Rahmenbedingung anfangen

Vor der ersten Zeile Code kartiere ich die Domäne und die Fehlerfälle. Was bricht unter Nebenläufigkeit, was muss korrekt bleiben, wenn ein Job erneut läuft, was der Termin tatsächlich schützt. Das Design entscheidet die Rahmenbedingung, nicht die Feature-Liste.

Die dünne Scheibe ausliefern

Die kleinste Version, die durchgängig läuft: deployed, typisiert, migriert, beobachtbar. Keine Abstraktion, bevor ich sie zum zweiten Mal brauche. Sie sehen früh genug etwas Laufendes, um Ihre Meinung günstig zu ändern.

In Produktion verantworten

Das Deployment, die Fehler danach, und die Dokumentation, die beim Bauen entsteht statt für später versprochen zu werden. Wenn eine Schätzung kippt, hören Sie es an dem Tag, an dem ich es weiß — nicht in der Woche, in der es eintritt.

Wo ich gearbeitet habe.

  1. Freelance Full-Stack-Entwickler · Selbstständig

    Dez 2025 – heute
    • Gradsy (dev.gradsy.io): alleiniger Entwickler einer Plattform für Auslandsstudien-Bewerbungen in Next.js, NestJS und PostgreSQL auf AWS. Drei rollenbasierte Dashboards — Studierende, Berater, Admin — hinter einer API, die standardmäßig alles verweigert, Buchungs-Nebenläufigkeit über Datenbank-Constraints abgesichert und Jobs wiederholungssicher gemacht.
    • Noveon (noveon.wecreatelabs.com.hk): Website für eine Investmentgesellschaft in Hongkong auf Next.js mit selbst gehostetem Strapi CMS. Jede Seite ist ein CMS-Eintrag, sodass Marketing und Compliance regulatorisch relevante Texte ohne Entwickler bearbeiten, und sechs Investorenseiten rendern aus zwei Templates.
    • Marti China (marti.wecreatelabs.com.hk): Unternehmensseite für ein Ingenieurunternehmen auf Next.js mit Strapi.
  2. Full-Stack-Entwickler · Milo Logic

    Aug 2025 – Aug 2026
    • Eine Multi-Tenant-Architektur gebaut, die mehrere Organisationen aus einem Deployment bedient, mit Mandantentrennung auf Datenebene und eigenen Domains, sodass jede Organisation unter ihrer eigenen Domain ausgeliefert wird.
    • Einen blockbasierten Website-Builder und einen Drag-and-drop-Formular-Builder ausgeliefert: nicht-technische Nutzer stellen Seiten zusammen, definieren Felder und Validierung und veröffentlichen ohne Entwickler.
    • Umsatz- und Analyse-Dashboards sowie Stammdatenmodelle gebaut, die Referenzdaten zentral verwaltet halten, während jede Organisation ihre eigenen Überschreibungen pflegt.
    • Gemeinsame Komponenten-Bibliotheken und Design-System-Primitive in React und TypeScript aufgesetzt, die ein neunköpfiges Team über sieben Produkte hinweg übernommen hat, und die JavaScript-Bundle-Größe reduziert, damit Seiten schneller laden.
  3. Full-Stack-Entwickler · Azminds Services

    Aug 2024 – Jul 2025
    • Yachtcloud (yachtcloud.net): live betriebene Multi-Tenant-Plattform für Yacht-Buchungen, auf der jeder Anbieter hinter einem Admin-Panel als eigenes Geschäft läuft. Die fehlenden Buchungsstrecken und Drittanbieter-Integrationen gebaut, dann mit Hotjar-Aufzeichnungen und Funnel-Daten die Abbrüche im Checkout gefunden und den Ablauf vereinfacht. Der Umsatz verdreifachte sich.
    • Driving School Wiz: Multi-Tenant-Plattform für fünf Fahrschulen, jede unter ihrer eigenen Subdomain, mit Subdomain-Scoping bei jeder Anfrage, sodass ein Inhaber mehrere Fahrschulen betreibt, ohne dass sich Daten vermischen. Dazu Echtzeit-Planung und Zuweisungs-Tracking für Fahrlehrer.
  4. Associate Frontend-Entwickler · Azminds Services

    Apr 2023 – Jul 2024
    • Module für Pensions- und Umsatzverwaltung für den Nepal Agricultural Research Council (NARC) gebaut, eine Behörde der nepalesischen Regierung: ein einziger nachvollziehbarer Datensatz für Pensionszahlungen und Umsatzbuchungen.
    • Features in Produktion in React und Next.js mit Redux Toolkit und Redux Saga für komplexe asynchrone Abläufe ausgeliefert, JavaScript-Codebasen nach TypeScript migriert und Data Fetching und Caching mit React Query optimiert.
  5. Junior Frontend-Entwickler (zuvor Praktikant) · Lanceme Up

    Jan 2022 – Mär 2023
    • Über vier Kunden-Anwendungen in React mit Redux Toolkit und Material UI aus Figma-Designs ausgeliefert, darunter mehrsprachige Builds mit i18n über REST-APIs.

Wonach ich greife.

Next.js und TypeScript vorne, Node und NestJS dahinter, PostgreSQL darunter. Das ist weniger eine Vorliebe als ein Standard, aus dem man mich herausargumentieren muss. Ich habe genug davon ausgeliefert, um zu wissen, wo es bricht — und die Fehlerfälle eines langweiligen Stacks zu kennen ist mehr wert als eine minimal bessere Passung, die ich auf Ihre Kosten lernen würde.

Was ich pro Projekt tatsächlich auswähle, ist der Teil, der über Korrektheit entscheidet. Retrieval bekommt pgvector direkt neben den relationalen Daten statt einen separaten Vector Store, weil die Abfrage, die ich am häufigsten brauche, ein Join ist. Alles mit Nebenläufigkeit und Wiederholungen bekommt idempotente Schreibvorgänge und eine Antwort auf den zweiten Versuch, bevor es einen Screen bekommt. Eine Marketing-Seite bekommt Astro und statisches Output, weil eine Seite, in die sich niemand einloggt, keine Runtime ausliefern sollte.

Der Rest ist zu wissen, wann Schluss ist. React Query statt eines Caches, den ich selbst pflege. Redux Saga nur dort, wo der asynchrone Ablauf wirklich eine State Machine ist — was seltener vorkommt, als die Beliebtheit des Musters vermuten lässt. Keine Abstraktion, bevor ich sie zum zweiten Mal brauche. Die vollständige Liste dessen, was ich in Produktion eingesetzt habe, steht im Lebenslauf; das hier ist der Teil davon, den ich verteidigen würde.

Was ich als nächstes will.

Arbeit, bei der das Schwere das System ist und nicht die Ticket-Warteschlange: Retrieval- und Extraktions-Pipelines, die stimmen müssen; Produkte, bei denen die Oberfläche das Argument ist; Teams, die klein genug sind, dass ein Feature zu besitzen heißt, es vom Schema bis zum Deployment zu besitzen.

Ich arbeite remote aus Kathmandu, mit Arbeitszeiten, die sich mit den USA und Europa überschneiden. Wenn Ihr Problem diese Form hat, sage ich Ihnen ehrlich, ob ich der Richtige dafür bin.

Sagen Sie mir, wo es klemmt und bis wann.

Dreißig Minuten über das, was Sie bauen, was im Weg steht und ob ich der Richtige dafür bin. Wenn nicht, sage ich das im Gespräch.

Gespräch buchenE-Mail