Fullstack developer in Santo Domingo (UTC-4). Five years building and maintaining production web applications end to end, with a parallel track in QA: defect triage across iOS, Android and web, and end-to-end suites that run in CI.
Bilingual EN/ES, open to remote roles on US Eastern hours.
manuelsanchez.io | LinkedIn | hola@manuelsanchez.io
| Frontend | TypeScript, React, Next.js, Tailwind CSS |
| Backend | Node.js, NestJS, REST, SQL and NoSQL over an ORM |
| Testing | Playwright, Cypress, cross-browser and cross-device |
| Practice | Repro-first bug reports, code review, accessibility, CI |
| C# and .NET | University coursework and my own reading on the side. |
| Go | Early days — picking it up for services and tooling, where its concurrency and single-binary deploys earn their keep. |
| Test automation | Going deeper than the suites already here: fixtures and reuse, flake, and what belongs in CI versus what belongs in a nightly run. |
Also studying Systems Engineering at UASD, through 2028.
| personal-portfolio | My site. Next.js App Router, two audiences on one codebase, 38 end-to-end tests in CI. |
| kalenday-e2e | Playwright suite against a production SaaS: smoke, SEO and responsive coverage, cross-browser. It documents a real defect, unknown routes answering 200 instead of 404. |
| playwright-page-audits | Reusable Playwright assertions for the defects that ship quietly: broken images, console errors, sideways scroll, skipped headings, a blank share card. Each audit is tested twice, once on a clean page and once on a page carrying the defect. |
| bayer-dither | Zero-dependency Canvas2D renderer: an image or a line of text as animated dithered marks, drawn in the element's own color. |
| trupdate | Self-hosted update server for Tauri apps. |
| biper-editor | ProseMirror schema setup, built for a Chatwoot deployment. |
I ship features and I test them. Most of my development work has been client delivery in healthcare, insurance and SaaS, all of it still live. The support years taught me the other half: reproducing a defect on a device you cannot hand to a developer, and writing it up so the fix takes one pass.
