DMN/Software

Web applications from schema to server.

DMN Software is a sole proprietorship run by Leon. Web applications with React, Node.js and TypeScript, from the database schema and the API to the interface and deployment on a self managed server.

View projects Contact

Projects

Three of them are live.

NotebookLM clone

Upload your own sources, ask questions about them in a chat and trace every statement in the answer back to the passage it came from.

  • Next.js
  • NestJS
  • Postgres with pgvector
  • hybrid search

Minigames

Twelve minigames in the browser, including variants of Snake, Tetris and 2048, with a global leaderboard that cannot be faked.

The game logic lives in a shared package that runs both in the browser and on the server. This lets the server replay every run exactly as it happened in the browser.

  • Vite
  • React
  • TypeScript
  • Fastify
  • node:sqlite
  • Docker
  1. Browser sends only the inputs
  2. Server replays the run from the seed
  3. Server computes the score itself
  4. Leaderboard takes the result, with a rate limit per hashed IP

Job portal

Finds fully remote jobs advertised worldwide that can actually be taken while living in Germany, scores them in three stages and tracks your own applications with status and reminders. Applications are always sent by hand.

The portal reads the residence requirements from every listing. Excluded jobs stay visible, together with the sentence that ruled them out.

  • Next.js
  • Supabase
  • pgvector
  • pg boss
  • Resend
  1. Sources1,240 jobs
  2. Filter212 remain
  3. Matching38 scoring 70 or more
  4. Tracking4 applied
  5. MailDigest

Sample figures

FiveM resources

Systems and tools for GTA V roleplay servers: banking, invoices, crash analysis, hunting and missions. Most of them run on the shared base library dmn_base.

  • Framework bridge ESX, QBCore, Qbox
  • Database migrations
  • Config editor inside the game
  • Minigames verified on the server
  • Localization de, en
  • Interfaces React
  • Lua
  • React
  • TypeScript
  • Vite
dmn_banking: account overview with balance, income, expenses and history chart
dmn_carsteal: mission center with rank and unlocked vehicle classes
dmn_base: keypad minigame with number pad

Interfaces rendered in the browser with sample data

Approach

What runs through the projects above.

  1. One developer for the whole stack

    Database schema, API, interface and deployment are built together, without handovers between different people.

    Real code from the minigames

    View code from the NotebookLM clone
  2. Self hosted

    The applications run in Docker containers behind Caddy on a rented server, set up and maintained by DMN Software itself.

    Browser FiveM Client iframe HTTPS HTTPS only 80 and 443 80 redirects to 443 Caddy single entry · TLS Reverse proxy · HTTPS with Let's Encrypt internal HTTP dmn-software.com internal network Caddy static files Website API HTTPS API only reachable through the website minigames.dmn-software.com internal network Web · React API · Fastify SQL SQLite · Volume notebook.dmn-software.com internal network Web · Next.js Supabase Gateway SQL PostgreSQL pgvector API · NestJS HTTPS API bewerbungen.dmn-software.com internal network Web · Next.js Supabase Gateway Kong Auth · REST Storage Worker · pg boss SQL PostgreSQL pgvector HTTPS API External Resend · Mail Cloudflare Email Routing Mailbox AI providers Gemini, Claude Job boards and ATS Browser FiveM Client iframe HTTPS HTTPS only 80 and 443 80 redirects to 443 Caddy single entry · TLS Reverse proxy · HTTPS with Let's Encrypt internal HTTP dmn-software.com internal network Caddy · static files Website API HTTPS API only reachable through the website minigames.dmn-software.com internal network Web · React API · Fastify SQL SQLite Volume notebook.dmn-software.com internal network Web · Next.js PostgreSQL pgvector API · NestJS Supabase Gateway HTTPS API bewerbungen.dmn-software.com internal network Web · Next.js Supabase Gateway, Kong PostgreSQL pgvector Auth · REST Storage SQL Worker · pg boss HTTPS API External Cloudflare Email Routing Resend · Mail Mailbox AI providers Gemini, Claude Job boards and ATS
    • Contact form: The browser sends the form over HTTPS. Caddy terminates TLS and forwards to the website API. The website API checks input and limits. Resend sends the mail. Cloudflare Email Routing forwards it to the mailbox.
    • Minigame score: The client sends only inputs. The server replays the run from its seed. The score is stored in SQLite.
    • Question to NotebookLM: The question goes to the NestJS API. Hybrid search in Postgres with pgvector. Gemini writes the answer with citations.
    • Daily mail: The worker schedules the summary. Matches come from Postgres. Resend sends the mail.
    Caddy is the only entry point from outside. Each application runs as its own Docker stack in its own internal network, and only Caddy is connected to all of them. External lists the services outside the server, and the dots show whether an application is reachable right now.
  3. The server computes what counts

    In the minigames the browser only sends inputs. The server computes the score itself, so the leaderboard cannot be fed with invented values.

  4. Traceable instead of a black box

    In the NotebookLM clone every statement in an answer leads back to the passage in the source, instead of having to be taken on trust.

Technology

Frontend
  • React
  • Next.js
  • SvelteKit
  • Svelte
  • Vue.js
  • TypeScript
  • JavaScript
  • HTML5
  • CSS3
  • Tailwind CSS
  • Bootstrap
Backend
  • Node.js
  • NestJS
  • PHP
  • Laravel
  • REST APIs
  • Supabase Edge Functions
  • Lua
Databases
  • PostgreSQL
  • MySQL
  • MongoDB
  • Supabase
  • pgvector
  • SQL
  • Row Level Security
Mobile
  • Capacitor
  • Apps for iOS and Android
  • App Store
  • Google Play Store
DevOps and infrastructure
  • Docker
  • Git
  • GitLab CI/CD
  • AWS (EC2, S3, RDS)
  • Linux
  • Proxmox
  • Caddy
  • Nginx
AI and search
  • RAG
  • Embeddings
  • Vector search
  • LLM Integration
  • Claude Code
Quality and methods
  • Unit Tests
  • automated tests
  • Code Reviews
  • Clean Code
  • technical documentation
  • Scrum
  • Jira
  • Confluence

Contact

Questions about projects are best sent through the form.