/ Uses
Uses
The languages, tools, infra and hardware I work with day-to-day. Grounded in what I actually use on the platforms I work on — not a wishlist.
Last updated:
Languages
- TypeScript — the primary language I write in, and the one I default to for anything non-trivial.
- JavaScript — for the parts that don't need types, and for the Hugo + plain-web side of things.
- HTML5 and SCSS — interfaces, design tokens and the parts of the product the user actually sees.
Frontend
- Angular — my day-to-day frontend framework since 2017, including the move to standalone components and modern reactivity.
- LitElement — for the framework-agnostic component library shared across teams and partner SaaS UIs.
- Hugo — what this site runs on, plus the personal experiments around AI-driven content pipelines.
- Storybook — not just as a showcase, but as the contract surface and accessibility documentation for shared components.
Backend & data
- Node.js — services, API surfaces and tooling around the platform.
- NestJS — when a service needs structure and longevity, not just a quick endpoint.
- MongoDB — the primary store on most projects I've worked on.
- PostgreSQL — when relational semantics fit better than documents.
- Redis — caching, session and rate-limiting layers.
Testing
- Vitest — fast unit and integration runs, the default on new projects.
- Cypress + Cucumber — end-to-end and acceptance flows, including the accessibility assertions baked into CI.
- Jest — unit and integration on Node and frontend code.
- Karma + Jasmine — legacy Angular suites I still maintain.
- Supertest — API integration tests on NestJS services.
- axe-core — automated accessibility checks gating PRs.
Infrastructure & content
- Docker — for local environments and shared development boxes.
- Kubernetes — production deployments on the platforms I've worked on.
- AWS — EC2, S3 and the IAM hygiene that comes with them.
- Argo Workflows — pipeline orchestration for batch and content jobs.
- AEM (Adobe Experience Manager) — the content layer behind much of the platform work I do.
- Netlify — what hosts this site.
AI tools
- Claude Code — the AI assistant I use daily for engineering work, from code edits to architectural exploration.
- Windsurf — when I want the AI flow inside the editor for tighter feedback loops.
- Custom workflows — PR-comment-to-plan, AI-assisted code review and architecture exploration scripts (some of them on the blog).
Editor & terminal
- VS Code — the primary editor, with the Angular Language Service and ESLint doing most of the heavy lifting.
- WebStorm — when I want deeper refactors and project-wide intelligence on Angular work.
- Antigravity — for agentic, multi-step editor sessions.
- iTerm2 with Zsh — terminal of choice.
- Git — CLI for day-to-day work, with a GUI for visual diff review and history exploration.
Hardware
- MacBook Pro on Apple Silicon — the daily driver.
- External monitor for long sessions and side-by-side editing.
- Mechanical keyboard — switches I can think to.
This site
- Built with Hugo — fast builds, simple deploys, plain markdown content.
- Hand-rolled SCSS — no Tailwind, no CSS-in-JS, just design tokens via CSS custom properties.
- Deployed on Netlify with the Hugo version pinned in `netlify.toml`.
- Theme written from scratch under `themes/ismaelramos/` — the source for this whole site is intentionally legible.
Off-work
- Five training days a week — three strength sessions, one run, one ride.
- Mountain biking — the longer the climb, the better.
- Diving when the trip allows it.
- Video games — usually long, slow, single-player ones, and multiplayer with friends now and then.