online · mecke@mecke.dev
— · — · --:--:-- · up 00:00
↕ drag

Need something sharp built?
I build it right. 

I build custom websites, automation, desktop tools, live dashboards, AI workflows, and the odd technical idea that does not fit a template. Bring the messy goal. I will scope it, build it, and hand you something you can actually use.

this whole lab — terminal, voice control, voxel world, OS sandbox, games, synth, CS2 trivia, ~20k embedded items — ships as a tiny static bundle. plain html · css · js · no node_modules · no build
— mecke@mecke.dev · interactive shell
// hello. type help to explore the lab.
// try customize, voice, or games.
mecke@dev:~$
history · tab autocomplete · esc clear input
live · 3d

Voxel World

A first-person voxel scene with mining, placement, collision, terrain, and a hidden reward loop.

three.jsFP cameraraycast~30² grid
enter world
live · physics

Gravity Mode

Turn the page into a physics toy. Drag, fling, reset, and watch the interface fall apart on purpose.

verletcollisiondrag · flingfixed reset
unleash gravity
say: open desktop
live · speech

Voice Console

Control the site with spoken commands. Change themes, open tools, start games, and trigger the weird stuff.

Web Speechcommandshands-freemic UI
start listening
live · desktop

MECKE OS

A browser-native desktop with files, paint, synth, calculator, terminal, boot flow, and draggable windows.

9 appsfake fswindow mgrboot screen
boot desktop
M E C K E
play · word

Wordle

Six guesses, five letters, flip reveals, keyboard input, and a compact DOM game loop.

CSS 3Dkeyboardstagger fx~200 words
start guessing
play · logic

Sudoku

Generated 9x9 puzzles with notes, peer highlights, conflict checks, difficulty levels, and solve feedback.

generator3 levelspencil modesolver
solve a board
24816 481632 8163264 163264128
play · puzzle

2048

Swipe or use keys to merge tiles, chase the high score, and keep the board alive.

raf-loopswipepersisted hi-score
slide tiles
play · memory

Memory Match

Eight hidden pairs, 3D flips, timing, move counts, shuffled boards, and a satisfying match pulse.

CSS 3D fliptimermovesshuffle
flip a card
play · cs2 trivia

CS_Guess

Identify a blurred Counter-Strike 2 item from a huge offline registry. Hints unlock as the image clears.

~20k itemsgzip+base64fully offlinesteam CDN
enter briefing
tool · web-audio

Synth Lab

A polyphonic Web Audio workstation with oscillators, envelopes, LFOs, filter, FX, sequencer, drums, MIDI, and recording.

3-oscFX chain16-step seqWebMIDIpresets
open the lab
↕ drag
01 services.txt

What I can ship for you.

One-off projects, fixed scopes, and practical builds. If it belongs on a screen, talks to an API, saves time, or makes your business look sharper, it is probably in range.

pidservicewhat that meanstimelinestatus
001website Landing pages, portfolios, dashboards, internal tools, and focused product sites built around the action you need visitors to take. 3d–3wkaccepting
002script Small programs that watch folders, reshape data, scrape sites, sync systems, post updates, or remove the boring task from your day. hours–daysaccepting
003desktop_app Native-feeling Windows or cross-platform apps with clean UI, local files, background tasks, and workflows that feel fast. 2–6wkaccepting
004realtime_tool Live parsers, overlays, monitors, dashboards, websocket flows, and helpers that react as events happen. 1–3wkaccepting
005ai_workflow LLM pipelines, custom agents, document workflows, and tool-using assistants aimed at real time saved, not novelty chat boxes. 1–4wkaccepting
006something_weird Gaming utilities, hardware glue, NixOS work, knowledge graphs, data ontologies, strange integrations. If it is code, ask. dependsask
↕ drag
02 recent.log

Proof that things leave the workbench.

A short sample, not a museum. The important part: ideas turn into working software.

// recent [ship] Real-time Counter-Strike chat translator. Tails logs, parses chat, translates messages as they arrive, and displays them in a desktop overlay.
// recent [ship] Vorsorge desktop app. A lean Tauri + Svelte app with a modern frontend wired to a Rust backend.
// recent [ship] Pin collection platform. Responsive browsing, filtering, sponsor integration, and UI shaped around collectors.
// recent [wip ] Knowledge graph and documentation system. Ontology-shaped notes for games, developers, locations, media, and cross-links.
// ongoing [note] Plus scripts, NixOS configs, and utility tooling. The quiet stuff that makes everyday work smoother.
↕ drag
03 stack.txt

Modern does not have to mean bloated.

This site is the pitch deck and the proof. Terminal, voice commands, physics, voxel world, desktop sandbox, games, synth lab, and a CS2 trivia database all run from static files. No app server, no build pipeline, no dependency pile just to show a button.

// 01

Static, but alive.

Structure, styling, behavior, and the embedded CS2 registry are split by job. view-source: still tells the truth. No hidden app server required.

index.htmlassets/cssassets/js
// 02

Zero build step.

No webpack. No vite. No node_modules mountain. Edit, refresh, ship. The boring path wins when the project allows it.

no bundlerno transpileno CI minute burn
// 03

Hand-coded where it matters.

Vanilla JS and custom CSS handle the interface. Three.js powers the voxel world. The OS sandbox, terminal, games, synth controls, and voice layer are purpose-built.

vanilla jsthree.jsweb audio · canvas
// 04

The stack follows the problem.

Sometimes the right answer is one HTML file. Sometimes it is Tauri + Svelte, a websocket service, an LLM workflow, or a small script running at 03:00. The point is useful software without maintenance drag.

right toolsmall surfaceactually finished
↕ drag
04 process.md

How we get from idea to shipped.

A lightweight loop: clear scope, visible progress, working delivery.

[step 1]tell Send the problem, goal, or rough idea. A paragraph is enough. Screenshots help.
[step 2]scope I reply with fit, rough timeline, budget shape, and what I need from you to begin.
[step 3]build I build in visible increments, keep the scope honest, and adjust with you while the thing is still easy to change.
[step 4]ship You get the working product, source, and a short handover. Small delivery fixes are included.
↕ drag
05 contact.sh

Bring me the thing you want built.

A few sentences are enough to start. I read everything and reply with a practical next step.

awaiting input · this opens your mail client
or just email contact@mecke.dev
↕ reorder mode · drag sections to rearrange · click again to exit
⚡ physics mode · drag and throw · type physics off to stop
amber found
0 / 0
WASD move · SPACE jump · MOUSE look · LMB mine · RMB place · 17 select
click canvas to capture mouse · find every amber block to claim a reward
★ ALL AMBER COLLECTED ★
a monument has been raised at spawn. you found every block — that's the kind of curiosity I want to work with.
claim · email me
loading 3d engine...
F
Files
=
Calculator
A
Notepad
/\\
Paint
♪♪
Synth
~~
Snake
*
Minesweeper
$_
Terminal
?
About
--:--
wordle guess 1/6 · streak 0
sudoku level easy · time 00:00 · mistakes 0
filled 0/81
2048 slide · merge · ascend
or WASD · swipe · R reset
score0
best0
memory match find all 8 pairs
moves 0 matched 0/8 time 00:00
cs_guess round 001 · pool
TARGET // CLASSIFIED
ROUND 001
SCANNING
ATTEMPTS 0 / 6
IDENTIFICATION INPUT
POOL // —
GUESS LOG
0 ENTRIES
// No guesses logged yet //
CS_GUESS
BOOTING EMBEDDED REGISTRY
Decompressing embedded registry…

// MISSION COMPLETE

Attempts
Time
SHARE GRID
⬛⬛⬛⬛⬛⬛

// OPERATOR STATISTICS

ATTEMPT DISTRIBUTION

// MISSION BRIEFING

OBJECTIVE

Identify the classified Counter-Strike 2 item in 6 attempts or fewer. The target can be any item from the CS2 universe — weapon skins, knives, gloves, stickers, agents, music kits, graffiti, collectibles, cases, keys, and more.

PROGRESSIVE REVEAL

Each attempt declassifies more visual data — the image becomes less obscured — and unlocks one additional intel hint about the target.

FEEDBACK CODES

GREEN — Correct identification.
ORANGE — Right weapon (skins) or right category (other items).
YELLOW — Right finish/pattern, wrong weapon.
RED — Wrong on all axes.

INPUT

Type any item's name in the identification input. Use the dropdown's thumbnails to verify before submitting.

synth_lab voices 0 · midi · poly

// SYNTH_LAB BRIEFING

A polyphonic subtractive synthesiser built entirely from the Web Audio API. Three oscillators per voice, dual envelopes, dual LFOs, multi-mode filter, full FX chain, arpeggiator, 16-step sequencer, drum machine, MIDI input, and recording.

Keyboard

Bottom row zm+,/ = lower octave · upper row qp = upper octave · sharps on the row above.

/ = octave shift · / = mod wheel · space = sustain pedal.

Mouse wheels

The two strips left of the keyboard are pitch-bend (springs back) and mod-wheel (sticky). Drag vertically.

Sequencer / Arp / Drum

Click the LED on each card header to enable. Right-click a sequencer step to set its MIDI note. The arpeggiator plays whatever notes you're holding.

MIDI

Click connect midi in the preset card. Pitch-bend and mod-wheel CCs are mapped automatically.

Recording

Hit ⏺ rec in the top bar — output is captured as .webm and downloaded when you stop.

listening…