Kategorien
Meine Geschichte myprojects

From Office Scripts to Alexa: A Snapshot of My AI Coding Projects

I haven’t been able to keep up with writing blog posts about my AI-supported coding projects the last weeks, so I decided to make a list instead. I’d love to hear your feedback and ideas.

I’m fully aware of the limitations, downsides and risks, however my personal wow-moment with AI-supported coding still hasn’t faded. Working on small side projects in the evening feels a bit like 2005 again. The best part is how much I’m learning left and right, especially when it comes to seeing the bigger landscape of coding. This new AI powered world has pushed me into all kinds of areas, from Amazon Alexa skills to Office Scripts and connecting physical triggers to code. It feels a bit like riding my seven different types of bicycles: you won’t become a world champion, but it’s a lot of fun.

Business

Text Bloc Outlook add-in

My sales team used to work with a huge Excel sheet full of email text blocks for client communication. Outlook templates never really worked for this use case as they have to combine different blocs.
With help from Codex, I built an Outlook add-in that lets them quickly search for and insert the right text blocks.

Who is in the office today?

My teams use a shared Excel file to show whether they are in the office, at home, or on holiday. It works well for a quick overview (better then our time toggle tool), but I was too lazy to open it and kept asking, “Are you in the office today?”
They did not like it ;) So, I combined an Office Script with Power Automate. The script reads the Excel file surprisingly well, even with all the notes and descriptions in it, and I get an email every morning with the staff status for today and the next few days. Again: Highly customized :)

Expenses

This was a big one for me as I am lazy with expenses. Using Claude Code, I built a highly customized Python tool that runs OCR on photos of receipts and extracts data such as amount and category. I can then quickly review each receipt before the tool creates a clean Excel file (template) with all relevant data. Best of all, it combines all receipts into one PDF, complete with numbering and color coding. This tool will eventually be replaced by an automated expenses tool, but until then it saves me hours of messy work.

Sales reminder

This one is very simple and I just add this here to show how easy automation is in daily business without heavy SaaS tools. Our sales team tracks leads in a SharePoint list and they asked for an email reminder if a lead is not followed up. A simple Power Automate flow does the job perfectly, and probably even better than many lead-tracking tools, because I can customize the email layout and content in minutes. There are dedicated tools for this, of course, but with the help of Co-Pilot we can build solutions like this in minutes.

Family

Volume Slider

My mother has a visual impairment, and like many people in my generation, I am taking care of her Linux PC setup. She was struggling to adjust the volume and somehow managed to even mute the external sound device. So within five minutes, I vibe-coded an always-visible sound bar plus a mute reset that runs every minute. Simple, but it saves me a lot of interruptions.

Alexa Family Quiz

Alexa may feel a bit outdated, and I mostly use it for simple things like “Alexa, open the door” or “Alexa, TuneIn.” But I always had the “dream” to create one day a quiz app based on family questions. With Claude I created a simple quiz app with questions stored in a Google Spreadsheet. It will probably stay in dev mode forever, but we’re having a lot of fun with it because I can add funny questions so easily.

Gym Tracker

My very first 100% vibe-coding project was a countdown timer web app for the gym. For me, that was the eye-opener: why not replace as many apps as possible with my own tools? It took me a while to replace my gym tracker for check-in and check-out, but now I have a web app where I can start and stop a session, add a few comments, and that’s it. The sessions are stored in a Google Sheet, which I love. No vendor lock-in, just clean data.

Smart Tourism Index

And then, of course, there is my big project smarttourismindex.org, where I’ve made heavy use of AI to build data connectors that merge different public data sources. The goal is to have an index of places in Switzerland that offer great access to points of interest without suffering from overtourism.

This project is a great example of how AI accelerates experimentation. To get to the final result, I had to test many different ways of calculating the values. Without AI, that would have taken me weeks.

That’s it for now. More to come :) Happy coding!

Kategorien
myprojects

Workout Timer & Gym Tools — einfache Tools fürs Training ohne App

Ich habe endlich eine Übersicht meiner Webapps für meine Gym-Sessions erstellt.

Die Idee hinter der Eigenentwicklung ist einerseits , dass die Webapps genau auf meine Bedürfnisse zugeschnitten sind, und andererseits, dass sie „offen“ sind.

Die Daten werden in Google Sheets gespeichert, die ich beliebig auswerten, exportieren etc. kann.

Zudem weiss ich bei eigenem Code, dass kein verstecktes Tracking eingebaut ist und meine Daten so gespeichert werden, wie ich es will. Dass ich nicht konstant auf „Add Premium for -50% off“ hingewiesen werde, ist ein weiterer Vorteil.

Claude Code sei Dank ist der Zeitaufwand für die Entwicklung und das Testen solcher Mini-Applikationen 1000-fach gesunken. Und für ich ist das schönste, dass Change Requests innert Minuten live sind – und Request brauchts auch bei solch simplen Apps. Die Vorstellung, beim Start bereits alle Requirements vollständig beisammenzuhaben, ist eine Illusion.

Hier die Übersicht der Apps:

Timer:
Ein sehr simpler Timer, um die Pausen zwischen den Reps zu stoppen. Da ich manchmal Supersets mache, habe ich zwei Buttons integriert. Kein Tracking, nichts.

Core Interval:
Ein Ablauf von 4 Übungen, die ich 3-mal mache (3 Laps).

Reaction:
Da ich es langweilig finde, 100 Box Jumps einfach so zu machen, habe ich einen Reaction Timer entwickelt. Innerhalb eines festgelegten Intervalls (z.B. zwischnen 2 und 5 Sekunden) „beeps“ und ich springe auf die Box. Die App kann auch prima für andere Trainings genutzt werden.

Check In:
Die Kern-App ist ein simpler Gym-Time-Tracker. Ich habe über Jahre Wahoo etc. genutzt, die nun wohl meine Trainingszeiten sehr genau kennen…

Diese Webapp schreibt meine Start- und Endzeit in ein Google Spreadsheet, fertig :)

Keine Rep-Tracker:
Das mache ich wieder auf Papier :)

Zum GitHub geht es hier: https://github.com/Lioninside/gym

Kategorien
myprojects

Alte Fahrradbeleuchtung auf LED und Akku umrüsten

Für eines meiner Vintage/Retro Velos suchte ich nach einer passende Lampe mit Batterie, da ich den Dynamo entfernt habe (wegen der Ästhetik ;)). Da die Aliexpress-Version leider aus Plastik ist und nicht wirklich passte, baute ich spontan eine alle Original Lucifer um. Ein wahres Wunderwerk aus Schweizer Produktion – unglaublich.

Dieser Umbau war ein Versuch und das eine oder andere könnte schöner gemacht werden – aber für’s erste passt so bestens.

Materialien

  • Alte Dynamo-Fahrradlampe
  • LED-Modul aus einer LED Taschenlampe
  • Batterie Halterung
  • Schalter
  • Kabel, Lötzubehör, Isoliermaterial

Altes Fahrrad mit typischer Lampe

Die typische Lampe an einem alten Indiana-Fahrrad, welches ich als Ersatzteil-Lager brauche.

Polieren der alten Retro Fahrradlampe mit Coke und Alufolie

Polieren der Lampe mit Coke und einer Alufolie.

Die LED-Lampe, welche ich zerlegte, um die Komponenten für den Umbau zu nutzen. Die Komponenten einzeln zu kaufen, war mir zu aufwändig.

Der angepasste Spiegel der alten Fahrradlampe

Den Spiegel der LED-Lampe klebte ich mit Heissleim in den alten Spiegel. Diesen sauber zu sägen, ist nicht ganz einfach aber dank dem Abdeck-Glas sind die Abrisse nicht mehr sichtbar.

Die LED ersetzte die Glühbirne in der alten Fahrradlampe

Der ziemlich pragmatischer Einbau der LED. Der Minus-Kontakt leite ich mit einem Kupferdraht auf das Metall-Gehäuse der Lampe. Da die Lötung nicht haftete, nutze ich ein Isolierband, um den Kontakt herzustellen.

Umbau der alten Fahrradlampe auf LED und Akku

In der Lampe hat es mehr als genug Platz für einen Druckschalter und das Batterie-Pack. Die alte Spannfeder für den + Kontakt nutze ich auch im neuen Setup und führe das + Kabel an den Dynamo-Kontakt unten an der Lampe.

Druckschalter auf der alten Lucifer Fahrradlampe

Der neue Schalter habe ich auf der Lampe montiert. Ich würde diesen beim nächsten Projekt des Regen wegen unten an der Lampe anbringen.

LED und Batterie in der alten Fahrradlampe

Die fertige Lampe leuchtet heller – aber auch nicht mehr ganz so schön „gelb“ ;).

Optimierungen:

  • Das Auswechseln der Batterien ist nicht ganz einfach, da der Block aus der Lampe geholt werden muss. Ein USB-Ladeanschluss wäre etwas eleganter. Eine andere Möglichkeit ist die Batterien am vorderen Teil der Lampe zu fixieren (wie bei der Alibaba-Lampe) damit dieser einfach rausgezogen werden können.
  • Druckschalter unten an der Lampe, um diesen vor Regen zu schützen.
  • Eine passende Batteriehülle mit dem 3D Drucker erstellen, da meine sich in der Lampe hörbar bewegt.

Viel Spass!

Kategorien
Innovation myprojects

Exploring the Role of Simulators and AI in Process Understanding

Business and process simulations offer a powerful avenue for dissecting and enhancing both novel and established workflows. In this article, I aim to delve into three pivotal subjects:

  1. 3 Reasons why a Simulator make sense
  2. Harnessing AI for Simulator Development
  3. Training AI through Simulator Integration

Let’s start with the first subject: Why? (part 1)

Reason 1: Fostering Interdepartmental Understanding

In our business, coherence among departments — spanning sales, product, marketing, booking technology, and finance — is paramount. To achieve this, understanding each other’s challenges and perspectives is imperative. Consider the familiar scenario of an IT ticket seemingly taking forever to resolve. Such complexities often elude casual observation, underscoring the necessity for comprehensive understanding across teams.
Simulators are a great way to tackle this issue and create a broader understanding of the process. Colleagues, stakeholders, and even customers can immerse themselves firsthand in the process, gaining valuable insights into its intricacies and challenges.

Example: Navigating the Seat Reservation Challenge

Each spring, my operational team confronts a formidable task: securing seats on our panoramic trains amidst soaring demand.
With most scenic routes already partially booked, the quest for available seats becomes mentally taxing and financially impactful.
If seat reservation is not your daily business, the complexity is hard to understand. However, colleagues in other departments need help grasping the complexity of this issue, and they may need to pay more attention to it when making critical decisions in their department.
Recognizing the need to impart firsthand experience of our seat reservation predicament, I developed a „seat reservation simulator/game“. The physical version of it offers a quick grasp of the process within minutes, making it accessible to all (more about the game below).

Reason 2: Gaining insights while creating the simulator

Beyond merely simulating the experience, the development of a simulator serves as a catalyst for deeper insight into a process’s intricacies.

Two examples:
As I embarked on crafting the seat reservation simulator, I uncovered the significance of seat number structuring and identified enhancement strategies, such as introducing a „W“ designation for window seats. Moreover, it became apparent that team members enjoyed engaging with the simulator collaboratively. This led me to ponder: why not replicate this teamwork dynamic in real-world scenarios by encouraging pairs to tackle tasks together?

Reason 3: Developing a simulator is akin to prototyping

Beyond these insights, the effective deployment of simulators hinges on team involvement during development. This collaborative approach not only offers firsthand experience in prototyping but also underscores the importance of rigorous testing. Indeed, drafting a simulator without iterative feedback, optimizations, and testing is a near-impossible task.

Seat reservation simulator

How the simulator works

Here’s how the seat reservation simulator operates:
Imagine it as a board game, with the board representing a train’s seat map. Specific seats are already occupied or reserved (since we don’t own the coaches and others may have booked earlier).
Players are tasked with selecting eight cards, each depicting a group of passengers vying for seats. Wooden pawns, corresponding to the individuals on the cards, represent them, with each group distinguished by a unique color. The challenge lies in strategically placing these pawns on the board, considering preferences like sitting by the window or facing the direction of travel.
Engaging in this game requires strategic thinking and careful resource allocation. At the end of the game, players tally their points based on successfully allocated seats. I’ve incorporated additional layers and rules to enhance realism, making the experience both challenging and rewarding.

Part 2: Harnessing AI for Simulator Development aka how AI was helping me create the simulator

When I mention „I created“ the simulator, it’s worth noting that AI played a significant role in its development. Initially, I leaned on AI to provide feedback on fundamental game rules. Ensuring clarity in my explanations of the model was a motivating yet challenging aspect of this process.

Utilizing AI to craft the 18 group cards proved to be straightforward. Each drawing, as well as the names of the groups and their originating cities, was generated entirely by AI. Remarkably, this task took less than three hours for all 18 cards—a testament to the efficiency of AI-driven creation. Just envision the time and effort it would have taken to accomplish this manually without the aid of AI.

Part 3: Train the model to play the simulator.

I’m pretty pleased with the outcomes of step 1, „creating a simulator,“ and step 2, „utilizing AI to construct the simulator.“ However, I’m particularly enthusiastic about diving into step 3: training the AI to engage with the simulator actively.
This next phase represents an exciting frontier, and I’ve only begun exploring its possibilities. Rest assured, I’ll provide updates on my progress shortly. Stay tuned for more insights!

Kategorien
myprojects

DIY: Nistkasten mit Livecam

Wir haben von unseren Nachbarn freundlicherweise einen Nistkasten der Vogelwarte Sempach bekommen. Das Ding nur aufzuhängen war mir aber dann noch etwas zu langweilig und ich baute eine Livecam ein.

So klappts:
Das Vogelhaus bzw. der Nistkasten der Vogelwarte eignet sich optimal, da dieser verhältnismässig hoch ist. Das ist relevant, weil die Kamera genügend Distanz zum Boden des Nistkastens braucht, um möglichst das ganze Nest „zu sehen“.

Ich verwende die Home Security Wi-Fi Camera
Tapo C110P4
. Das eine einfache und v.a. sehr preiswerte Kamera (ca. 25.-).

Da ich die Kamera möglichst im Originalzustand lassen wollte, klappe ich den Fuss ganz runter, drehte den Nistkasten auf das Dach und legte die Kamera auf die Decke. Mit einem Post-It erstellte ich eine Schablone für zwei Schrauben links und rechts.

An den Schrauben befestigte ich grosse Unterlagscheiben, welche ich mit Filz ausstattete, um die Kamera nicht zu zerkratzen.

Zur Sicherheit hämmerte ich einen gebogenen Nagel unterhalb der Kamera ins Holz. Diese hat einen Abstand von ein paar Millimeter und sollte ein Runterfallen der Kamera verhindern, falls etwas Unvorhergesehenes passiert.

Anschliessend hängte ich den Nistkasten auf den Balkon und aktivierte den Bewegungs-Alam.

Tatsächlich besuchte bereits zwei Tage später der erste Vogel den Nistkasten, verliess diesen aber wieder. Seitdem steht die „Wohnung“ leer. Bis zum ersten Bewohner werde ich versuchen eine Beleuchtung zu installierten, damit die Kamera nicht auf „Nachtmodus“ umschaltet und nur schwarz-weiss Aufnahmen macht.

Kategorien
myprojects

KMU Expertise

Working as consultant for Start-Ups is great but to see the reality behind the shiny start-up world can be hard. What’s missing is a community to connect entrepreneuers with experts. Above a very first scribble how such a platform can look like. Feedback welcome :)

Kategorien
myprojects

Lean Marketing

Mit dem heutigen Tag schliesse ich ein spannendes Marketing-Mandat beim Unternehmen „Headstore“ ab. Ich wurde Ende November in das Team geholt um das (online) Marketing aufzugleisen und bei der Unternehmensentwicklung Inputs zu geben.
Headstore bietet 0900er Nummern online an. Die Vision ist, dass Kunde einfach und schnell auf Expertenwissen zugreifen können und dieses pro Minute bezahlen. Inspiriert vom App Store war die ursprüngliche Idee, einen „Head“ Store zu entwickeln wobei anstelle der Apps Experten aufgeführt sind die direkt angerufen werden können.

Im Rahmen meines Mandates konnte ich einen klassischen und lehrbuchmässigen Marketing Prozess aufsetzen. Beginnend beim Briefing, führte dieser zur Marktanalyse mit online Umfrage, zur Entwicklung der Kern-Message bis zum Ausrollen einer Content-Marketing und einer Ad-Kampagne.

Den Marketing Prozess lean und linear in einem äusserst dynamischen Umfeld auszuführen, war äusserst spannend und effizient. Nach drei Monaten – und bereits während dem Prozess – liegen erste Einschätzungen auf dem Tisch und erlauben es eine Aussage.

Dies hört sich wenig spektakulär an – im Marketing ist es leider zu oft der Fall, dass gerade in eine Aufbruch-Phase grosszügig ad hoc Entscheide gefällt werden und der Richtungswechsel im Minutentakt erfolgt. Dies wird oft mit Kreativität verwechselt und ist getrieben von der stillen Hoffnung „auch ein blindes Huhn findet mal ein Ei“ – wie ein Kollege von mir zu pflegen sagt ;)

Weitere Informationen über den Umfang der Tätigkeit können in kürze hier heruntergelanden werden.

Kategorien
myprojects

Sportify – Fitness Music Search

Another day, another (web) app: Sportify :)
I created Sportify to help Fitness Instructors  to find the perfect tracks for their playlists. Because as Indoor Cycling Instructor I know how time-consuming the song search can be.
Sportify allows to search for tracks based on BPM (cadence), Energy, Danceability and Genre. The engine is powered be the amazing Echonest® and Spotify APIs including some nice features like „add to playlists“ etc.
Check it out on: http://cardioplaylists.com/sportify/

Kategorien
myprojects

Eiger Ultra Trail 2015

Vor einem Jahr fuhr ich zum ersten Mal in Grindelwald ein. Sogar als Bündner hauen einem die Wände hier weg. Allen voran natürlich die Eigernordwand.
Meine Mission im Berner-Oberland hiess: „Foto-Dokumentation von Sascha Riela am Eiger Ultra Trail 2014„. Erster ist ein zäher Triathlet, zweiter ist ein massiver Trailrunning-Wettkampf.
Leider versagten Sascha’s Füsse nach dem zweiten langen Abstieg und er musste aufgeben. Deswegen – aber nicht nur – bin ich dieses Jahr wieder hier: Der Event ist fantastisch, die Szenerie einmalig und: Sascha steht frisch und mit zig Höhenmeter in den Beinen am Start! Dieser ist übrigens am Samstag um 0400.
Ich bin mit meiner Lumix und Virb dabei.

Kategorien
Innovation myprojects

COMPO® Customer Loyalty Program is live

Different People – Different Content.
Yesterday evening we launched the „COMPO® Loyalty Program Software„. In the last months I had the chance to work with an extraordinary team on both sides to develop a fully customized piece of software.
You can check it out on compo.de. Of corse it is still beta ;) but it works amazing already.

The software – based on the CakePHP Framework – allows COMPO® to create interactive content like product trials, quiz and surveys (Survey Monkey® API) for a specific target group. This makes a lot of sense: COMPO® as large worldwide player in the „garden“ and „home plant“ field has a huge range of products for very different customer.
In other words: They have me as home plant „owner“ and as well the owner of the garden market in Oerlikon.

CompoKundenclubAktionen

The Software as a Service we developed is not only great to deliver the right content to the right people but to create this content within minutes. Using our software there is no need to call the online agency to create a product trial. This can be done in-house within minutes.
I would say COMPO® saves around EUR 12’000 for every promotion they do. That’s great.

To get an overview check out the very, very first demo video below.