Ayyoub Amjahed

Java backend developer, IAM · Banking · Málaga

I build identity backends and document what breaks.

I work on a bank's authorisation platform: who can get in where, and why. Outside of that I build things and document them whole, including the decisions I had to revisit.

This is where I write about what I learn by building. Less tutorial, more record of what failed, why, and what ended up working.

Projects

  • Homelab

    Nine machines, four segmented VLANs, daily backups with a tested restore, and every service over valid HTTPS without opening a single port to the outside.

    finished Proxmox VEOPNsenseTailscaleProxmox Backup Server
  • NOVA

    A desk creature with eyes, sounds of its own, memory and a personality. Not another app, not another chatbot, not a voice assistant: an object with a face that reacts to what happens around it and wakes up when you say its name.

    active ESP32-S3ESP-IDFLVGLI2S
  • Turna

    Take a photo of the shift roster you get at work and it lands in your calendar, split day by day, in under ten seconds.

    active KotlinJetpack ComposePythonAI vision

Recent notes

All notes →

How I work

  • Measure before having opinions

    A test bench before the first line of the app. Without it, "it's better now" is an impression; with it, it's a number.

    Read the note →
  • Verify by reading the result

    A command without an error isn't a configuration done. It gets read back afterwards, and if it's an automation, the opposite state is forced and the reversal checked.

    Read the note →
  • Document the mistakes

    The mistakes section has more entries than the wins section, and it's the most useful part of the whole document.

    Read the note →

In numbers

  • 313/313 shift days read correctly, with 0 confident errors See →
  • 0 ports open to the outside on the homelab See →
  • 9 machines with a daily backup and a tested restore See →
  • 18 mistakes documented with symptom, cause and lesson See →