Skip to content
View MadsenDev's full-sized avatar

Block or report MadsenDev

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.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. 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
MadsenDev/README.md

Christoffer Madsen 👋

Indie tool builder · UX-focused developer · Local-first enthusiast

I build software because I want it to exist.

Mostly tools, apps, and systems that value clarity, user control, and long-term usefulness over trends. I’m skeptical of SaaS-by-default, allergic to unnecessary accounts, and deeply interested in software that works offline, locally, and on the user’s terms.

By day I work in IT support at Elkjøp Halden.
By night I build things I wish already existed.


Active projects

🧾 Fattern (active)

A completely free, local-first accounting-lite app.

  • No accounts
  • No cloud
  • No SaaS
  • Full data ownership

Send and manage invoices, track expenses, and keep control of your own data. Built for people who don’t want their finances trapped behind a login screen.


🗂️ Geyma (active)

A modern file manager for Linux.

Focused on:

  • clean, intentional UX
  • speed and clarity over feature bloat
  • small, tasteful AI assistance where it actually helps

Not trying to reinvent files. Just trying to make them less annoying.


🧠 Aplio (early)

A job application tool with responsible AI use.

  • No auto-rejections
  • No fake “AI decided” excuses
  • Strong emphasis on human accountability and transparency

Built around the idea that applicants deserve to be treated like people, not spam.


🖥️ Localhost Hub (active-ish)

A developer tool aimed at reducing terminal dependency.

Provides a sleek, organized UI for common workflows that normally live in shell commands. Designed to lower friction without hiding what’s actually happening.


⚰️ Dead Repo (active-ish)

A deliberately silly app that judges your repositories.

Repos are treated as dead or dying projects, complete with:

  • autopsy reports
  • personality-driven commentary
  • varying degrees of brutality

Built mostly for fun. Surprisingly good at making people reflect on abandoned code.


🎮 Forge2D (active-ish)

A 2D game engine written in Rust.

  • Engine core in place
  • Editor in progress
  • Long-term exploration project

Less about shipping a Unity killer, more about learning engine architecture the hard way.


How I like to build

  • Tool-first, product-minded
  • Strong UX bias
  • Local-first and offline-capable by default
  • Minimal magic, explicit behavior
  • Software should respect the user’s time and data

I enjoy owning the whole thing: data model → logic → UI → packaging.


Tech I use

Frontend

  • React, Vite, Next.js
  • Tailwind CSS, Framer Motion

Backend

  • Node.js, Express
  • MySQL / MariaDB
  • REST APIs, auth, background tasks

Desktop & tooling

  • Electron, Tauri (case by case)
  • Local storage, IndexedDB
  • Cross-platform packaging

Infra

  • Linux
  • Apache
  • DigitalOcean
  • Git & GitHub Actions

GitHub

GitHub is a mix of:

  • portfolio
  • product distribution
  • open-source experiments

Some projects are public, some are private, and not everything I build lives here.


Contact


I build tools I’d want to keep using.

Popular repositories Loading

  1. localhost-hub localhost-hub Public

    TypeScript 4

  2. account-sheet-generator account-sheet-generator Public

    A web-site to generate account sheets for customers (or yourself).

    PHP

  3. writivate writivate Public

    PHP

  4. madsen-blog madsen-blog Public

    PHP

  5. art-publishing art-publishing Public

    PHP

  6. project-management-system project-management-system Public