Wanted something useful for my ESP32-S3 + e-paper screen, so I turned it into a physical TTY. Just pipe text over USB serial and it renders with auto-scaling fonts. Writeup: meefik.dev/2026/08/04/p... #DIY #ESP32 #embedded #electronics #epaper #cli #OpenSource
meefik
@meefik.dev
Software engineer focused on digital sovereignty. Writing about FOSS, Linux, and P2P networking while building with self-hosted AI & local LLMs. Like coffee ☕️, geese 🪿, rain 🌦, and walks in the park 🏕. 🐙 github.com/meefik 🌐 meefik.dev
My favorite stack for front-end styling: #TailwindCSS, #daisyUI, and #Iconify 🔥 Why? • JavaScript-only writing • Custom styling where needed • Framework-agnostic & pure CSS output • Automatic tree-shaking • No "class hell" with daisyUI Works perfectly with the #Neux library! 🧑💻
I've tried #WebAwesome, a framework-agnostic #UI component library based on #WebComponents. It works perfectly with the #Neux library because it can be used directly, without the need for JSX or other framework-specific approaches. Try it together in the playground: v49.livecodes.io?x=id/qtqxqig...
You can finally use #Neux (neux.dev) with #AI agents: npx skills add meefik/neux #TypeScript #JavaScript #WebDev
🚀 Neux v0.16: rewritten in #TypeScript Lots of breaking changes, but the DX is much simpler: streamlined render() API, cleaner signal syntax, new untrack(), i18n(), and more. Smaller, faster, stricter. github.com/meefik/neux/ #Frontend #JavaScript
GitHub - meefik/neux: A lightweight frontend library for building dynamic user interfaces using declarative element definitions and reactive signals to modify them
A lightweight frontend library for building dynamic user interfaces using declarative element definitions and reactive signals to modify them - meefik/neux
github.com
Day 14: MISSION ACCOMPLISHED! 🏁 The #P2P video app is live, tested, and installable as a #PWA. From foundations to a full-mesh conferencing tool in two weeks. Built with #ReactJS, #TypeScript, #Peerix & #ZedEditor. Thoughts and takeaways: meefik.dev/2026/07/20/p... #BuildInPublic #DevLog #WebRTC
Peerix Talk: P2P video app in 13 evenings
Building a real-time P2P chat app from scratch using React, WebRTC, and local LLMs inside Zed Editor. It took about half the time I expected.
meefik.dev
Day 13: Installable everywhere! Turning the #P2P video app into a full-blown #PWA: 📱 Web App Manifest + icons & themes 🔔 Native install prompts (iOS/Android/Desktop) ⚡ App-like UX, zero store friction Built with #ReactJS, #TypeScript & #Vite inside #ZedEditor. #BuildInPublic #DevLog
Day 12: Signaling drivers unlocked! 🔓 Expanded #Peerix signaling for the #P2P video app: ✅ MQTT & NATS support ✅ SSE integration ✅ BroadcastChannel for testing More flexibility for diverse network environments, plus public server support! #JavaScript #TypeScript #BuildInPublic #DevLog
Day 11: E2E tests are live! 🧪 Adding automated #E2E testing with #Playwright to catch regressions fast in #P2P video app: ✅ Full browser automation setup 🔄 Cross-tab navigation & #UI interactions 🐛 Flaky test detection & retries #ReactJS #TypeScript #Peerix #BuildInPublic #DevLog
Day 10: Chat is live! 💬 Hooked up #Peerix via data channels for #P2P messaging: ✅ Data channels established 💬 Peer messages syncing instantly 🔥 Seamless chat integration complete Built with #ReactJS, #TailwindCSS & #shadcn in #ZedEditor. #TypeScript #BuildInPublic #DevLog
Day 9: Media streaming is alive! 💥 Hooked up #Peerix for live #WebRTC streams: 📹 Remote video tiles rendering flawlessly 🎙️ Mic/cam toggles syncing instantly Built with #ReactJS, #TailwindCSS & #shadcn in #ZedEditor. Next: P2P text chat! 💬 #TypeScript #BuildInPublic #DevLog
Day 8: Peer connections are live! 🕸️ Wired up the network backbone for the #P2P video app: 🌐 Added #Peerix to handle #WebRTC connections 👥 Full mesh support across multiple peers in the same room Next step: WebRTC media stream sharing 💥 #ReactJS #TypeScript #BuildInPublic #DevLog
Day 7: Expect the unexpected! ⚠️ Making the #P2P video app robust against real-world chaos: 🚫 Graceful error handling for blocked cam/mic permissions 🔑 Room joining logic fully wired up 🧩 Clean UI fallbacks for missing devices #ReactJS #TypeScript #BuildInPublic #DevLog
Day 6: Lights, camera, action! 🎥🎙️ Today, the #P2P video app gets local media streams! Wired up device inputs to the UI: 📹 Live camera capture & tile display 🎤 Mic audio capture & toggle sync 📱 Responsive header for sleek mobile navigation Demo below 👇 #ReactJS #TypeScript #BuildInPublic #DevLog
Day 5: Video tiles 🎬 Tackling the hardest part of the #P2P video app UI yet! Here's what I'm packing into the layout: 👤 Name & Identicon 🎙️ Mic & Active speaker indicators 📱 Responsive tiles + pinning 📌 Building with #ReactJS, #Tailwind & #shadcn in #ZedEditor. #TypeScript #BuildInPublic #DevLog
Can local #LLMs reverse-engineer APIs alone? 🕵️♂️ I tested a local Zed Agent + #Ollama setup. Using Chrome DevTools #MCP, the #AI analyzed network traffic & UI to map Bluesky's search, pagination, and profiles with zero docs read. Write-up: meefik.dev/2026/07/04/r...
Using AI agents to reverse engineer web APIs
How to use a local LLM and AI agent to research the Bluesky AT Protocol, create a reusable skill, and automate social media tasks.
meefik.dev
Day 4: Chat panel is live! Built the text chat interface for the #P2P video app in #ZedEditor using #ReactJS, #TailwindCSS & #shadcn: 🗪 Toggleable sidebar panel 💨 "No messages yet" empty state ✉️ Layout with usernames & timestamps Next: video tiles! 🚀 #BuildInPublic #DevLog #WebDev #SPA
Day 3: Inside the room! Building the #P2P video app core UI: ⏱️ Room ID & timer 🎛️ Responsive controls 🌓 Theme toggle 📲 QR invite dialog Next stop: text chat! 💬 #TypeScript #ReactJS #TailwindCSS #shadcn #WebDev #BuildInPublic #DevLog
Day 2: Lobby view is alive! Built the "Join Room" view for the #P2P video app with #ReactJS & #shadcn Working: 👤 Name input & Room ID 🎤 Mic toggle, level meter & device selector 📹 Camera toggle+live preview Polishing the visualizer with #AI agent in #ZedEditor felt useful! #DevLog #BuildInPublic
Day 1: Foundations laid! Today I set up the base environment: 📦 Stack: React+TS+Vite+TW+shadcn/ui 🤖 Agents: Added AGENTS.md to guide AI workflows 🌍 i18n: Added i18next for localization Repo: github.com/peerix-dev/p... #ReactJS #TypeScript #Vite #TailwindCSS #DevLog #BuildInPublic #OpenSource
I'm starting a 30-day challenge to build a #P2P video app from scratch using #peerix and local #LLMs in #ZedEditor. Not just "vibe coding". I'm using #AI agents to co-pilot the work. Expect daily micro-updates here. Let's go! 🚀 #WebRTC #JavaScript #DevLog #BuildInPublic
My new guide walks through running self-hosted LLMs (Qwen 3.6 & Zeta 2.1) with Zed Editor using Ollama & Docker on an AMD GPU. Zero latency, zero bills, total privacy. Read the full guide: meefik.dev/2026/06/18/l... #SelfHosted #LLM #Zed #AMD #Ollama #Qwen
Set up self-hosted LLMs for local development
A complete guide to running generative AI models locally on AMD GPU using Ollama and Zed Editor for everyday software development.
meefik.dev
Want to hide data inside PNGs using JS? 🖼️🔐 Check out this pure #JavaScript library for lossless data encoding: 1️⃣ Data-to-Image: Converts raw bytes directly into RGB channels. 2️⃣ #Steganography: Injects up to 1 byte per pixel into an existing image invisibly! meefik.dev/2020/02/22/a...
Encoding and decoding data in PNG with compression
Exploring data encoding and steganography techniques using PNG images with lossless compression in JavaScript.
meefik.dev
If you build a small open source library, please try to keep it zero dependency. When someone installs your tool, they want your code and not a hidden avalanche of 50 sub dependencies they did not ask for. Keep it lightweight. Keep it predictable. Build trust. 📦 Do you agree?
Meet #NEUX: a tiny (~4kb) frontend library for dynamic UIs using native JS & browser APIs! 🚀 Ditch complex compilers & vDOM. Enjoy reactive signals, direct DOM manipulation, true 2-way reactivity, built-in L10n, and simple routing. Perfect for fast SPAs & Web Components! 🔗 meefik.dev/neux/
I created a 5-min #AI podcast using only open-source, self-hosted tools. No expensive, privacy-compromising cloud services. Just testing the limits of a home PC. The result? The "Humanless Podcast". Check out the experiment: meefik.dev/2025/12/10/ai-podcast-from-scratch/