Skip to content
S. Contreras
Get in touch

01 Index // Overview

Open to Full-Stack & Platform Roles

Building small, reliable services and running the infrastructure they live on.

TypeScript on Bun and Node: Discord bots with real-time audio and media pipelines, Next.js applications on PostgreSQL, deployed to infrastructure I host and operate myself. Four years of bilingual IT support came first, which is where I learned how production actually fails and how people describe it when it does.

Explore Exhibition
Current Work
Freelance Full-Stack Developer
Focus Domain
TypeScript Services & Self-Hosted Infrastructure
Field Record
4+ Yrs IT Support & Operations
Current Location
Bucaramanga, Colombia (UTC-5)

Exhibition // 02

Flagship Engineering Work

Flagship Engineering Work
$ pm2 logs geminiero Replay
  1. 21:14:02 DEBUG Live API opened
  2. 21:14:02 DEBUG setup completed (from server)
  3. 21:14:05 DEBUG VAD: speech started.
  4. 21:14:07 DEBUG VAD: speech ended.
  5. 21:14:07 DEBUG activity end sent
  6. 21:14:08 DEBUG Starting discord audio stream
  7. 21:14:11 DEBUG turn complete

01 / 03 Real-Time Voice & Generation Bot

Geminiero: Multimodal AI Inside a Discord Server

Four Gemini capabilities (chat, image generation, speech and live voice) behind one bot, reachable by slash command or a single-character prefix. The hard part is the voice loop: Discord speaks Opus at 48 kHz stereo, Gemini Live speaks PCM at 24 kHz mono, and neither waits for the other.

  • Bidirectional live voice with VAD turn-taking
  • 4 capabilities · 2 interfaces each
  • Context persisted in SQLite (WAL)

STACK: TypeScript · Bun · discord.js · @google/genai · SQLite · Opus

$ bun ./src/bot.ts Replay
  1. 18:02:40 INFO Trigger de globear detectado
  2. 18:02:41 DEBUG Iniciando ffmpeg
  3. 18:02:47 INFO Globear completado desde mensaje

02 / 03 Media Processing Pipeline

Speech Bubbleinator: Encoding to Fit a Hard Ceiling

A Discord bot that overlays a speech bubble on any image, GIF or video the user can point at. Every upload has to land under the server's tier limit, so the encoder negotiates quality downward until the file fits instead of failing.

  • 4-step progressive encode ladder
  • Media resolved through a 6-step fallback chain
  • Hard timeouts: 15s fetch · 45s ffmpeg

STACK: TypeScript · Bun · discord.js · sharp · ffmpeg

$ pm2 logs dolar-diario Replay
  1. 12:00:00 DEBUG sending scheduled message to 1 channel(s)
  2. 12:00:01 INFO [currencyService] Promedio unavailable on page, using USDT Binance rate as fallback
  3. 12:00:01 DEBUG Previous rates saved.

03 / 03 Scraping & Scheduling Bot

Dólar Diario: Scheduled Rates With Trend Memory

Venezuelan exchange rates posted to Discord four times a weekday, scraped from three markets in a single request. Each post remembers the previous one, so readers see the delta and direction rather than a number without context.

  • 4 posts/weekday · America/Caracas
  • Directional deltas against last run
  • 3 markets parsed per fetch

STACK: TypeScript · Bun · discord.js · croner · node-canvas

The archive

3 projects, each with a case study.

The deck is a selection. The archive has the rest: the problem, the approach and the measured outcome for every system, with the stack and the source.

Browse all projects

Connect // 04

Capabilities & Dialogue

Direct inquiry & verified proficiency

Capabilities and Dialogue

Systemic capabilities matrix

24 tracked

Services & Data

01
  • TypeScript
  • Bun
  • Node.js
  • Next.js
  • discord.js
  • PostgreSQL
  • SQLite
  • Redis / Dragonfly
  • Drizzle ORM

Typed runtimes, idempotent webhooks, real-time streams that survive a reconnect.

Interfaces & Media

02
  • Astro
  • Svelte 5
  • React
  • Tailwind CSS
  • Base UI / shadcn
  • sharp
  • ffmpeg
  • node-canvas

Accessible interfaces, and encode pipelines that fit a hard size ceiling.

Infrastructure & Support

03
  • Docker
  • Coolify
  • Cloudflare Tunnel
  • Oracle Cloud / GCP / Azure
  • Linux
  • GitHub Actions
  • Cisco Networking

Self-hosted deployments with no open ports, and handover docs the client can follow.

Open to Full-Stack & Platform Roles

Direct Inquiry

Need someone who ships it and then keeps it running?

Available for full-stack roles, contract work, and platform or support engineering. Remote or on-site in Bucaramanga. Bilingual English and Spanish, with the habit of writing the handover documentation so whoever comes next can operate what I built.

Response
Within 24 hours
Based in
Bucaramanga, CO / Remote (UTC-5)
Download Formal CV / Resume PDF · 52 KB · Updated September 2026

Verified profiles

Engineered with Astro & Svelte · Deployed via Coolify behind a Cloudflare Tunnel · Self-hosted Umami telemetry · © 2026 Sergio Contreras