Technical notes
Focused observations from building and reasoning through real systems.
Short engineering notes on system modelling, authorization, workflows, and the decisions behind practical software architecture.
All notes
Role-Specific Workflows Are More Than Different Dashboards
What changes when athletes, scouts, and administrators participate in the same platform with different responsibilities.
Communication History Is Not the Same as an Audit Trail
Why stored email and messaging history improves operational context but does not, by itself, provide complete auditability.
A Document Upload Needs a Business Context
Why document collection should be attached to the correct business record, workflow stage, responsibility, and access boundary.
Designing Workflow Transitions for Imperfect Operational Reality
Why operational workflows sometimes need governed non-linear transitions instead of an idealized sequence of status changes.
Turning Unstructured Input Into a Confirmed Business Record
A pattern for using AI to propose structured records from raw operational text without giving the model final authority.
When a Working AI Feature Still Should Be Paused
An applied lesson from implementing an AI assistant that worked technically but did not yet justify its operating cost.
Choosing Complexity by Requirement, Not Capability
A practical way to decide whether additional architectural complexity is justified by requirements, risks, scale, and team capability.
Architecture Should Follow the Product's Job
Why I chose a static, multi-page architecture for a content-focused professional website, and what would justify a more complex system.
Authorization Beyond Broad Roles
A working note on why broad roles alone stop being sufficient for authorization, and why authorization decisions and the audit trail of what happened need to be treated as separate concerns.
What a Business Record Actually Represents
A working note on why a single business record and the workflows related to it needed to be modelled as separate concerns, and why current status and history aren't the same thing.
Notes are deliberately narrow — one observation or implementation lesson at a time, not a developed argument.
Discuss a note