Skip to content
View Anb98's full-sized avatar
👨‍💻
Always learning
👨‍💻
Always learning

Block or report Anb98

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Anb98/README.md

Hi 👋, I'm Abdiel Martinez

Fullstack Developer @ Designli · TypeScript & JavaScript · El Salvador

  • 🧑‍💻 7+ years building web and mobile applications, mostly with TypeScript and JavaScript
  • 🏠 I run a homelab: ~50 Docker containers 24/7 on a Raspberry Pi 5
  • 📝 I write at abdiel.dev and publish packages on npm

📦 Libraries

  • @anb98/rn-toast — headless-first toast library for React Native with a queue, custom transitions and slots, no native code and no runtime dependencies
  • @anb98/rn-tooltip — tooltip for React Native with auto positioning, viewport clamping and an arrow that tracks the trigger, no native code and no runtime dependencies
  • @anb98/string-format — zero-dependency TypeScript utility that formats strings against a template, like +x (xxx) xxx-xxxx for phone numbers
  • @anb98/react-hooks — data-fetching hooks for React (useFetch, useLazyFetch, usePromise, useSearch) with optional caching

🏠 Homelab & Hardware

Most of my side projects are tools I built because my own setup needed them:

  • beszel-cli — CLI client for Beszel server monitoring
  • bookmarks — self-hosted bookmark manager in a single 12 MB static binary, tag search included
  • speakr-gemini-proxy — Gemini as Speakr's transcription backend, with speaker diarization, in a ~15 MB container
  • n8n-workflows — the automation workflows I actually run
  • ephemeral-file-server — self-hosted image sharing where each upload is deleted after its first view
  • esp32-ai-monitor — ESP32-S3 ambient display for Claude Code quota usage, with a Go backend
  • epd-wrapper — TypeScript wrapper for a Python e-paper display driver

Raspberry Pi Jellyfin Immich Pi-hole Nginx Proxy Manager Tailscale Cloudflare

50+ containers on a Raspberry Pi 5 — the full stack, and what I dropped along the way: Mi Homelab Setup (ES · EN).

🏆 Accomplishments

🎤 Speaking

  • Booster Session #8: Unit Testing & Integration Testing in JavaScript — Sep 2022
  • Conociendo NativeScript — Mar 2020

🏅 Recognition

  • Top Performer Award at Designli — Sep 2025, Apr 2025
  • Exceptional Player Award at Elaniin — Aug 2022, Oct 2021

📜 Certifications

  • AWS Certified Developer – Associate — Oct 2021 (valid through Oct 2024)

💻 Tech Stack

Core

TypeScript JavaScript

Frontend

React React Native Next JS Astro TailwindCSS

Backend

NodeJS NestJS Express.js GraphQL

Data

MongoDB MySQL Prisma

Cloud & Infra

AWS Docker Nginx GitHub Actions n8n

👥 Connect with me

LinkedIn Medium npm Website

Pinned Loading

  1. rn-toast rn-toast Public

    Headless-first toast library for React Native with a queue, custom transitions, slots and strict typing. No native code, no runtime dependencies.

    TypeScript

  2. esp32-ai-monitor esp32-ai-monitor Public

    Go backend and ESP32-S3 AMOLED firmware that display Claude Code quota usage and provider status

    C++

  3. bookmarks bookmarks Public

    Self-hosted bookmark manager in a single 12 MB static binary. Paste a URL and it infers title, description and favicon. Tag search, SQLite, no build step.

    Go

  4. rn-tooltip rn-tooltip Public

    React Native tooltip component with auto positioning, viewport clamping and a trigger-tracking arrow

    TypeScript

  5. beszel-cli beszel-cli Public

    Read-only CLI for Beszel monitoring hubs with JSON output for scripts and colored tables for terminals

    TypeScript 1

  6. custom-react-hooks custom-react-hooks Public

    React hooks for axios data fetching with request caching, promise state and client-side search filtering

    TypeScript 3 2