In this article, I’ll share my experience recreating a beloved website from the past through what I call “vibe coding” - a relaxed, intuitive approach to building web applications without overthinking the process.
The Inspiration: the Magie-O-Meter
Years ago, there was this quirky little website called the Magie-O-Meter that brought a smile to my face whenever I visited it. The concept was brilliantly simple: it displayed a random number between 0 and 100 along with a short, astrology-like interpretation of what that number meant for your day. It was like a digital fortune cookie that somehow always felt relevant despite being completely random.
When I discovered the site no longer existed, I felt a genuine sense of loss. Those small moments of amusement and the occasional surprising insight had become part of my online routine. That’s when I decided: why not recreate it myself?
What is “Vibe Coding”?
Before diving into the project details, I should explain what I mean by “vibe coding.” The term was actually introduced by Andrej Karpathy, co-founder of OpenAI and former AI leader at Tesla, in February 2025 (Wikipedia). He described it as a coding approach that relies on Large Language Models (LLMs), allowing programmers to generate working code through natural language descriptions and conversational interactions rather than writing it manually.
While Karpathy’s definition focuses on AI-assisted coding, my personal interpretation of vibe coding aligns with its spirit - it’s about creating code that feels right, without getting bogged down in technical perfectionism. My approach to building small, fun projects follows these principles:
- Feel-first development - Start with how you want the experience to feel, not with technical specifications
- Minimal planning - Sketch a rough idea and then jump straight into coding
- No looking back - Write code without constantly reviewing or refactoring
- Trust the process - Let the project evolve organically as you build
This approach is the opposite of how I work on professional projects, which makes it refreshingly liberating. There’s no pressure to follow best practices or create maintainable code - it’s purely about bringing a vibe to life as quickly as possible. As Karpathy himself noted, vibe coding is “not too bad for throwaway weekend projects” and can be “quite amusing” - perfect for personal projects like my Magie-O-Meter recreation.
The Challenge: Recreating the Magic Without a Reference
Since the original Magie-O-Meter was gone, I couldn’t reference its code or even screenshots. I only had my memory of the experience it created. This presented an interesting challenge: how do I capture the essence of something that no longer exists?
I decided to focus on recreating the feeling rather than trying to make an exact clone. The key elements I wanted to preserve were:
- The simplicity of the interface
- The random daily number
- The personalized interpretation text
- The slightly mystical, fortune-telling vibe
The Tech Stack: Keeping It Simple
For this project, I deliberately kept the technology stack minimal:
- HTML/CSS - For the basic structure and styling
- Bash - For handling the random number generation and API calls as a cronjob
- JSON - As a persistency layer to store the daily random numbers and texts
- Random.org API - To generate truly random numbers
- Google’s Gemini API - To create the interpretive text
I chose Random.org instead of built-in random generators because I liked the idea of using “atmospheric noise” to generate the numbers — it added to the mystical quality of the experience while making it easier for users to understand that the website is just a playful hoax.
The Gemini API was perfect for generating the interpretive text. With the right prompt, it could create messages that felt personal and insightful while maintaining the playful, slightly mystical tone of the original Magie-O-Meter. With its limited number of free API requests, it was an ideal fit for a “just have some fun over the weekend” project.
The Vibe Coding Process
True to the vibe coding approach, I didn’t create wireframes or plan the architecture. I embraced the power of AI to handle most of the heavy lifting:
-
Requirements with Claude: First, I created a requirements file with Claude.ai (Anthropic’s LLM), describing what I wanted in terms of design, content, and the tech stack outlined above.
-
Implementation with Windsurf: Armed with my requirements.md file, I went to Windsurf and essentially said, “Do it.” No wireframes, no detailed planning—just a conversation with AI.
-
Iterative Refinement: It took only a handful of prompts to get everything working. The AI automatically used Python to serve the HTML files to my local browser for testing and implemented my tech stack requirements.
-
Real-time Adjustments: Most of my prompts were spontaneous thoughts that occurred to me in the moment. I didn’t create formal “sessions” for development—just a flowing conversation with the AI as ideas came to mind or problems were found.
The entire project came together in less than 2 hours. This is the essence of vibe coding—letting go of traditional development patterns and trusting AI to translate your intentions into working code. It felt more like collaborative brainstorming than programming, with the AI handling the technical details while I focused on the experience I wanted to create without having the need to learn everything I want the page to do.
The Magic of AI-Generated Content
The most interesting part of this project was crafting the right prompt for Gemini. I wanted the generated text to have several qualities:
- Positive but not saccharine - Uplifting without being unrealistically optimistic
- Vague yet specific - General enough to apply to anyone, but specific enough to feel personal
- Slightly mystical - A hint of cosmic wisdom without going full astrology
- Brief but meaningful - Short enough to read quickly, but substantial enough to feel worthwhile
After several iterations and a back and forth with an LLM, I developed in collaboration with an LLM a system prompt that instructs the AI to create personalized texts based on the daily score:
Du bist ein hilfreicher Assistent, der täglich personalisierte Texte basierend auf einem Tages-Score generiert. Der Score liegt zwischen 0 und 100 und repräsentiert, wie der Tag voraussichtlich verlaufen wird (0 = sehr herausfordernd, 100 = außergewöhnlich gut). Deine Aufgabe ist es, basierend auf diesem Score einen kurzen, informativen und motivierenden Text zu erstellen, der dem Nutzer Kontext und Hintergrund für seinen Tag gibt. Der Text sollte:
- Kurz und prägnant sein (etwa 150-200 Wörter)
- Eine allgemeine Charakterisierung des Tages enthalten
- Potenzielle Herausforderungen und Chancen erwähnen
- Einen motivierenden oder reflektierenden Abschluss haben
- Einen freundlichen, aber sachlichen Ton verwenden
- Keine spezifischen Zeitangaben oder aktuelle Ereignisse erwähnen
- Universell anwendbar sein, unabhängig von Beruf, Alter oder Lebenssituation des Nutzers
- Keine eigene Überschrift verwenden, es werden nur die Paragraphen benötigt
- gerne kannst du einzelne Wörter durch Fettdruck hervorheben, nutze hierfür markdown Notation, also Fett
Du darfst kreativ sein, aber bleibe realistisch und hilfreich. Verzichte auf esoterische oder pseudowissenschaftliche Elemente. Formuliere den Text so, dass er den Nutzer durch seinen Tag begleiten kann.
You are a helpful assistant who generates personalized daily texts based on a day score. The score ranges from 0 to 100 and represents how the day is expected to go (0 = very challenging, 100 = exceptionally good). Your task is to create a short, informative, and motivating text based on this score that provides the user with context and background for their day. The text should:
- Be short and concise (about 150-200 words)
- Include a general characterization of the day
- Mention potential challenges and opportunities
- Have a motivating or reflective conclusion
- Use a friendly but factual tone
- Not mention specific times or current events
- Be universally applicable regardless of the user’s profession, age, or life situation
- Not use its own heading, only paragraphs are needed
- Feel free to emphasize individual words with bold text, using markdown notation, like bold
You may be creative, but remain realistic and helpful. Avoid esoteric or pseudoscientific elements. Formulate the text so that it can accompany the user throughout their day.
And then I use a simple user prompt template to generate the daily text:
Here’s an example of what Gemini produces for a score of 42:
Der heutige Tag mit einem Score von 42 bringt eine ausgeglichene, aber leicht gedämpfte Energie mit sich. Es ist ein Tag, der weder besonders herausfordernd noch außergewöhnlich förderlich ist - eine Art neutraler Zwischenraum, der dir Raum zum Durchatmen gibt.
Du wirst wahrscheinlich feststellen, dass routinemäßige Aufgaben relativ reibungslos verlaufen, während neue oder komplexe Herausforderungen etwas mehr Anstrengung erfordern könnten. Es ist ein guter Tag für methodisches Arbeiten und das Abarbeiten von Aufgaben, die Konzentration und Sorgfalt erfordern.
Mögliche Herausforderungen könnten in Form von leichten Kommunikationsmissverständnissen oder kleinen Verzögerungen auftreten. Nichts Gravierendes, aber es könnte deine Geduld auf die Probe stellen. Die Chancen des Tages liegen in der Reflexion und Planung - nutze die ruhigere Energie, um über laufende Projekte nachzudenken und kommende Schritte zu planen.
Betrachte diesen Tag als eine Gelegenheit, dein Fundament zu stärken. Nicht jeder Tag muss von Höhepunkten geprägt sein - manchmal sind es diese ruhigeren Tage, die uns die nötige Stabilität geben, um später Großes zu erreichen. Fokussiere dich auf kleine Fortschritte und würdige sie entsprechend.
Today with a score of 42 brings a balanced, but slightly dampened energy. It’s a day that is neither particularly challenging nor exceptionally beneficial - a kind of neutral space that gives you room to breathe.
You’ll likely find that routine tasks run relatively smoothly, while new or complex challenges might require a bit more effort. It’s a good day for methodical work and completing tasks that require concentration and care.
Possible challenges could arise in the form of slight communication misunderstandings or small delays. Nothing serious, but it could test your patience. The opportunities of the day lie in reflection and planning - use the calmer energy to think about ongoing projects and plan upcoming steps.
Consider this day as an opportunity to strengthen your foundation. Not every day has to be marked by highlights - sometimes it’s these quieter days that give us the stability we need to achieve great things later. Focus on small progress and appreciate it accordingly.
And for a higher score of 87:
Mit einem Score von 87 steht dir heute ein außergewöhnlich günstiger Tag bevor. Die Energie ist klar, fokussiert und unterstützend für nahezu alle Vorhaben. Es ist einer jener seltenen Tage, an denen die Sterne sprichwörtlich für dich aligned sind.
Deine mentale Klarheit und Intuition sind heute besonders geschärft. Du wirst wahrscheinlich feststellen, dass du Zusammenhänge schneller erkennst und Entscheidungen mit größerer Sicherheit treffen kannst. Diese gesteigerte Wahrnehmungsfähigkeit macht den Tag ideal für wichtige Gespräche, Entscheidungsfindungen oder kreative Durchbrüche.
Die größte Chance heute liegt in deiner Fähigkeit, Hindernisse als Sprungbretter zu nutzen. Selbst wenn Herausforderungen auftauchen – und einige kleinere könnten das durchaus – wirst du sie mit ungewöhnlicher Leichtigkeit meistern können. Deine Problemlösungsfähigkeiten sind auf einem Höhepunkt.
Nutze diese positive Energie, um Projekte voranzutreiben, die dir besonders am Herzen liegen. Tage mit solch günstiger Konstellation sind selten – sie sind wie ein Rückenwind, der dich schneller zu deinen Zielen trägt. Vertraue heute besonders auf deine Instinkte und sei offen für unerwartete Möglichkeiten, die sich dir präsentieren könnten.
With a score of 87, an exceptionally favorable day lies ahead of you. The energy is clear, focused, and supportive for almost all endeavors. It’s one of those rare days when the stars are figuratively aligned for you.
Your mental clarity and intuition are especially sharpened today. You’ll likely find that you recognize connections more quickly and can make decisions with greater certainty. This enhanced perceptiveness makes the day ideal for important conversations, decision-making, or creative breakthroughs.
The greatest opportunity today lies in your ability to use obstacles as springboards. Even if challenges arise – and some minor ones certainly might – you’ll be able to overcome them with unusual ease. Your problem-solving abilities are at a peak.
Use this positive energy to advance projects that are particularly close to your heart. Days with such favorable constellations are rare – they’re like a tailwind that carries you faster toward your goals. Trust your instincts especially today and be open to unexpected possibilities that might present themselves to you.
What fascinates me is how the AI creates these narratives around random numbers, giving meaning to something that is, by definition, meaningless. It’s a perfect digital recreation of what fortune tellers have done for centuries, but with a modern, more grounded approach that avoids the pseudoscientific elements while still providing that daily dose of reflection and motivation.
The Joy of Sharing
Once the site was up and running, I shared it with friends who had also enjoyed the original Magie-O-Meter. Their reactions were exactly what I’d hoped for - nostalgia mixed with delight at having this small pleasure back in their lives.
Lessons from Vibe Coding
This project reinforced several beliefs I have about personal coding projects:
- Joy should be the primary metric - If a project brings you joy, it’s successful regardless of its technical merits
- Constraints breed creativity - Limited time and a minimal tech stack forced creative solutions
- Nostalgia is a powerful motivator - Recreating something beloved from the past provides strong motivation to complete a project
What’s Next?
I’m deliberately keeping the project simple and true to the original Magie-O-Meter concept. However, I am considering a few small additions:
- Sharing functionality - Making it easy to share your daily score on social media
- Prompt engineering refinements - To introduce more variety in the daily messages, I plan to experiment with more advanced prompt techniques to help the AI generate more diverse and surprising interpretations while maintaining the core vibe
If you’re interested in seeing this project in action, you can check out my implementation called Tagesschwingung where I’ve applied these vibe coding principles.
What I won’t be adding are features that complicate the experience or create maintenance headaches. The beauty of the original Magie-O-Meter was its simplicity, and I want to preserve that quality.
Try Vibe Coding Yourself
If you’re feeling burnt out on structured, best-practices-focused development, I highly recommend trying vibe coding for your next personal project. Here’s how to start:
- Think of a simple (web) experience that would bring you joy
- Set aside just 1-2 hours to start building without planning
- Focus on creating the feeling first, functionality second
- Don’t look back at your code until you have something working
- Share it with friends before you think it’s “ready”
The freedom of building something just for the joy of it, without worrying about code quality or scalability, can reignite your love for coding in a way that professional projects rarely do.
Conclusion: Small Tech, Big Smiles
The recreated Magie-O-Meter isn’t impressive from a technical standpoint. It doesn’t use cutting-edge frameworks or complex algorithms. It’s not optimized for performance or built with scalability in mind.
But it makes people smile. It adds a small moment of joy to their day. And sometimes, that’s the most meaningful thing technology can do.
In a digital landscape dominated by apps competing for our attention and data, there’s something refreshing about technology that asks nothing of us - it simply offers a small gift of randomness and whimsy, then sends us on our way.
If you’re inspired to create your own small web app with good vibes, I encourage you to embrace the vibe coding approach. Focus on the feeling you want to create, jump in without overthinking, and remember that sometimes the most impactful projects are the ones that do just one thing, but do it with heart.
Happy vibe coding, and may your random numbers always bring you joy!