Sign in

meefik

@meefik.dev
108 followers 157 following 47 posts

Software engineer focused on digital sovereignty. Writing about FOSS, Linux, and P2P networking while building with self-hosted tools & local LLMs. Like coffee ☕️, geese 🪿, rain 🌦, and walks in the park 🏕. 🐙 github.com/meefik 🌐 meefik.dev

PostsRepliesMedia
meefik @meefik.dev · 05/08/2026
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
090
meefik @meefik.dev · 04/08/2026
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! 🧑‍💻
040
meefik @meefik.dev · 02/08/2026
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...
042
meefik @meefik.dev · 01/08/2026
You can finally use #Neux (neux.dev) with #AI agents: npx skills add meefik/neux #TypeScript #JavaScript #WebDev
Neux skill for AI agents.
021
meefik @meefik.dev · 28/07/2026
The #Neux front-end library now has detailed documentation powered by #TypeDoc (neux.dev) and a new cute logo 🐦‍⬛
Neux is a TypeScript front-end library.
061
meefik @meefik.dev · 21/07/2026
🚀 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.com
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
030
meefik @meefik.dev · 20/07/2026
What else can be done: ✔️ Video quality settings (resolution & bitrate controls) ✔️ Active speaker indication ✔️ Low signal/network quality indicator ✔️ Raise Hand functionality ✔️ Keyboard navigation support ✔️ Chat history synchronization ✔️ Local video recording
010
meefik @meefik.dev · 20/07/2026
App: talk.peerix.dev Source: github.com/meefik/peeri...
github.com
GitHub - meefik/peerix-talk: A peer-to-peer web video conferencing app with Peerix
A peer-to-peer web video conferencing app with Peerix - meefik/peerix-talk
010
meefik @meefik.dev · 20/07/2026
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
meefik.dev
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.
371
meefik @meefik.dev · 19/07/2026
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
061
meefik @meefik.dev · 19/07/2026
Peerix's core idea is pluggable signaling drivers. You can test app logic and UI backend-free using BC, then easily swap to MQTT or something else. This flexibility lets you reuse existing server infrastructure without adding new backend components. All drivers are already tested by Peerix itself.
100
meefik @meefik.dev · 17/07/2026
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
This is the Peerix documentation page about the MQTT driver.
231
meefik @meefik.dev · 15/07/2026
Actually, before writing any E2E automated tests, I teach a local AI agent to perform the tests manually using Playwright MCP, like a human tester. It analyzes the code and my instructions to create a test plan and then executes it without requiring extra code.
010
meefik @meefik.dev · 14/07/2026
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
152
meefik @meefik.dev · 13/07/2026
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
1110
meefik @meefik.dev · 11/07/2026
they felt good 🙂
010
meefik @meefik.dev · 10/07/2026
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
250
meefik @meefik.dev · 09/07/2026
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
031
meefik @meefik.dev · 09/07/2026
The most difficult part is accounting for all the asynchronous edge cases that need to be handled
010
meefik @meefik.dev · 08/07/2026
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
181
meefik @meefik.dev · 08/07/2026
Yes, all P2P will be over WebRTC, and I'll implement it a bit later 🙂
010
meefik @meefik.dev · 08/07/2026
#WoodlandWednesday
Park and canalPark and Thunderstorm
010
meefik @meefik.dev · 07/07/2026
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
290
meefik @meefik.dev · 06/07/2026
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
080
meefik @meefik.dev · 05/07/2026
Have fun with the Peerix song 🎵
000
meefik @meefik.dev · 05/07/2026
I'll post the next update about video tiles tomorrow. Stay in touch!
000
meefik @meefik.dev · 05/07/2026
It may be the chat history.
000
meefik @meefik.dev · 05/07/2026
I thought about it. I suppose that will use CRDTs to sync some data across peers.
200
meefik @meefik.dev · 05/07/2026
I'll use Peerix, which implements a room-based approach with multiple peers and is a good fit for the conferencing app.
110
meefik @meefik.dev · 05/07/2026
First of all, I want to implement the entire basic UI, move its control into a separate API, and then integrate WebRTC via Peerix into the UI's controls.
000
meefik @meefik.dev · 05/07/2026
Everything will be done via data channels. The signaling channel will only be used for the initial connection.
110
meefik @meefik.dev · 04/07/2026
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
4101
meefik @meefik.dev · 03/07/2026
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
0140
meefik @meefik.dev · 02/07/2026
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
040
meefik @meefik.dev · 01/07/2026
Sorry, but it's not ready yet. I'll publish it right after I finish this code challenge. Let's see what the end result is 😀
000
meefik @meefik.dev · 01/07/2026
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
Zed Editor with the open AGENTS.md file.
1100
meefik @meefik.dev · 30/06/2026
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
260
meefik @meefik.dev · 20/06/2026
#LLM performance on #AMD Radeon AI PRO R9700 (32GB VRAM) using #ROCm 7.2: input/output tokens per second and VRAM usage at a 128k context length with Q8 KV cache. Ollama + Q4_K_M models.
LLM Performance on AMD Radeon AI PRO R9700 (32GB VRAM) using ROCm 7.2
000
meefik @meefik.dev · 18/06/2026
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
meefik.dev
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.
050
meefik @meefik.dev · 10/06/2026
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...
meefik.dev
Encoding and decoding data in PNG with compression
Exploring data encoding and steganography techniques using PNG images with lossless compression in JavaScript.
120
meefik @meefik.dev · 08/06/2026
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?
node_modules meme
120
meefik @meefik.dev · 07/06/2026
You're right. I used the GPT-OSS 20B model for the text scenario with manual review.
000
meefik @meefik.dev · 07/06/2026
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/
020
meefik @meefik.dev · 06/06/2026
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/
110
meefik @meefik.dev · 05/06/2026
I benchmarked #LLM performance on AMD Radeon AI PRO R9700 with Ollama, comparing ROCm 7.1 vs 6.4 across 8 models (Mistral, Llama, Qwen, GPT-OSS, DeepSeek, and more). Result: visible gains in prompt throughput (+87% avg) and faster responses (+11% avg). More details here: meefik.dev/2026/05/31/l...
A chart shows an LLM performance comparison for the AMD R7000 (ROCm 7.1), AMD R7000 (ROCm 6.4), MacBook Pro M4 Max, and AMD Ryzen 9 5950X.
020
meefik @meefik.dev · 04/06/2026
Recently launched Peerix, a lightweight, open-source JS library for painless peer-to-peer #WebRTC apps. 🌐 Direct browser-to-browser data/streaming 🔌 Drivers for MQTT, NATS, SSE, Supabase, etc. ✨ TS-first, zero deps, minimal API 🛠️ Auto-handles collisions & reconnects Check it out! peerix.dev
peerix.dev
Peerix | WebRTC development made simple
Peerix is a JavaScript/TypeScript library that removes the friction from building WebRTC peer-to-peer applications.
020
meefik @meefik.dev · 02/06/2026
👋 Hello Bluesky! Dropping my #introduction post. I'm Anton (meefik), an open-source developer. Looking forward to connecting with the Linux, P2P, JavaScript, and open-source crowd here! You can read about me and my projects on my blog: meefik.dev
meefik.dev
Meefik’s Blog
Thoughts, tutorials and ideas about programming, technology and open source.
031