// python dev & professional over-engineer

I build things.
They mostly work.
Eventually.

Hi, I'm Faen — a full-stack Python developer with a talent for solving problems nobody else noticed were problems yet, and an unhealthy relationship with terminal applications.

Python FastAPI Typer Textual PostgreSQL UV Excessive Ambition

// the lore

Who am I

I'm Faen, a mid-level full-stack developer who specialises in Python, has strong opinions about package managers, and will absolutely write a CLI tool to solve a problem that could have been a shell alias. I have no regrets.

I'm dyslexic and have auditory processing difficulties, which means I've inadvertently become very good at written communication and very bad at remembering what was said in a meeting. In a shocking plot twist, this has made me a better developer — I document things properly and think carefully about how software communicates with the people using it.

I care a lot about accessibility — probably because I need it myself. If software doesn't work for everyone, it doesn't really work, does it? That said I'll admit my Discord bots are primarily for my own convenience. We contain multitudes.

Speciality

Python, CLIs, APIs, and tools that do exactly one thing extremely well. Or five things moderately well. Depends on the day.

Superpower

Turning "I wish this existed" into "okay it exists now but I need to refactor it." The circle of developer life.

Kryptonite

Finishing projects. Meetings where the outcome could have been an email. JavaScript. (Kidding. Mostly.)

Currently

Building Patchwork, wrangling Core-Runner, and pretending the Discord bots don't need maintenance.

// things i built instead of sleeping

My Projects

Mostly unfinished, entirely earnest, occasionally useful.

🧩 Patchwork in development

My biggest and most important project. Patchwork is a native Windows desktop app for plural systems — groups of people who share a single body. It's private, local-first, and built with genuine care for the community it serves. The server literally cannot read your data. That's not a marketing claim, that's the architecture.

PythonKivyMDFastAPIPostgreSQLSQLiteRSA-2048AES-GCMLogto OIDC

The Cool Bits

  • End-to-end encryption via RSA-2048 + AES-GCM — the server is effectively a very secure postbox that can't read its own mail
  • Discord OAuth via Logto OIDC — one less password to forget
  • Local-first architecture — your data lives on your device, not mine
  • Per-friend encrypted fronting status — share what you want, with who you want
  • SimplyPlural import — because migrating shouldn't be a nightmare
↗ patchwork.work — yes I bought a domain, I'm very serious about this
⚙️ Core-Runner in development

I got tired of manually updating my self-hosted projects, so I built a tool to do it for me. Core-Runner watches for new releases, shuts down the current version gracefully, updates, and starts it back up. It also manages Patchwork. Yes, the tool that manages Patchwork is itself managed by Core-Runner. It's fine. Everything is fine.

PythonOrchestrationAutomationDevOps

Features (that I definitely planned from the start)

  • Automatic release detection — it knows before you do
  • Graceful shutdown — no data gets hurt in the process
  • Configurable startup checks — just in case it didn't work
  • Manages itself. Philosophically interesting. Practically terrifying.
🤖 Discord Bots ongoing (they're never done)

Two Discord bots, each with a distinct personality and purpose. Started as "I'll just write a quick script." They have names now. They have lore.

PythonDiscord APIPostgreSQL

The Bots

  • LaceyBot — the responsible one. Handles medication reminders, water reminders, and any custom scheduled reminders you throw at him. Quietly keeps everything running. Very reliable. Does not judge you for needing a bot to remind you to drink water.
  • AngelBot — the chaotic one. Reports current front status, generates hex colour swatches, and tracks who last posted in any channel. Technically does four things, which absolutely counts as scope creep, and they have zero remorse about it.

// things i actually know

Skills & Tools

Languages

Python 3.13SQLBash

Backend & APIs

FastAPIPydantic v2PostgreSQLSQLite

CLI & Terminal

TyperTextualRich

Desktop

KivyMDWindows Native

Auth & Security

Logto OIDCDiscord OAuthRSA-2048AES-GCM

Tooling

UVGitJira
Hot take: spec-driven development isn't just good practice, it's an accessibility tool. Writing things down properly so everyone — human or AI — can understand the requirements without a 45-minute meeting is genuinely a better way to work. I will die on this hill. The hill is very well documented.
Accessibility-first — I'm dyslexic, which means I have a vested interest in software that actually works for people who aren't neurotypical. This has made me annoyingly thorough about readable interfaces, clear error messages, and not assuming everyone processes information the same way.

// don't be shy

Say Hello

I'm open to interesting projects, collaborations, and people who want to talk about Python tooling at length. Writing works better for me than calls — I promise I'm much more coherent in text.

Genuinely — if you want to reach out, a short written message goes a long way. I'll always write back properly. It's kind of my thing.