Available for Head of Engineering, Technical Lead & founding-architect mandates

I take platform risk
off the CEO’s desk.

Technical Product Lead · Solutions Architect · Head of Systems & Data Engineering. Twelve years turning fragile, siloed, non-compliant systems into infrastructure nobody has to worry about again — and that costs a twentieth of what the textbook version does to run.

Before anything else, let me name what you are probably already thinking.

You have been sold “senior” before and received a résumé. You have watched a platform demo beautifully and buckle in production. You have seen an architecture live entirely inside one person’s head — until that person left. And you have had a compliance review stop a launch cold, three weeks from the date you already announced.

That is the risk sitting on your desk right now. Removing it is the entire job I am hired to do.

12+
Years leading engineering & BI
<500ms
Voice-AI time-to-first-byte, architected
20×
Lower infrastructure cost than the managed equivalent
Multi-cloud
Portable across AWS, Cloudflare, Hetzner, Azure & GCP
0
Plaintext PII at rest, by architecture
Proof of work · 01

The 500-millisecond budget.

Chain a voice pipeline together the obvious way — detect, transcribe, think, speak — and the user waits three to six seconds before hearing anything. At that point you have not built a conversation. You have built a phone tree with a large language model attached.

Time to first audible byte Lower is better
Naive sequential pipelineBatch each stage, wait for the previous one to finish
3,000–6,000 ms
What I architectedMultiplexed HTTP/2, sentence-level synthesis, interruptible mid-stream
< 500 ms
0 msThe perceptual budget for human conversation6,000 ms
Step 01

Multiplex, don’t poll

Audio chunks and control signals share one bidirectional HTTP/2 connection over Connect RPC — no WebSocket state machine, no round-trip per frame.

Step 02

Filter before you pay

Voice-activity detection runs on the client. Silence never leaves the device, so it never becomes a transcription invoice.

Step 03

Stream sentences, not answers

Synthesis begins on the first completed sentence and forwards through io.Pipe with zero buffering. The user hears speech while the model is still thinking.

Step 04

Make interruption free

Barge-in propagates through context.Done(), killing generation mid-stream. The billing meter stops the instant the user starts talking.

TL;DR · for the person screening this

If you only have thirty seconds.

No scrolling required. Everything a hiring committee needs to decide whether the next conversation is worth booking.

Executive brief Santo Domingo · Remote-global · US (DE) B2B entity
What I am
The person who owns the entire line — edge, compute, data, client and compliance — and is personally accountable for it staying up. Not a specialist you have to assemble a team around.
Where I’ve done it
Twelve years directing business intelligence, analytics and systems engineering across the United States, Kenya, South Africa, the Philippines and the Dominican Republic, reporting into VP and C-level. Plus data projects supporting several United Nations Development Programme initiatives.
What I ship
Sub-500 ms real-time voice AI. Offline-first platforms compiling to iOS, Android, desktop and web from one codebase. Zero-plaintext-PII encryption on AWS KMS. Infrastructure defined entirely in code, reproducible from empty.
What it costs
A national-scale platform running in production on one 4 GB instance, with production and development byte-identical. Roughly a twentieth of the managed-cloud equivalent, with the security posture improved rather than traded away.
How I operate
Fail-fast with no silent failures. Real-database test gates, never mocks. A version-pinned supply chain with no floating tags anywhere. AI-assisted delivery with automated lint and test loops — senior velocity without senior headcount.
Why it matters now
Every quarter you wait is another quarter of silos hardening, of architecture living in one person’s head, and of compliance debt compounding quietly until it surfaces at exactly the wrong moment.
Proof of work · 02

Architecture is a line item on your P&L.

Most engineers design the system the reference architecture recommends and hand you the invoice. I design backwards from what the organisation can sustain — then make the constraint invisible. Below is the same workload, drawn two ways.

Monthly run cost · same workload Typical managed-cloud list price vs. delivered architecture
The textbook build
$471 / month
Managed multi-tier estate: separate database, cache, load-balancer and application tiers, the way the reference diagram draws it.
Managed PostgreSQL, multi-AZ$210
Managed cache node$45
Application load balancer$23
Redundant app compute ×2$120
NAT gateway + data processing$33
Object storage + egress$40
What I actually run in production
$20 / month
One stateless instance with a persistent volume, an edge in front of it, and continuous archiving behind it. Development is byte-identical to production.
Single cloud instance, 4 GB$9
Block storage volume$5
Object storage, WAL archive$6
CDN, WAF, DNS, TLS$0
Managed database tierdesigned out
Load balancer + NAT tierdesigned out
~20× lower
Run cost for the same workload, per environment
≈ $5,400 / yr
Returned to runway, per environment, before headcount
0 drift
Production mirrors development exactly — no “works on staging”
How this is not a downgrade. Removing the managed database tier removes a security boundary — so I replaced it with a stronger one. Every PII field is sealed with a KMS-issued key before it reaches the disk, which means the database itself never holds readable personal data. Defence-in-depth moved from the network diagram, where it is expensive and mostly decorative, into the application, where it actually stops an attacker holding a stolen dump. The figures above are typical published list prices for the equivalent managed tier, shown for order-of-magnitude comparison.
The mandate

Three things I’m actually paid for.

01

Architecture that survives contact with reality

Distributed systems designed for the network being down, the batch failing halfway, and the same message arriving twice. Offline-first replication, idempotent replay, bounded timeouts, cascading cancellation. Correct on the whiteboard is table stakes; correct at 3 a.m. is the job.

02

Security a regulator can actually audit

Application-level AES-256-GCM envelope encryption on AWS KMS, with data keys wiped from memory after use. ED25519 signatures on every offline mutation. Device-bound sessions, opaque tokens, mTLS. Built so that “where is the PII?” has a one-sentence answer.

03

Fluent in the boardroom and the terminal

Twelve years as the translation layer between operations, finance, executive leadership and engineering. I write the P&L model and the Go handler. That is why roadmaps I own do not drift — the trade-offs get priced in the room where they are decided.

Signature systems

Four platforms. Four different kinds of hard.

Not a list of technologies I have touched. These are systems I architected, built and remain accountable for — with the specific constraint that made each one difficult.

Client and product names are withheld under confidentiality. The engineering is real and I’ll walk through any of it in depth on a call — the logos simply aren’t mine to publish.

01 — Real-time AI

Voice-first conversational AI platform

Under 500 milliseconds to first byte, or it stops being a conversation. Every architectural decision in this platform is downstream of that single number.

The hard part

A voice pipeline is four networked services in a trench coat — voice detection, speech-to-text, an LLM agent, text-to-speech. Chain them naively and you get three to six seconds of dead air, a bill that scales with every syllable spoken, and no way to interrupt the machine once it starts talking.

What I built

  • Bidirectional HTTP/2 streaming over Connect RPC — audio and control signals multiplexed on one connection, without WebSocket state management.
  • Context-driven barge-in — interruption propagates through context.Done(), killing synthesis mid-stream and cutting the billing meter instantly.
  • Zero-buffer forwarding via io.Pipe, with sentence-level synthesis instead of batch-and-wait.
  • Dual-database routing — PII and billing to a managed vault over an mTLS-authenticated tunnel; heavy analytics to local PostgreSQL on a private vSwitch.
  • Opaque tokens in Valkey with quota interceptors enforcing per-tier limits at the protocol boundary, failing fast before a single cent is spent.
< 500 ms
Architected time-to-first-byte
~70 %
Synthesis cost cut via response-shape engineering
0
Human credentials exposed — outbound-only M2M tunnel
Go 1.26Connect RPCHTTP/2 h2cProtobufPostgreSQL / pgx v5mTLS vault tunnelValkeyWhisper STTStreaming TTSWebRTC VADCaddyFlutter
02 — Distributed & offline-first

Federated civic data platform

Works with no signal. Encrypted before it ever touches a disk. Modelled against three competing legal authorities that disagree with each other — on purpose.

The hard part

Field operators across a national territory, frequently offline, capturing regulated personal data. Which means: local writes that must replay deterministically, cryptographic proof of who wrote what, hierarchical authorisation that resolves in constant time, and a non-profit budget that rules out a managed multi-tier architecture entirely.

What I built

  • Offline-first command queue — mutations written locally, signed with ED25519, replayed server-side in per-record sub-transactions so one bad record never aborts a batch.
  • AES-256-GCM envelope encryption — KMS data key, random 12-byte IV, sealed envelope in the row, plaintext and key zeroed from memory immediately after use.
  • Spatial-scope RBAC replacing flat roles — prefix-encoded UUID trees giving O(1) containment resolution across a national → regional → local federation.
  • Triple registry for geopolitical truth — the international standard, national statute and the cadastral authority each get their own frozen, versioned tree, with crosswalks instead of a forced hierarchy.
  • Immutability enforced by database triggers, not by discipline — published reference editions physically cannot be edited, and seed tests fail the build if provenance is violated.
  • One Flutter codebase → four targets, with SQLCipher and hardware keystore on native, and a non-extractable WebCrypto vault on the web.
4 targets
iOS · Android · desktop · web, single codebase
O(1)
Hierarchical authorisation resolution
1 node
Production mirrors development exactly
Go 1.26Connect RPCPostgreSQL 18ValkeyAWS KMSAES-256-GCMED25519Flutter / DartSQLCipherWebCryptoOpenTofuHetzner CloudCaddy 2.11WAL-GBufDevbox
03 — Enterprise data & BI

Multi-national BI platform & source of truth

Four countries, one number. When operations, finance and the executive team disagreed about performance, the argument was about the data, not the decision. I ended that argument.

The hard part

A high-demand BPO operating across the United States, Kenya, South Africa, the Philippines and the Dominican Republic, with reporting fragmented across servers, spreadsheets and departments. Every executive review started by relitigating whose numbers were correct — and payroll, invoicing and incentive compensation all hung off those numbers.

What I built & lead

  • Enterprise Apache Superset rollout establishing the definitive reporting source of truth for executive leadership and operational governance.
  • Automated inter-server ETL in SSIS, Python and Power Query, with centralised SQL Server integration that eliminated institutional data silos and cut processing latency 40%.
  • KPI and weighted-incentive frameworks spanning agent, supervisor, manager, director and VP levels — the compensation model and the reporting model share one definition.
  • P&L reporting and financial forecasting models delivered directly to C-level stakeholders, plus payroll and invoicing accuracy against revenue, billable hours and contractual terms.
  • Full SDLC ownership of internal web systems — including a secure MVC application for processing and auditing manual work hours, built to PCI-DSS and call-centre-industry standards, and an enterprise-wide quality-monitoring application from architecture through adoption.
5 countries
USA · Kenya · S. Africa · Philippines · DR
40 %
Reduction in report processing latency
12 years
Continuous tenure, promoted into scope
Apache SupersetMS SQL ServerSSIS / SSRSPythonPower BIT-SQLC# / .NET MVCRPA / VBAPCI-DSSData governance
04 — SRE & edge infrastructure

Zero-standing-IPv4 edge network

The cheapest attack surface to defend is the one that does not exist. This platform has no public IPv4 address at rest — it grows one for a few seconds, then discards it.

The hard part

An IPv6-only host cannot pull private container images from a registry that publishes no AAAA records. The obvious fix is a permanent public IPv4 address — and a permanent scan surface. I refused the trade and engineered around it instead of relaxing the security posture under debugging pressure.

What I built

  • The ephemeral IPv4 bracket — an address attaches for the image-pull phase only and detaches on an event-driven success() hook, not a timer, eliminating a race that tore down routes mid-pull.
  • IaC-provisioned CDN Origin CA resolving an ACME challenge loop behind an always-HTTPS proxy, with zero manual console intervention.
  • Lifecycle decouplingignore_changes on boot config to stop routine applies rebuilding compute, prevent_destroy on database volumes and KMS keys, and IP lifecycle uncoupled from server lifecycle to end DNS churn.
  • Short-lived registry credentials replacing standing personal access tokens — no long-lived secret to store, rotate, or leak.
  • Verified deployment automation with readiness polling, crash-loop protection, in-network egress probes and automatic rollback on failed verification.
  • Diagnostic probes retained after the incident, not deleted — the instrumentation that found the bug stays available for the next one.
0
Standing public IPv4 surface at rest
0
Long-lived registry secrets to rotate
Minutes
Cut from every cold boot by pruning the provisioning path
OpenTofu / TerraformHetzner CloudCloudflare WAF / DNS / Origin CAcloud-init + NetplanDocker ComposeGitHub ActionsCaddySOPS + ageTrivyIPv6-only
Also delivered

United Nations Development Programme

Delivered data and analytics work across a couple of projects supporting UNDP programmes — turning programme data into usable reporting for the teams running them.

Real-time electoral data platform

Live vote-count pipelines integrated with the national electoral authority’s data feed, plus a membership-registration system and app. Led a team of one analyst and three developers as project & product manager while owning the live data engineering myself.

Healthcare compliance content

Craft audited policy, procedure and licensing documentation for a national Texas-based healthcare-compliance company — deep applied work in HIPAA, HITECH, Stark Law and US healthcare regulation, every document approved by a certified Compliance Specialist.

Proof of work · 03

Why Go, specifically.

Because a language that compiles to a single static binary, schedules a hundred thousand concurrent conversations on a 4 GB box, and makes ignoring an error a visible act of vandalism is the only honest choice for the two constraints above. Here is what that discipline looks like in the actual code.

internal/vault/seal.go No silent failures
package vault

import (
    "context"
    "crypto/aes"
    "crypto/cipher"
    crand "crypto/rand"
    "encoding/binary"
    "errors"
    "fmt"
    "io"
    "time"

    "go.opentelemetry.io/otel/attribute"
    "go.opentelemetry.io/otel/codes"
    "go.opentelemetry.io/otel/trace"
)

// A version byte prefix lets keys or algorithms rotate later with no data migration.
const (
    envelopeV1 = 0x01
    nonceSize  = 12 // 96-bit GCM nonce
)

// Sentinel errors — internal KMS/network detail never leaks to the caller.
var (
    ErrSeal    = errors.New("vault: seal failed")
    ErrContext = errors.New("vault: context invalid or canceled")
    ErrEntropy = errors.New("vault: entropy source failure")
)

// Seal encrypts one PII field with a per-record data key from KMS and returns a
// self-describing envelope. The plaintext data key never outlives this call.
func (v *Vault) Seal(ctx context.Context, plaintext []byte) (_ []byte, err error) {
    if len(plaintext) == 0 {
        return nil, fmt.Errorf("%w: empty payload", ErrSeal)
    }

    // One span per seal; success/error recorded on the way out.
    ctx, span := v.tracer.Start(ctx, "Vault.Seal", trace.WithAttributes(
        attribute.String("kms.key_id", v.keyID),
        attribute.Int("payload.bytes", len(plaintext)),
    ))
    defer func() {
        if err != nil {
            span.RecordError(err)
            span.SetStatus(codes.Error, err.Error())
            v.metrics.SealErrors.Inc()
        }
        span.End()
    }()

    // Bound the call only if the caller gave us no deadline of its own.
    if _, ok := ctx.Deadline(); !ok && v.kmsTimeout > 0 {
        var cancel context.CancelFunc
        ctx, cancel = context.WithTimeout(ctx, v.kmsTimeout)
        defer cancel()
    }
    if err = ctx.Err(); err != nil {
        return nil, fmt.Errorf("%w: %w", ErrContext, err)
    }

    // KMS data key, with latency recorded for the SLO.
    start := time.Now()
    dek, err := v.kms.GenerateDataKey(ctx, v.keyID)
    v.metrics.KMSLatency.Observe(time.Since(start).Seconds())
    if err != nil {
        return nil, fmt.Errorf("%w: generate data key", ErrSeal)
    }
    defer wipe(dek.Plaintext) // zeroed on every path, including panic

    block, err := aes.NewCipher(dek.Plaintext)
    if err != nil {
        return nil, fmt.Errorf("%w: new cipher", ErrSeal)
    }
    gcm, err := cipher.NewGCM(block)
    if err != nil {
        return nil, fmt.Errorf("%w: new gcm", ErrSeal)
    }

    // One allocation for the whole envelope.
    size := 1 + 2 + len(v.keyID) + 2 + len(dek.Ciphertext) + nonceSize + len(plaintext) + gcm.Overhead()
    out := make([]byte, 0, size)
    out = append(out, envelopeV1)
    out = binary.BigEndian.AppendUint16(out, uint16(len(v.keyID)))
    out = append(out, v.keyID...)
    out = binary.BigEndian.AppendUint16(out, uint16(len(dek.Ciphertext)))
    out = append(out, dek.Ciphertext...)

    // Reserve the nonce and fill it from the OS CSPRNG.
    ivStart := len(out)
    out = out[:ivStart+nonceSize]
    if _, err = io.ReadFull(crand.Reader, out[ivStart:]); err != nil {
        return nil, fmt.Errorf("%w: %w", ErrEntropy, err)
    }

    // Seal in place: ciphertext+tag land in the same backing array.
    out = gcm.Seal(out, out[ivStart:], plaintext, nil)
    return out, nil
}
1 binary

No runtime to install, patch or exploit

A static Go binary in a distroless, non-root container. Nothing interpreted, no dependency tree at runtime, and a cold start measured in milliseconds. It is why one modest instance carries the whole platform.

~4 KB

Concurrency priced in kilobytes, not megabytes

A goroutine starts at a couple of kilobytes of stack. Thread-per-request runtimes start at a megabyte. That ratio is precisely why real-time audio streams and background sync workers coexist on hardware that costs single digits per month.

0 hidden

Errors you cannot ignore by accident

Go makes every failure an explicit value. Combined with errcheck as a merge gate, an unhandled error stops the pipeline. That is not ceremony — it is why production incidents arrive with a readable cause instead of a stack trace.

Engineering judgment

Anyone can list technologies.
Here is what I said no to.

Seniority is not the length of the stack. It is the quality of the refusals — and the ability to defend them to a board six months later. Every one of these is a decision I made and still stand behind.

Opaque tokens in Valkey
instead of  JWT sessions

JWTs cannot be revoked without inventing a revocation list, which is a session store wearing a costume. I took the session store honestly and got instant revocation, no token bloat on every request, and O(1) quota counting for free.

Ephemeral IPv4 brackets
instead of  a standing public IPv4

A permanent address is permanently scanned. I accepted meaningful timing complexity to hold a zero-standing-IPv4 resting state — then removed the complexity by making the teardown event-driven rather than timed.

Application-level encryption
instead of  infrastructure tier separation

On a constrained budget you cannot buy a segregated data tier. You can encrypt every PII field with a KMS-issued key before it reaches the disk. Defence-in-depth where it actually stops an attacker, not where it merely satisfies a diagram.

Production mirroring development exactly
instead of  a managed multi-tier estate

One modest instance, identical in both environments. Zero configuration drift, zero “works on staging”, and an operating cost the organisation can sustain indefinitely. Stateless by design, so horizontal scale is a decision, not a rewrite.

Protobuf over HTTP/2, everywhere
instead of  JSON REST

A binary contract that both server and client generate from the same file removes an entire category of integration bug, versions cleanly through field numbering, and cuts payload size on exactly the mobile connections that are worst. JSON on the wire is banned.

Raw SQL through a connection pool
instead of  an ORM

Query plans you can read, indexes you can reason about, and partitioned time-series behaviour that stays predictable under load. The abstraction an ORM sells is repaid with interest the first time a report times out in production.

Real-database test gates
instead of  mocked repositories

Mocks verify that the code matches your assumptions. Only a real database verifies that your assumptions match the database. CI fails if tests are skipped — a green pipeline that tested nothing is worse than a red one.

Strict version pinning, no floating tags
instead of  :latest / @main

Semantic versions or SHA-256 digests, in containers, Actions, Go modules and IaC providers alike. A build from six months ago must reproduce byte-for-byte, because that is the build the incident is about.

Proof of work · 04

Built so the audit is boring.

Compliance handled at architecture time costs a design decision. Compliance handled at review time costs a quarter. I have worked inside HIPAA, HITECH, Stark Law, PCI-DSS and GDPR constraints — and built the cryptography, not just the policy document.

Plaintext PII in memory only AWS KMS GenerateDataKey Random IV 12 bytes, crypto/rand AES-256-GCM seal in memory PostgreSQL row [DEK | IV | ciphertext] wipe() — zeroed at rest: unreadable

Envelope encryption AES-256-GCM

KMS issues a data key; the payload is encrypted in memory with a random 12-byte IV; the database stores [ciphertext_DEK | IV | ciphertext]. Plaintext and key are zeroed immediately. KMS round-trips fire only when a batch actually contains PII, so key-service latency never gates ordinary traffic.

Zero-trust identity mTLS · ED25519

Device-bound handshakes return session token, permission mask, spatial scopes and a server-derived local database key in one atomic payload. Offline mutations carry ED25519 signatures verified before replay. Vault database access is certificate-authenticated — no password exists to be leaked.

GDPR Article 9 & 17 By design

Special-category data is protected by a zero-knowledge architecture with no plaintext PII at rest. Right-to-erasure is structural rather than procedural: UUID-keyed records with global deletion cascades, so erasure is a single operation with a provable blast radius.

Regulated-industry delivery HIPAA · PCI-DSS

A payroll and manual-hours MVC application built and audited to PCI-DSS and call-centre-industry standards. Daily work inside HIPAA, HITECH and Stark Law constraints for US medical practices. OWASP A02 and A04 addressed at the cryptography and architecture layers, not with a scanner report.

Supply chain & licensing OSI governance

Version pinning with no floating tags anywhere. Secrets encrypted at rest with SOPS + age. Trivy for configuration, filesystem and licence scanning; govulncheck, osv-scanner and go-licenses in the pipeline. Copyleft auditing so a permissive-licence posture is verified, not assumed.

Disaster recovery Verified, not assumed

WAL-G continuous archiving to S3-compatible object storage, with restore drills automated rather than documented. prevent_destroy guards on persistent volumes and KMS keys, and explicit resource targeting so a rebuild can only ever touch the compute tier.

An honest note, because you would find out anyway. The compliance architecture above is self-assessed engineering design against published standards — rigorous, documented and defensible, but not third-party certified. Where a certification is required, I build the evidence trail an auditor needs and work alongside the assessor. I would rather tell you this on the first page than have you discover it on the fourth call.
Operating standards · how the work ships and stays up

The gold standards, drawn.

Most engineers claim SRE discipline. Here it is as a system: the gates a change clears before it reaches your users, the loop that keeps it healthy afterwards, and the single rule that decides whether a fix is actually done. Every step below is a practice I run in production, not an aspiration.

The path from commit to production
merge gate must pass auto-rollback
01 · commit

Feature branch

Work happens on a feature branch. Never on main, never straight to production.

gate · pre-push hook
02 · verify

Lint & static analysis

golangci-lint, go vet, staticcheck. An unhandled error fails the build.

gate · errcheck blocks
03 · prove

Real-database tests

Integration tests hit a real Postgres. Skipped tests fail CI — no green-on-nothing.

gate · no mocks
04 · build

Pinned, scanned image

Distroless, non-root, SHA-pinned. Trivy + govulncheck scan before push.

gate · no floating tags
05 · release

Verified deploy

Rolling SSH deploy, readiness polling, in-network egress probe before traffic.

proof · probes pass

If any gate fails or verification does not pass: the deploy rolls back automatically and the diagnostic probes stay in place. A fix is not “done” because the diff looks right — it is done when the probe says so.

Toolkit

Sorted by consequence, not by alphabet.

Tier 1 is what I would defend in an architecture review. Tier 2 is how the work actually gets delivered. Tier 3 is the part that outlives any particular tool.

Tier 1 — Mission critical

Load-bearing. Production systems depend on these being right.
Runtime & protocol
Go 1.26Connect RPCProtocol BuffersHTTP/2 (h2c)gRPCBuf CLIprotovalidate (CEL)sqlc
Data & state
PostgreSQL 18pgx v5 / pgxpoolPartitioned time-seriesPL/pgSQLValkey / RedisMS SQL ServerOracleMySQLSQLite / SQLCipherWAL-G
Security
AWS KMSAES-256-GCM envelope encryptionED25519mTLSOpaque tokensSOPS + ageZero-trust VPC isolation
Client
Flutter / DartiOS · Android · desktop · webOffline-first syncIsarWebCrypto vaultSvelte 5Astro 5TypeScript
Infrastructure
OpenTofu / TerraformAWS (EC2, S3, RDS, VPC, KMS, ELB)Cloudflare (Pages, WAF, DNS, R2, D1, Turnstile)Hetzner CloudMicrosoft AzureGoogle Cloud (GCP)Docker & ComposeCaddy 2.11GitHub ActionsLinux

Tier 2 — Delivery & velocity

How the work ships without a headcount request attached.
AI-assisted engineering
Claude CodeAider ChatOpenCodeCodexGemini AI StudioAuto-test & lint loopsGoogle Developer Platform
Environment & quality
Devbox (hermetic)golangci-lintgo vet · staticcheck · revivegovulncheckosv-scannerTrivygo-licensesast-greptree-sitterVitest
Data & BI
Apache SupersetSSIS / SSRSPower BI & Power PlatformPythonInter-server ETLMetrics governanceApache EChartsMapLibre GL
Network & ops
TailscaleWireGuardPrometheus + Alertmanagercloud-init / NetplanIPv6-only topologiesGitHub CLIJira · Linear · ClickUp

Tier 3 — Patterns that outlive the tools

The part that transfers to whatever stack you already have.
Architecture
Distributed systemsOffline-first replicationCQRS-lite command modelModular monolithPolyrepo isolationStateless compute / persistent volume separationImmutable & disposable infrastructureDeclarative IaC
Correctness
Idempotent replayAt-least-once + de-dupeOptimistic lockingDatabase-enforced immutabilityBounded timeoutsCascading cancellationFail-fast, no silent failures
Practice
SRE & Google SRE cultureAgile / SCRUMTDDClean codeADR-driven decisionsDocumented technical debtSpec-driven developmentBusiness analysis (CBAP track)
The person behind the work

Systems are built by people. So are teams.

Jose Miguel (JM) Sanchez
Santo Domingo, DR · leading remote-first, globally

Jose Miguel (JM) Sanchez

Technical Product Lead · Solutions Architect · Head of Systems & Data Engineering

I have spent twenty-plus years in the space between the boardroom and the terminal. From Santo Domingo I lead a business-intelligence and engineering team whose work reaches operations across the United States, Kenya, South Africa, the Philippines and the Dominican Republic — the person operations, finance and executives call when the numbers have to be right and the system has to stay up. I care as much about the people shipping the work as the architecture they ship: the best system in the world fails if the team around it can’t own it.

01Leads distributed teams

Directs a BI & engineering team whose work spans five countries and every timezone between them — twelve years managing and growing people, not only code.

02The translation layer

Primary liaison between operations, finance, executive leadership and engineers — turning ambiguous business goals into roadmaps every side signs off on.

03Builds performance, not just software

Designed KPI, weighted-incentive and goal frameworks from agent to VP level — measuring and lifting how teams actually perform.

04Communicates across cultures

Native Spanish, C2 English, conversational Italian. SCRUM delivery, documentation others can act on, and formal leadership training (Adaptive & Effective Leadership, CBAP®).

Operating model

What my teams are never allowed to ship.

Culture is not a values page. It is the short list of things that stop a merge. These are mine, and they are enforced by pipelines rather than by reminders.

  • No silent failures. Every error is wrapped with context. No bare continue, no empty catch, no swallowed exception. If the system degrades, the user sees it and the log says why.
  • Bounded timeouts on every network call. Measured in seconds, with cancellation that fans out through a shared context. Nothing hangs quietly.
  • Verification before “done”. Direct TLS probes past the CDN, authenticated RPC calls, CORS preflight checks. A fix is not complete because the diff looks right.
  • Technical debt written down, in the repository. Known shortcuts are documented where the next engineer will actually find them. Undocumented debt is the expensive kind.
  • Branch discipline, always. Feature into develop into main. Never straight to production, no matter who is asking or how small it looks.
  • Methodology before escalation. When something breaks, I add instrumentation — not exceptions to the security model. Hardened designs survive debugging pressure or they were never hardened.
“A system that is up on modest hardware beats a correct architecture nobody can afford.”
The constraint I wrote into an architecture decision record, then held to across four repositories, one instance and a national deployment.

This is the difference between an architect and a consultant. I do not design the system your budget deserves in a keynote — I design the system your budget can actually run, and then I make it good enough that nobody notices the constraint.

Cross-functional by default. Twelve years as the primary technical liaison across five countries and every time zone in between — coordinating four interconnected repositories bound by a shared contract, and translating between operations, finance, executive leadership and engineers who all define “done” differently.

Track record

Twenty-two years. No gaps in judgment.

PRESENT  ·  UNDER NDA

Product Manager · AI-Lead · Principal Developer

Confidential product · 3-engineer team
  • Principal developer on a three-person engineering team, owning product direction and the AI architecture end to end.
  • Details withheld under confidentiality — the work is current; the client is simply not mine to name.
JUNE 2022 — PRESENT

Business Intelligence, Statistics & Reporting Manager

ERC Global CX · Remote, multi-national
  • Manage a 5-person BI & analytics team across Santo Domingo and the USA, and led the transformation from static reporting into a full business-intelligence practice.
  • Own invoicing, payroll and performance-KPI data and processes — consolidating production data from the USA, Kenya, South Africa, the Philippines and the Dominican Republic.
  • Primary technical liaison between operations, finance and executive leadership; deliver KPI frameworks, weighted-incentive models and P&L reporting directly to VP and C-level.
  • Currently transitioning the stack to open-source, AI-ready technologies for faster data processing.
2025 — PRESENT  ·  CONCURRENT

Healthcare Compliance Content Specialist

National healthcare-compliance company · Texas, USA (remote)
  • Research and craft audited policy, procedure and licensing documentation for US medical practices — each document reviewed and approved by a certified Compliance Specialist.
  • Deep, applied work across HIPAA, HITECH, Stark Law, healthcare licensing, standards and US regulation — the documentation practices must withstand audit.
6-MONTH ENGAGEMENT  ·  B2B CONTRACT

General Manager · Product Manager · Scrum Master

Pharmaceutical enterprise projects · Dominican Republic
  • Led a 6-person cross-functional team (analysts, junior and senior developers) across three concurrent products — geolocated BI, a Microsoft Power Apps solution, and a SaaS platform with call-centre capabilities.
  • Owned the client and stakeholder relationship end to end as GM / Product Manager / Scrum Master, and architected the AWS layout (ELB, EC2, network topology).
2014 — JUNE 2022

Statistics and Reporting Manager

ERC Global / Working Bees
  • Built the reporting function from performance dashboards through executive P&L, serving first-line staff to C-level.
  • Designed and implemented databases, stored procedures, SSIS packages for automated ETL, and inter-server data transfer — eliminating institutional information silos.
  • Owned revenue, billable-hours and payroll calculations feeding the financial models behind P&L and forecasting budgets.
2012 — 2014

Senior Analyst → Reporting Team Manager

Laurus International · Santo Domingo
  • Led a team of 3 analysts as Senior Analyst, then managed the Reporting Team — designing and implementing full SQL Server ETL pipelines for invoicing, payroll and operations KPIs.
  • Automated operational reporting workflows with SQL and advanced Excel, reducing manual processing time by 40%.
2003 — 2010

Lead Statistics Analyst · Department Lead

Amov International Teleservices (Claro / América Móvil) · Santo Domingo
  • Led a 3-person statistics department, owning operations statistics and reporting services for international telecom accounts, plus process analysis for operations projects.
  • Built databases, shared-folder servers, macros and real-time data-entry controls for simultaneous distributed teams.
Credentials — Jose Miguel (JM) Sanchez

Education

  • B.S. Software Engineering Universidad del Caribe (UNICARIBE) · in progress
  • Professional Technical Degree, Computer Science Politécnico Fabio A. Mota

Languages

  • Spanish Native
  • English Full professional (C2)
  • Italian Conversational

Reliability & engineering

  • Site Reliability Engineering Google
  • Developing a Google SRE Culture Google
  • Spec-Driven Development Kiro / AWS
  • Clean Code with Go CodeSignal
  • Mastering Design Patterns with Go Specialisation — creational & behavioural

Business & leadership

  • Certified Business Analysis Professional™ (CBAP®) Exam Prep Coursera specialisation
  • Business Analysis: Key Definitions & Strategy Analysis Starweaver
  • Effective Leadership Principles for Business Leaders CodeSignal
  • Adaptive Leadership Principles CodeSignal

Contracting

  • US (Delaware) B2B entity Frictionless global contracting & payroll — no employer-of-record overhead for you
The bottom line

Efficiency you feel most at scale.

This is not about running lean to spend less. It is about engineering every layer to do more with less — so the advantage does not shrink as you grow, it compounds. The same discipline that serves your first hundred users serves your first ten million, and the gap between what you earn and what you pay to earn it widens the whole way up.

Infrastructure vs. revenue, as you scale
Revenue climbs. The cost to serve it stays nearly flat. The widening green band is gross margin — and runway — that self-hosted efficiency hands back to the business.
hundreds millions of users →
Revenue Infrastructure cost Gross margin & runway
0.0%
Gross margin the architecture can sustain at scale
0.0%
Infrastructure, as a share of revenue
Illustrative — directional, not a quoted figure.

01Margin that compounds

When infrastructure is a shrinking share of revenue, gross margin climbs on its own as you grow. That is the number a Series-A term sheet is underwritten on — and the one that keeps later rounds on your terms, not the market’s.

02Runway is optionality

Capital not spent on idle capacity is not a saving to celebrate — it is an extra engineer, a longer runway, a pivot you can afford. Efficient by construction is default-alive by construction.

03Scale without the rewrite tax

Stateless, owned, portable infrastructure means you buy capacity when revenue asks for it — never before, and never with a lock-in bill or a re-platforming project that stalls the roadmap at exactly the wrong moment.

I do not build inexpensive systems. I build systems that refuse to waste your capital — so it compounds into the only two things that decide whether a company makes it: the product, and the time to finish it.

— the operating principle behind every architecture on this page
One question before you go

What would the next twelve months look like if platform risk simply stopped being your problem?

If the honest answer is “materially different”, that is the conversation worth having. Bring me the constraint you think is unsolvable — the budget, the latency target, the regulator, the architecture nobody wants to touch. That is the part I find interesting.

LinkedIn
Message me directly

No email address or phone number is published on this page — deliberately. If I ask you to trust me with your platform’s data, the least I can do is treat my own contact details the same way. The form routes your message to me directly, encrypted in transit.