๐๐ฅ๐จ๐ฎ๐ ๐๐๐๐ฌ ๐๐ซ๐ ๐๐ฑ๐ฉ๐๐ง๐ฌ๐ข๐ฏ๐. ๐๐๐ญ๐๐ซ๐ฆ๐๐ฅ๐จ๐ง ๐ข๐ฌ ๐ง๐จ๐ญ. ๐
Vision models grow in their capabilities while the execution demands way fewer resources.
Means: my sales slip scanner-project from two years ago needed an upgrade. Before I was using GPT-4 Vision via the @OpenAI API, which costs you control over your data and a few cents for every analysis.
Now, after intensive benchmarking across a range of 15 models (with ๐๐ฅ๐ฅ๐๐ฆ๐) and some surprising regressions (newer harness doesn’t mean the models execute faster; it can also mean they suddenly run into model load errors…), I put my money on ๐๐ฐ๐๐ง๐.๐:๐๐. A casual language model with a ๐ฏ๐ข๐ฌ๐ข๐จ๐ง ๐๐ง๐๐จ๐๐๐ซ. My own benchmark over the selected models against the huge sample size of three receipts: all three were successfully evaluated. ๐
Then I built a ๐ก๐จ๐ญ-๐๐จ๐ฅ๐๐๐ซ-๐๐จ๐ง๐๐๐ฉ๐ญ around the script, and it works (thank you @Mr Zahorsky โ without whom I would have never come across that idea). For instance: in less than ten seconds, 13 samples were processed, and you get the result sum plus a fancy HTML overview for comparison.
๐๐๐ญ๐ ๐๐ง๐ญ๐ซ๐ฒ can be done for cheap: give the kids the smartphone, snap all receipts, throw out some watermelon slices ๐๐
If you want to run the tool as well, check my GitHub: https://github.com/marcelpetrick/sales-slip-scanner-ng. As said: a local GPU is the only thing you need; ๐ง๐จ ๐๐ฅ๐จ๐ฎ๐, ๐ง๐จ ๐๐๐ ๐ค๐๐ฒ๐ฌ, ๐ง๐จ ๐๐ซ๐๐๐ข๐ญ ๐๐๐ซ๐. Everything is now self-hosted. You’ll also find the benchmark of the vision models there, including the results.
๐๐ก๐ ๐๐ข๐ ๐ช๐ฎ๐๐ฌ๐ญ๐ข๐จ๐ง ๐ข๐ฌ: ๐ฐ๐ก๐๐ญ ๐ฌ๐ก๐จ๐ฎ๐ฅ๐ ๐ ๐๐ฎ๐ญ๐จ๐ฆ๐๐ญ๐ ๐ง๐๐ฑ๐ญ ๐ฐ๐ข๐ญ๐ก ๐ ๐ฅ๐จ๐๐๐ฅ ๐ฏ๐ข๐ฌ๐ข๐จ๐ง ๐ฆ๐จ๐๐๐ฅ? ๐๐ก๐๐ญ ๐ฐ๐จ๐ฎ๐ฅ๐ ๐ฒ๐จ๐ฎ ๐๐จ?
๐ ๐ฅ๐ฎ๐ป ๐ฎ ๐ฎ๐ณ๐ ๐ ๐ผ๐ฑ๐ฒ๐น ๐ผ๐ป ๐ฎ๐ป ๐ด๐๐ ๐๐ฃ๐จ.
๐ฐ๐ฌ ๐บ๐ถ๐ป๐๐๐ฒ๐. That’s all it took me to get Bonsai 27B running locally on an RTX A2000 Laptop GPU with just 8GB of VRAM.
Bonsai 27B is based on Qwen 3.6, but uses PrismML’s custom native ๐-๐๐ข๐ญ ๐๐จ๐ง๐ฌ๐๐ข format, reducing the model to just 3.9GB. A specialized ๐ฅ๐ฅ๐๐ฆ๐.๐๐ฉ๐ฉ fork implements custom CUDA kernels for the 1-bit inference path, making it possible to run the model directly on an 8GB GPU. The runtime exposes an OpenAI-compatible API, so existing tools and agents work without modification.
Performance is a different topic: 15 down to 9 tokens/s.
If you want to give it a try: find my notes and setup-scripts at GitHub: https://github.com/marcelpetrick/codingWithGPT/tree/master/bonsaiTestrun
๐๐ฒ ๐๐ฉ๐ฉ๐ฌ ๐๐ซ๐ ๐ง๐จ๐ญ ๐๐๐๐ง๐๐จ๐ง๐ฐ๐๐ซ๐!
Yesterday, #RitterRadar got some updates: first, all dependencies were refreshed (no more CVEs); then I fixed some bugs I had noticed over the past few weeks; and finally, the best news: a new feature that gives you a copyable list of the events matching your current filter.
So, for instance, if you live near Potsdam and want to see all medieval events within 50 km over the next two months – you get this:
——-
04. Juli 2026 | Kinder- und Sommerfest in Gannahall 2026 | 14641 Nauen (26 km)
04. Juli 2026 – 05. Juli 2026 | Mythologie und Handwerk des Mittelalters 2026 | 15569 Woltersdorf (47 km)
22. Aug. 2026 – 23. Aug. 2026 | Sommerfest Lรผbarser Hofkulturdiverse Konzerte | 13469 Berlin (30 km)
29. Aug. 2026 | Mittelalterliches zum Ackerbรผrgerfest | 14641 Nauen (26 km)
——-
#FastAPI #WebScraping #OpenStreetMap #Geocoding #OpenSource #EventDiscovery
URL to the GitHub-project: https://github.com/marcelpetrick/RitterRadarย if you haven’t given it a try yet โ๏ธ๐
๐๐ญ ๐๐ซ๐๐๐ญ๐จ๐ซ ๐ฌ๐ฉ๐๐ฅ๐ฅ๐๐ก๐๐๐ค โ ๐ง๐จ๐ฐ ๐ฐ๐ข๐ญ๐ก ๐๐๐ ๐ฌ๐ฎ๐ฉ๐ฉ๐จ๐ซ๐ญ
I never wrote a #QtCreator #plugin before. Somehow I always avoided that, because first you have to set up your environment, then build a husk, make it build, yada yada.
But the spellchecker plugin from Carel Combrink was missing support for QML-type files for years now. C++ parsing existed, #QML did not.
๐ฆ๐ผ ๐ ๐ฒ๐ ๐ฝ๐ฎ๐ป๐ฑ๐ฒ๐ฑ ๐ถ๐.
New QML parser added next to the existing C++ parser. As you know: QML is different from C++ ๐
It now scans QML comments and user-visible string literals:
* // line comments
* /* block comments */
* double-quoted strings
* single-quoted strings
* template literals
It also tries hard to not be annoying. It ignores QML/JavaScript code tokens like imports, ids, property names, bindings, and component names. URLs, emails, pure numbers, color values, and all-caps words are filtered out as well.
Source positions are preserved, so underlines and replacements land where they should. It works for current-file and project-wide checks, with background processing, reparsing, and settings for comments and string literals.
Lots of #testing. Unit tests, yes. But also manual testing, because certain aspects were not part of my initial implementation plan. As always.
So now you can use any Hunspell dictionary to check your QML files for typos and get them fixed.
Typos in code and comments are a real concentration breaker while reading code.
๐ ๐ถ๐๐๐ถ๐ผ๐ป ๐ฑ๐ผ๐ป๐ฒ. ๐๐ป๐ผ๐๐ต๐ฒ๐ฟ ๐๐ต๐ถ๐ป๐ด ๐น๐ฒ๐ฎ๐ฟ๐ป๐ฒ๐ฑ. ๐๐ป๐ฑ ๐บ๐ฎ๐๐ฏ๐ฒ ๐๐ต๐ฒ ๐ฝ๐ฎ๐๐ฐ๐ต ๐ถ๐ ๐ฎ๐ฐ๐ฐ๐ฒ๐ฝ๐๐ฒ๐ฑ.
If someone really wants to check the patch themselves on GitHub:
https://github.com/CJCombrink/SpellChecker-Plugin/pull/197
Thanks to Carel Combrink and the other contributors for the existing work this builds on.
๐๐ญ๐๐ง๐๐ข๐ง๐ ๐จ๐ง ๐ญ๐ก๐ ๐ฌ๐ก๐จ๐ฎ๐ฅ๐๐๐ซ๐ฌ ๐จ๐ ๐ ๐ข๐๐ง๐ญ๐ฌ.
#Spellchecking
โ๏ธ๐ ๐ฅ๐ถ๐๐๐ฒ๐ฟ๐ฅ๐ฎ๐ฑ๐ฎ๐ฟ ๐ก๏ธ๐ฐ๐
๐๐ฆ๐ข๐ณ๐ฌ๐ฆ๐ฏ, ๐จ๐ฐ๐ฐ๐ฅ ๐ต๐ณ๐ข๐ท๐ฆ๐ญ๐ญ๐ฆ๐ณ, ๐ข๐ฏ๐ฅ ๐ญ๐ฆ๐ฏ๐ฅ ๐ต๐ฉ๐ช๐ฏ๐ฆ ๐ฆ๐ข๐ณ!
๐๐ช๐ต๐ต๐ฆ๐ณ๐๐ข๐ฅ๐ข๐ณ ๐ช๐ด ๐ข ๐ค๐ถ๐ฏ๐ฏ๐ช๐ฏ๐จ ๐ช๐ฏ๐ด๐ต๐ณ๐ถ๐ฎ๐ฆ๐ฏ๐ต, ๐ง๐ฐ๐ณ๐จ๐ฆ๐ฅ ๐ช๐ฏ ๐ต๐ฉ๐ฆ ๐ง๐ช๐ณ๐ฆ๐ด ๐ฐ๐ง ๐๐บ๐ต๐ฉ๐ฐ๐ฏ, ๐ต๐ฐ ๐ข๐ช๐ฅ ๐ต๐ฉ๐ฆ๐ฆ ๐ช๐ฏ ๐ต๐ฉ๐บ ๐ฏ๐ฐ๐ฃ๐ญ๐ฆ ๐ฒ๐ถ๐ฆ๐ด๐ต: ๐ต๐ฉ๐ฆ ๐ฅ๐ช๐ด๐ค๐ฐ๐ท๐ฆ๐ณ๐บ ๐ฐ๐ง ๐ฎ๐ฆ๐ฅ๐ช๐ฆ๐ท๐ข๐ญ ๐ฎ๐ข๐ณ๐ฌ๐ฆ๐ต๐ด, ๐๐ฆ๐ฏ๐ข๐ช๐ด๐ด๐ข๐ฏ๐ค๐ฆ ๐ง๐ข๐ช๐ณ๐ด, ๐๐ช๐ฌ๐ช๐ฏ๐จ ๐ด๐ฑ๐ฆ๐ค๐ต๐ข๐ค๐ญ๐ฆ๐ด, ๐ข๐ฏ๐ฅ ๐๐ฉ๐ณ๐ช๐ด๐ต๐ฎ๐ข๐ด ๐ณ๐ฆ๐ท๐ฆ๐ญ๐ณ๐ช๐ฆ๐ด ๐ฐ๐ง ๐ต๐ฉ๐ฆ ๐ข๐ฏ๐ค๐ช๐ฆ๐ฏ๐ต ๐ด๐ต๐บ๐ญ๐ฆ – ๐ข๐ค๐ณ๐ฐ๐ด๐ด ๐ต๐ฉ๐ฆ ๐๐ฆ๐ณ๐ฎ๐ข๐ฏ ๐ญ๐ข๐ฏ๐ฅ๐ด ๐ข๐ฏ๐ฅ ๐ฃ๐ฆ๐บ๐ฐ๐ฏ๐ฅ.
๐๐ฉ๐ช๐ด ๐ต๐ฐ๐ฐ๐ญ ๐ฅ๐ฐ๐ต๐ฉ ๐ฅ๐ช๐ด๐ฑ๐ข๐ต๐ค๐ฉ ๐ต๐ช๐ณ๐ฆ๐ญ๐ฆ๐ด๐ด ๐ธ๐ฆ๐ฃ-๐ค๐ณ๐ข๐ธ๐ญ๐ช๐ฏ๐จ ๐ข๐จ๐ฆ๐ฏ๐ต๐ด ๐ช๐ฏ๐ต๐ฐ ๐ต๐ฉ๐ฆ ๐ท๐ข๐ด๐ต ๐ฅ๐ช๐จ๐ช๐ต๐ข๐ญ ๐ธ๐ช๐ญ๐ฅ๐ฆ๐ณ๐ฏ๐ฆ๐ด๐ด. ๐๐ฉ๐ฆ๐บ ๐ณ๐ฆ๐ต๐ถ๐ณ๐ฏ ๐ญ๐ข๐ฅ๐ฆ๐ฏ ๐ธ๐ช๐ต๐ฉ ๐ต๐ช๐ฅ๐ช๐ฏ๐จ๐ด ๐ฐ๐ง ๐ง๐ฐ๐ณ๐ต๐ฉ๐ค๐ฐ๐ฎ๐ช๐ฏ๐จ ๐ฆ๐ท๐ฆ๐ฏ๐ต๐ด – ๐ต๐ฉ๐ฆ๐ช๐ณ ๐ฏ๐ข๐ฎ๐ฆ๐ด, ๐ต๐ฉ๐ฆ๐ช๐ณ ๐ฅ๐ข๐ต๐ฆ๐ด, ๐ต๐ฉ๐ฆ๐ช๐ณ ๐ธ๐ฉ๐ฆ๐ณ๐ฆ๐ข๐ฃ๐ฐ๐ถ๐ต๐ด โ ๐ข๐ฏ๐ฅ ๐ด๐ต๐ฐ๐ณ๐ฆ ๐ข๐ญ๐ญ ๐ธ๐ช๐ต๐ฉ๐ช๐ฏ ๐ข ๐ญ๐ฐ๐ค๐ข๐ญ ๐ต๐ณ๐ฆ๐ข๐ด๐ถ๐ณ๐บ ๐ฐ๐ง ๐๐๐๐ช๐ต๐ฆ.
๐๐ฑ๐ฐ๐ฏ ๐ต๐ฉ๐ช๐ฏ๐ฆ ๐ฐ๐ธ๐ฏ ๐ฎ๐ข๐ค๐ฉ๐ช๐ฏ๐ฆ ๐ช๐ต ๐ฅ๐ฐ๐ต๐ฉ ๐ณ๐ฆ๐ฏ๐ฅ๐ฆ๐ณ ๐ข ๐ฎ๐ฐ๐ด๐ต ๐ฃ๐ฆ๐ข๐ถ๐ต๐ช๐ง๐ถ๐ญ ๐ช๐ฏ๐ต๐ฆ๐ณ๐ข๐ค๐ต๐ช๐ท๐ฆ ๐ฎ๐ข๐ฑ, ๐ธ๐ฉ๐ฆ๐ณ๐ฆ๐ถ๐ฑ๐ฐ๐ฏ ๐ต๐ฉ๐ฐ๐ถ ๐ฎ๐ข๐บ๐ฆ๐ด๐ต ๐ณ๐ถ๐น๐๐ฒ๐ฟ ๐ฏ๐ ๐ฝ๐ฒ๐ฟ๐ถ๐ผ๐ฑ (๐ธ๐ฉ๐ช๐ค๐ฉ ๐ฎ๐ฐ๐ฏ๐ต๐ฉ๐ด ๐ต๐ฉ๐ฐ๐ถ ๐ธ๐ช๐ด๐ฉ๐ฆ๐ด๐ต ๐ต๐ฐ ๐ด๐ถ๐ณ๐ท๐ฆ๐บ) ๐ข๐ฏ๐ฅ ๐ณ๐ถ๐น๐๐ฒ๐ฟ ๐ฏ๐ ๐๐ฝ๐ฎ๐ฐ๐ฒ (๐ต๐ฉ๐บ ๐ฉ๐ฐ๐ฎ๐ฆ ๐ฑ๐ฐ๐ด๐ช๐ต๐ช๐ฐ๐ฏ ๐ข๐ฏ๐ฅ ๐ข ๐ณ๐ข๐ฅ๐ช๐ถ๐ด ๐ฐ๐ง ๐ต๐ฉ๐บ ๐ค๐ฉ๐ฐ๐ฐ๐ด๐ช๐ฏ๐จ, ๐ง๐ณ๐ฐ๐ฎ ๐ข ๐ด๐ต๐ฐ๐ฏ๐ฆ’๐ด ๐ต๐ฉ๐ณ๐ฐ๐ธ ๐ต๐ฐ 1024 ๐ญ๐ฆ๐ข๐จ๐ถ๐ฆ๐ด). ๐๐ญ๐ช๐ค๐ฌ ๐ถ๐ฑ๐ฐ๐ฏ ๐ข๐ฏ๐บ ๐ฎ๐ข๐ณ๐ฌ๐ฆ๐ณ ๐ต๐ฐ ๐ญ๐ฆ๐ข๐ณ๐ฏ ๐ต๐ฉ๐ฆ ๐ง๐ถ๐ญ๐ญ ๐ฑ๐ข๐ณ๐ต๐ช๐ค๐ถ๐ญ๐ข๐ณ๐ด. ๐๐ฉ๐ฆ ๐ค๐ณ๐ข๐ธ๐ญ๐ฆ๐ณ ๐ณ๐ถ๐ฏ๐ฏ๐ฆ๐ต๐ฉ ๐ช๐ฏ ๐ต๐ฉ๐ฆ ๐ฃ๐ข๐ค๐ฌ๐จ๐ณ๐ฐ๐ถ๐ฏ๐ฅ; ๐ต๐ฉ๐ฆ ๐ฎ๐ข๐ฑ ๐ณ๐ฆ๐ง๐ณ๐ฆ๐ด๐ฉ๐ฆ๐ต๐ฉ ๐ฐ๐ฏ ๐ช๐ต๐ด ๐ฐ๐ธ๐ฏ ๐ข๐ค๐ค๐ฐ๐ณ๐ฅ.
๐๐ฐ ๐ค๐ญ๐ฐ๐ถ๐ฅ. ๐๐ฐ ๐ข๐ค๐ค๐ฐ๐ถ๐ฏ๐ต๐ด. ๐๐ฐ ๐ฅ๐ข๐ต๐ข ๐ญ๐ฆ๐ข๐ท๐ฆ๐ต๐ฉ ๐ต๐ฉ๐บ ๐ฎ๐ข๐ค๐ฉ๐ช๐ฏ๐ฆ. ๐๐ฉ๐ถ๐ด: ๐ข ๐ฉ๐ฆ๐ญ๐ฑ๐ฆ๐ณ ๐ต๐ฐ๐ฐ๐ญ ๐ต๐ฉ๐ข๐ต ๐ค๐ณ๐ข๐ธ๐ญ๐ฆ๐ต๐ฉ ๐ต๐ฉ๐ฆ ๐ธ๐ฆ๐ฃ ๐ธ๐ช๐ต๐ฉ ๐ค๐ถ๐ด๐ต๐ฐ๐ฎ ๐ค๐ณ๐ข๐ธ๐ญ๐ฆ๐ณ๐ด, ๐ฑ๐ณ๐ฆ๐ด๐ฆ๐ฏ๐ต๐ฆ๐ต๐ฉ ๐ต๐ฉ๐ฆ ๐ง๐ช๐ฏ๐ฅ๐ช๐ฏ๐จ๐ด, ๐ข๐ฏ๐ฅ ๐ข๐ญ๐ญ๐ฐ๐ธ๐ฆ๐ต๐ฉ ๐ต๐ฉ๐ฆ๐ฆ ๐ต๐ฐ ๐ด๐ช๐ง๐ต ๐ต๐ฉ๐ฆ๐ฎ ๐ฃ๐บ ๐ต๐ช๐ฎ๐ฆ ๐ข๐ฏ๐ฅ ๐ฃ๐บ ๐ฅ๐ช๐ด๐ต๐ข๐ฏ๐ค๐ฆ. ๐๐ฐ๐ต๐ฉ๐ช๐ฏ๐จ ๐ฎ๐ฐ๐ณ๐ฆ, ๐ฏ๐ฐ๐ต๐ฉ๐ช๐ฏ๐จ ๐ญ๐ฆ๐ด๐ด – ๐ฃ๐ถ๐ต ๐ง๐ข๐ด๐ฉ๐ช๐ฐ๐ฏ๐ฆ๐ฅ ๐ธ๐ช๐ต๐ฉ ๐ค๐ข๐ณ๐ฆ.
——-
Also: Wir besuchen recht gerne Mittelaltermรคrkte. Jetzt ist es so, dass die Schaustellergruppen umherziehen beziehungsweise bestimmte Events an historischen Orten stattfinden. Ich wohne nicht an einem historischen Ort.
Also sucht man eine der vielen Seiten im Netz auf, die Termine auflisten. Diese sind รผber die Jahre gewachsen, und viele Seiten bieten auch Komfortfunktionen wie โFilter nach Datum oder Bundeslandโ an, aber:
* ๐๐ฟ๐ฎ๐ด๐บ๐ฒ๐ป๐๐ถ๐ฒ๐ฟ๐๐ป๐ด: Nicht alle Seiten zeigen โalle Eventsโ
* Ein Filter nach Bundesland hat das Problem, dass man alles einzeln sichten muss, wenn man auch gewillt ist, Landesgrenzen zu รผberschreiten (oder eben ungefiltert, yada yada)
* ๐๐ถ๐น๐๐ฒ๐ฟ๐๐ป๐ด ๐ป๐ฎ๐ฐ๐ต ๐ญ๐ฒ๐ถ๐๐ฟ๐ฎ๐๐บ (Vergangenes interessiert mich nicht)
Also, wie man sieht: ein komplexer Task, wenn man sich einen Plan fรผr die nรคchsten Monate machen mรถchte. Durchaus lรถsbar, aber wie Clarence Bleicher sagt: โ[..] ๐๐ต๐ฎ๐ ๐๐ต๐ฒ๐ป ๐ต๐ฒ ๐ต๐ฎ๐ฑ ๐ฎ ๐ต๐ฎ๐ฟ๐ฑ ๐ท๐ผ๐ฏ, ๐ต๐ฒ ๐๐ผ๐๐น๐ฑ ๐ฎ๐๐๐ถ๐ด๐ป ๐ถ๐ ๐๐ผ ๐ฎ โ๐น๐ฎ๐๐ ๐บ๐ฎ๐ปโ ๐ฏ๐ฒ๐ฐ๐ฎ๐๐๐ฒ ๐๐ต๐ฒ๐ ๐๐ผ๐๐น๐ฑ ๐ณ๐ถ๐ป๐ฑ ๐ฎ๐ป ๐ฒ๐ฎ๐๐ ๐๐ฎ๐ ๐๐ผ ๐ฑ๐ผ ๐ถ๐.โ โ kein Job fรผr mich ๐
Nun bin ich auch KEIN Webentwickler. Aber das sollte mich nicht daran hindern, โRitter Radarโ zu entwickeln.
Eine App, die aus mehreren Webcrawlern sowie Front- und Backend besteht. Alle bekannten Mittelaltermarkt-Seiten werden durchsucht, die Ergebnisse kommen in eine lokale Datenbank, und dann hat man die Mรถglichkeit, in einem Web-UI nach Entfernung zum Startort und Zeitraum zu filtern. Easy peasy.
BeautifulSoup, OpenStreetMap, Python, SQLite, Uvicorn, ein bisschen HTML und CSS … und fertig.
Ich habe es bisher nicht auf ein Web-Deployment getrimmt, weil ich die Arbeit der Ersteller der Mittelaltermarkt-Seiten honoriere. Wenn ich jetzt so ein Portal hosten wรผrde, wรคre ich wie Google mit den KI-Suchergebnissen: Eine Zusammenfassung drรคngt sich zwischen Nutzer und Ersteller und fรคngt so Webseiten-Traffic ab.
Daher: Einfach auf https://github.com/marcelpetrick/RitterRadar das Repository klonen und selbst bootstrappen: zwei Shell-Skripte ausfรผhren, fertig ist der Lack. โ๏ธ๐
Disable the “Dell Command Update”
Configured Dell Command Update for manual operation and disabled notifications:
powershell
& "C:\Program Files\Dell\CommandUpdate\dcu-cli.exe" /configure -scheduleManual
powershell
& "C:\Program Files\Dell\CommandUpdate\dcu-cli.exe" /configure -updatesNotification=disable
## Result:
* Updates are set to **Manual Only**
* Update notifications are **Disabled**
The Dell Command Update Settings dialog correctly reflects both settings.
Problem: The repository ‘http://de.archive.ubuntu.com/ubuntu impish Release’ no longer has a Release file.
Solution:
sudo sed -i 's/impish/jammy/g' /etc/apt/sources.list
sudo apt update && sudo apt full-upgrade
Manjaro Linux: “Account locked due to three failed login attempts..”
So annoying ..
Edit /etc/security/faillock.conf with sudo and add deny = 0.
Today I handed in my first #ProductProposal ๐ฅณ
And it was quite fun to write it.
Since pitching products is not my day-to-day business I spent some time to research how to write such a proposal. My first search results were aimed at “elevator pitches” or “startup pitches”. So I had to dig deeper ..
Anyway: due to confidentiality I can’t show-case anything here. I can only share this: I drew some #mockups with draw.io, put in the technical features and spent the majority of the time on writing a teaser. Something which will catch the audience immediately and makes them think: wow, we really have to sponsor this project!
Oh, why do I say “we”? #datamodul opened an innovation contest to source the ideas of their employees. Quite a clever idea. And a team can achieve so much more than a collection of individuals.
So .. even if that proposal is a dud, I learned some things, especially about writing a proper introduction. My first iteration was quite technical ๐
# Lessons learned:
* How to do a proper pitch, reduce technical details, appeal to a #vision, create a pitch deck with slides
* But also: go fast, break things. Too much time was spent on refinement and polishing. I had set myself an arbitrary date six weeks ago and in retrospective I had already 80% of the material at that time. I’ll be better next time: #time-boxing upfront.
Coursera: project management
I’ve finished the “Foundations of Project Management” on the weekend. This is the first milestone out of six for the “Google Project Management: Professional Certificate”.
This was my first Coursera-online learning-experience and I liked it. A quite refreshing mix out of videos, quizzes and reading which kept me on track. Even finished some days earlier than anticipated by the regular four week-schedule ๐
I’ll definitely continue because my day-to-day business requires a lot of management .. and even with some hands-on experience, there is always the opportunity to improve.









