Salva

Backend and automation, written in Node.js.

Backend Systems

REST APIs and services in Node.js. Routing, business logic and data access stay in separate layers, input is validated at the edge, and timeouts, retries and error responses are handled on purpose instead of by accident.

Database Architecture

Relational schemas when the data has structure and constraints, document stores when the shape varies. I design around the real queries, check them with EXPLAIN, and add indexes where the plan shows a need.

Automation Bots

JavaScript bots for repetitive workflows. Each one gets structured logging, rate limit handling and idempotent operations, so a crash or a restart does not duplicate work.

Measure before optimizing

Most slowness comes from a handful of queries or one chatty endpoint. Profile first, then fix the thing that is actually slow.

Treat all input as untrusted

Validate and sanitize at the boundary, use parameterized queries, and give each service only the permissions it needs.

Design for the data you will have

Row counts, write patterns and access paths decide the schema and the indexes. The framework comes after that.

Make failures visible

Timeouts, retries with backoff, and logs that say what happened. A bot that stops silently is worse than one that crashes with a clear error.

inventory

$ inventory --list

runtime:

  • Node.js
  • JavaScript

data:

  • SQL
  • NoSQL
  • Schema Design
  • Query Planning

api:

  • RESTful APIs

automation:

  • Bot Development
  • Web Automation