Hello, I'm

Aditya Tirtatjahja

Engineer

Privacy-aware systems, self-hosted communication, cost-efficient cloud architecture, and Odoo ERP implementations that actually work.

Django & PostgreSQL in production
Matrix, E2EE, and messaging bridges
Self-hosted & cloud infrastructure
Privacy-first email & networking
Odoo ERP implementation & customization

About

I build and operate backend systems with a strong bias toward clarity, ownership, and long-term maintainability.

I work frequently with self-hosted infrastructure, secure messaging protocols, and cost-sensitive deployments where understanding how things actually work matters more than vendor abstractions.

How I Work

  • Prefer explicit system behavior over black boxes
  • Optimize for simplicity before scale
  • Treat privacy, data ownership, and encryption as first-class concerns
  • Design for realistic budgets, not ideal ones

Capabilities

Five domains of expertise, unified by a systems-thinking approach.

Fullstack Engineering

  • Django (custom auth models, migrations, refactors)
  • PostgreSQL schema & performance basics
  • REST APIs and integrations

Production experience with Django's ORM, custom user models, complex migrations, and performance optimization. Strong focus on clean, maintainable code that teams can understand and extend.

Infrastructure & Self-Hosting

  • Docker & Docker Compose
  • Low-cost production deployments
  • Linux server operations
  • Cloud tradeoffs (AWS vs PaaS vs bare VPS)

Deep understanding of when to self-host vs use managed services. Experience running production workloads on minimal budgets without compromising reliability or security.

Secure Messaging & Automation

  • Matrix (Synapse internals, storage, federation)
  • E2EE (Olm/Megolm)
  • WhatsApp bridges (relay vs puppeting)
  • Bots and automation (n8n)

Hands-on experience with Matrix homeserver administration, encryption protocols, and bridging multiple messaging platforms while preserving end-to-end encryption where possible.

Privacy & Email Systems

  • DNS-based filtering and routing
  • Cloudflare Email Routing
  • iCloud custom domain setups
  • Browser fingerprinting & VPN threat models

Understanding of privacy threat models beyond simple solutions. Experience implementing practical privacy measures that balance security, usability, and cost.

Projects

Real systems, real constraints, real outcomes.

Self-hosted Matrix + WhatsApp Bridge

Messaging Infrastructure

Problem

Unify WhatsApp communication while retaining data ownership and encryption.

Constraints

  • E2EE preservation
  • Limited resources
  • Avoid unnecessary third-party storage

Architecture

┌─────────────┐ ┌─────────────────┐ ┌──────────────┐ │ Matrix │────▶│ Mautrix-WA │────▶│ WhatsApp │ │ Client │ │ (Puppeting) │ │ Web API │ └─────────────┘ └─────────────────┘ └──────────────┘ │ │ ▼ ▼ ┌─────────────┐ ┌─────────────────┐ │ Synapse │◀────│ PostgreSQL │ │ Homeserver │ │ Database │ └─────────────┘ └─────────────────┘

Key Decisions

  • Puppeting over relay to preserve identity
  • Encryption-aware bots
  • Controlled message retention

Full Stack Deployment

Backend Infrastructure

Problem

Run a production Django app at near-zero cost without sacrificing reliability.

Highlights

  • Custom user model refactor
  • PostgreSQL tuning
  • Hosting provider comparisons
  • Cost vs operational risk analysis

Approach

┌─────────────────────────────────────────────┐ │ Cloudflare (CDN + SSL) │ └─────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────┐ │ VPS ($5-10/month) │ │ ┌─────────────┐ ┌─────────────────┐ │ │ │ Gunicorn │───▶│ PostgreSQL │ │ │ │ + Django │ │ │ │ │ └─────────────┘ └─────────────────┘ │ └─────────────────────────────────────────────┘

Odoo ERP for Multi-Branch Retail

ERP Implementation

Problem

A growing retail business with multiple branches was running on spreadsheets and disconnected systems. Inventory was tracked manually, sales data lived in different places, and month-end reconciliation took days.

Constraints

  • Limited IT budget—no dedicated IT staff
  • Staff needed minimal training curve
  • Must handle Indonesian tax requirements
  • Offline-capable for unreliable internet

Solution

┌─────────────────────────────────────────────────────┐ │ Odoo Enterprise │ ├─────────────────────────────────────────────────────┤ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ Sales │ │Inventory │ │ Accounting │ │ │ │ POS │ │ + MRP │ │ (ID Localization)│ │ │ └────┬─────┘ └────┬─────┘ └────────┬─────────┘ │ │ │ │ │ │ │ └─────────────┴──────────────────┘ │ │ │ │ │ ┌────────▼────────┐ │ │ │ Custom Modules │ │ │ │ - Multi-branch │ │ │ │ - Local reports │ │ │ │ - WhatsApp sync │ │ │ └─────────────────┘ │ └─────────────────────────────────────────────────────┘

Key Decisions

  • Enterprise over Community for POS offline mode
  • Custom module for Indonesian tax invoices (Faktur Pajak)
  • WhatsApp integration for order notifications
  • Staged rollout: one branch at a time

Outcome

Month-end close reduced from 5 days to same-day. Real-time inventory visibility across branches. Staff onboarded in under a week.

Odoo Community Manufacturing Setup

ERP Implementation

Problem

A small manufacturing workshop needed production tracking and inventory management, but couldn't justify Enterprise licensing costs for their 5-person team.

Approach

  • Odoo Community Edition (self-hosted)
  • Custom MRP workflow for their specific process
  • Barcode scanning via mobile devices
  • Simple dashboard for production status

Key Decisions

  • Community Edition to minimize ongoing costs
  • Docker deployment for easy backup/restore
  • Custom module kept minimal—easier upgrades
  • Training documentation in local language

Writing

Clear, opinionated, no SEO fluff.

Matrix

How Matrix stores messages (and what people misunderstand)

A deep dive into Matrix's event-based storage model and common misconceptions about data persistence.

Coming soon
Messaging

Relay vs puppeting in WhatsApp bridges

Understanding the tradeoffs between relay and puppeting modes when bridging messaging platforms.

Coming soon
Privacy

DNS filtering vs VPNs: threat models explained

Why your privacy solution depends entirely on what you're protecting against.

Coming soon
Infrastructure

Why most small apps don't need AWS

A cost-benefit analysis of cloud providers for indie hackers and small teams.

Coming soon
Odoo

Community vs Enterprise: when the license actually matters

A practical breakdown of when Odoo Enterprise features justify the cost, and when Community is the smarter choice.

Coming soon
Odoo

Writing Odoo modules that survive upgrades

How to customize Odoo without creating a maintenance nightmare when the next version drops.

Coming soon

Get in Touch

I help small teams and individuals design systems that are understandable, secure, and affordable to operate.

What I can help with

  • Odoo implementation (Community & Enterprise)
  • Odoo custom module development
  • ERP data migration & integration
  • Infrastructure reviews & deployment
  • Messaging system design
  • Privacy-aware architecture consulting

What I don't do

  • Frontend-heavy projects
  • Marketing websites
  • Quick fixes without understanding the problem

Interested in working together?

aditya@tirta.me