Projects

6 total · 2 featured · 2 OSS
  1. Node.js · WebSockets · React 2024

    Real-Time Chat

    Low-cost full-featured internal messaging platform built at Hill Country Coders as a companion to WhatsNextPlease. Authentication, file sharing, rich text editor, real-time delivery via WebSockets. Designed to replace ad-hoc communication tools inside the company’s own platform.

    Detail →
  2. Go 2024

    Huffman Compressor

    Lossless file compression tool implementing Huffman coding from scratch. Built to learn Go’s data structures and systems programming hands-on. Features streaming I/O, a custom generic priority queue, and comprehensive testing across encode/decode cycles.

    Detail →
  3. Next.js · Supabase · Cloudflare R2 In progress

    Wafa

    Private PWA for tracking shared commitments between people — a promise journal with reminders, file attachments, and resolution tracking. Shared spaces, push notifications, and a Supabase Realtime backend.

    Engineering notes: iOS Safari localStorage purge → switched to cookie-based Supabase sessions. PKT timezone bug firing reminders 5h early → store utcHour = (hour - 5 + 24) % 24. Vercel Hobby cron only supports daily → moved to GitHub Actions on */5 * * * *.

    Detail →

zen-browser/desktop

★ 42k+

Sidebar flickered rapidly when dragging content to window edge in compact mode.

Root causedragover → expand → dragleave → collapse → repeat

4-line guard using event.explicitOriginalTarget to ignore dragleave events fired from inside the sidebar’s own children.

-  this._ignoreNextHover ||
+  this._ignoreNextHover ||
+  (event.type === 'dragleave' &&
+    event.explicitOriginalTarget !== target &&
+    target.contains?.(event.explicitOriginalTarget))

Melkeydev/go-blueprint

★ 8.9k

React frontend hardcoded port 8080 — changing the PORT env var disconnected frontend from backend silently.

Root causeVite requires VITE_ prefix; no bridge between Go’s root .env and the frontend build

program.go reads root .env, extracts PORT=, writes VITE_PORT to frontend/.env at generation time; app.tsx.tmpl uses import.meta.env.VITE_PORT.

- fetch('http://localhost:8080/')
+ fetch(`http://localhost:${import.meta.env.VITE_PORT}/`)

If you have a problem
worth solving —
let’s talk.