Introducing Death Clock (And My First Experience with Vibecoding)
I’m proud to introduce Death Clock, a life expectancy calculator that predicts the day of your death based on 17 personalized variables.
This is not only the first “app” I’ve ever created myself, but also my first experience with AI-assisted coding, which has become known as “vibecoding.”
I can definitively say this was one of the most eye-opening, impressive encounters with technology I’ve ever had, and it opened my eyes to a vast horizon of possibilities that I think AI-assisted coding will open up going forward.
Here are my observations and insights based on my first few hours of vibecoding.
Finding an entry point
One of the first things I look for when trying to learn a new skill is a good “entry point.”
Simply typing the topic into Google or YouTube is not smart, as it only results in a flood of mediocre-quality, clickbait-driven results. Instead, I look for a single, in-depth piece of content or a course taught by a qualified instructor with a strong track record of quality. Ideally, there’s also an accompanying community or discussion forum associated with it, so I can see what others are doing.
All these criteria were fulfilled when I signed up for my friend Nat Eliason’s new course, Build Your Own Apps with AI. One recent Saturday morning I started watching the instructional videos while my wife and the kids were sleeping in.
The course recommends the coding program Cursor. As I downloaded the desktop app and created an account, the complex-looking interface was already starting to intimidate me. I had downloaded IDEs (Integrated Development Environments) before, but since I have virtually no technical ability or knowledge, I always felt overwhelmed and confused by the unfamiliar interface and quickly gave up.
Here’s what the interface looks like in Cursor:

As I watched Nat’s videos, it soon dawned on me how incredibly straightforward and easy it was to create functional code using Cursor, for one simple reason: it draws on the formidable powers of leading LLMs.
As I began experimenting, I found that it wasn’t necessary to interact with any part of the software except for one: the ongoing chat with the AI. Although you can directly manipulate the code, navigate around the various project files, approve or reject individual edits, and issue commands in a terminal window if you want, none of that is strictly necessary. The AI can take all the actions itself.
Building Death Clock v1
After watching the first module of the course, I decided to go right ahead and try building something I actually wanted: a life expectancy calculator.
I’m in the midst of writing my new book, on the art and practice of completing an annual life review, and I’m finding that one of the main themes of the book is reckoning with one’s mortality and limited time on the planet. It’s quite hard to take on that longer-term perspective day to day. But at least once a year, I think it’s incredibly valuable to do so. I was looking for a way to give readers a visceral, felt sense of how short life truly is.
I can write thousands of words about mortality and its ability to put our lives into proper perspective, but no volume of words compares to the power of a personalized, interactive tool that calculates your own expected date of death. It’s the difference between generic advice and an expiration date that takes into account your own unique life circumstances.
Living in Mexico has also exposed me to a very different attitude toward death than I’m used to in the US. Instead of something to be feared and the mention of it avoided, death is a much bigger part of the culture, from the ofrendas of Día de Muertos to the ubiquity of skeleton iconography to the constant awareness of ancestors. I want to make death something that people can talk about more openly.
And lastly, I turn 40 next week, so let’s just say that mortality is on my mind
Working with the AI
I started my project by creating an empty folder, loading it up into Cursor, and asking it to “Build a web app that calculates someone’s life expectancy based on lifestyle factors.” That was it. There were no technical specifications, no feature requests, and no tech stack. Just a simple request made in natural language.
Cursor gives you the option to select which LLM you want to use, including all the leading models from OpenAI, Google, and Anthropic. I kept it on “auto-select,” which means it decided which model to use depending on the situation.
It proceeded to immediately build a full-fledged React project, which took several minutes and involved creating an entire structure of multiple interlinked files. I asked it to open the app in my web browser, and it prepared the file, which I just needed to double-click.
Here’s what that very first version looked like:

So the app now existed, but with one tiny problem: there was no way to input any personal information! I asked it to add input fields for each of the lifestyle factors, and in a couple of minutes they appeared. I put in my own information as a test, and it spit out the results:

After only about 5 minutes, I already had a functional web app! This alone is astonishing, as I would have probably needed hours to get even this much up and running on my own. I thought back to my early web design efforts using Microsoft FrontPage as a teenager in the 90s, and how that experience was so daunting that I gave up on the endeavor altogether.
I spent the next several hours adding features, which amounted to no more or less than asking for them in the AI chat window and waiting. Here’s what I changed, one element at a time:
- Added a total of 17 questions, encompassing various aspects of a person’s life that influence their life expectancy
- Added an in-line BMI calculator, based on a person’s height and weight
- Asked the AI to create a logo of an hourglass and place it at the top of the page
- Had it try out a couple of styles, settling on a muted, grey and blue color scheme
- Added some interesting outputs and observations related to life expectancy to the “results” page, based on the answers to the questions
- Added a pie chart visualizing a person’s remaining lifespan (which required Cursor to download and install a new library, which it handled on its own)
- Added a call to action to check out my website at the end
- Set up a repository on GitHub and published the app using GitHub Pages, so I can share it with others
All this took about 3-4 hours, but I would estimate around half that time was spent waiting for the AI to do the work, or for the new version to deploy, so I could view it in a browser. While all this was happening, I hung out with the kids, washed dishes, took a shower, and got some reading done. Instead of requiring an all-encompassing, immersive day of obsessive learning, which is what I would have expected, I actually had quite a relaxing, balanced day!
There were only a couple of hiccups I encountered during this project. At one point, there was a bug that would make the whole screen go blank when I clicked the “Calculate Life Expectancy” button. Cursor asked me to copy and paste the error message from the console into the chat, but before I even did that, it guessed what the problem was and proceeded to fix it by itself. Here’s what that interaction looked like:

I sometimes had to perform actions beyond just clicking “accept all,” such as typing “y” into the command line to allow it to proceed, or typing in my computer’s root password to allow it to install something, so I did have to pay a bit of attention and look out for next steps.
A few times, a new feature didn’t work correctly the immediately, and required follow-up fixes, such as this first attempt at a pie chart:

One of the most surprising parts of working with an LLM in a coding environment is that the AI has context and knowledge about many, many domains that have nothing to do with code. For example, at one point, I got stuck with the GitHub settings, so I just pasted a screenshot of what I was seeing into Cursor, and got a precise diagnosis of what was wrong, plus step-by-step instructions on how to fix it.
But it also goes beyond software. At one point, I asked Cursor to tell me how robust or evidence-backed a question about income level was, and in seconds, it pulled in an academic paper that examined exactly this question. It still had to simplify the correlation between income and life expectancy into a multiple-choice question, but knowing there was at least some validity to this question gave me the confidence to move forward.

I kept assuming I would hit a roadblock and have to switch to a “real” LLM to do more serious research, planning, or structuring of questions. But that wasn’t the case: the LLMs that Cursor is drawing on are exactly the same ones you’d have access to via ChatGPT or Claude, so there’s no need to leave.
That also means that Cursor can do design work. I asked it to create a visual style reminiscent of the blocky, 8-bit graphics of early Nintendo games, but with a death-themed, macabre look. It instantly understood the assignment, using red and black to convey the right feeling:

I decided that look wasn’t quite right, so I had it pivot to a cleaner, more modern style. Here’s what that interaction looked like, replacing probably hours of work:

The ability to pivot on a dime like this and effortlessly try out a completely new direction is astonishing. Small experiments and whimsical curiosities can be indulged and tested without expending significant time or effort.
My 4 takeaways from vibecoding
This first experience of a few hours of vibecoding left me with 4 takeaways:
- Learning to code is now optional
- The new bottleneck is how you spend the time that’s saved
- Software is the new frontier of book publishing
- We’re entering a more impressionistic era of creation
Learning to code is now optional
Over the years, I’ve considered whether I should build an app many times. I live in the world of tech and software, and in many ways, the ability to create a new software tool is the pinnacle of agency in that world.
Yet every time, I’ve decided not to pursue building an app, either because I lacked the time to learn it myself, or didn’t want to spend the thousands of dollars it seemed to require to even build something basic.
But now, in a matter of hours and at almost zero cost, I can build something that’s genuinely useful. I didn’t learn anything about coding, but I think that’s overall a good thing. Learning can be fun and is certainly useful, but it isn’t always inherently good or necessary.
Why should the ability to leverage software be limited to those willing to spend months or years studying arcane details of technical implementation? Why should someone’s vision or mission require them to know the low-level details of how a webpage gets rendered? And now, nearly all of the details are “low-level.”
Learning coding is now optional, but I think AI tools will also make it easier to learn to code for those who decide they want to. At any point, you can bring in context from any part of the codebase and ask the AI to explain it to you at any level of detail you want. You can even have it explain things outside that environment, such as the many external systems and interfaces you’ll need to get a full-fledged website working.
This is such a remarkable level of accessibility for a technology that was previously very hard to use, and it’s difficult to predict how the world will change when everyone can wield the power of software.
The new bottleneck is how you spend the time that’s saved
It’s so fast to create and edit code this way that the bottleneck starts to become how fast you can move your mouse, the speed of your internet connection, how long it takes to deploy a new build, the speed of refreshing the page, etc.
I predict we’ll see a variety of efforts to speed up every little step involved in coding, the same way that factories once invested millions in reducing the time it took to switch a production line from one activity to another, as that became the bottleneck.
But more broadly, the true limiter on the quality of software that people will be able to produce using Cursor and similar tools is how they spend the time that AI frees up for them.
You could spend it chilling by the pool or watching TV, but you have to remember that everyone else is also having all their time freed up, so the level of competition will increase like a rising tide. Many web apps that people will build this way are hobbies, or experiments, or complements to other projects. Still, many will have some kind of competition or alternative, and the only way to compete effectively will be to invest the time saved in new dimensions of quality.
Maybe you spend that time exercising and meditating, so that you can ground yourself and bring wiser, more holistic decision-making to the AI. Maybe you spend it reading and researching, so the knowledge underlying your app is richer and more nuanced. Maybe you spend it hunting for obscure sources or offline archives, so that you can incorporate context that the LLM doesn’t already know. Maybe you spend your time talking with potential customers, so your choices more accurately reflect what they want.
All of these are valid choices, and they will all become important dimensions of competition and quality, even more so than they already are today. The true scarce resource continues to be the time and attention of other people, and I only expect the battle for that attention to keep heating up.
Software is the new frontier of book publishing
One of the domains I’m most excited about applying these new tools to is book publishing. Books have changed so little over time, and increasingly suffer in comparison to other, far more interactive and engaging forms of media.
I don’t think bemoaning this fact and lecturing people on the importance of reading is helpful, but I do believe interactive web apps like this could make a tremendous difference. What if, every time you finished a book, or even a single chapter, you were presented with a link to a free, interactive, personalized web app that directly applied the ideas you just read to your own situation?
Instead of trying to guess how to apply a book’s ideas, or get upsold to a course, or have to get expensive support from a coach or consultant, you would have a self-serve piece of software you can immediately engage with.
The value of a book is that the author has taken an extraordinary amount of time to research and think deeply about an important issue, topic, or skill. That’s a rare thing in our hype-driven online world of disposable headlines. But that same slow-moving, timeless quality makes it very difficult for books to recommend or prescribe any given form of implementation. There’s just too much variation between individuals to offer a one-size-fits-all solution, and long publishing timelines mean that any solution printed in the pages of a book is likely to be obsolete by the time it hits the shelves.
This is a way to combine the best of both worlds: to deliver the timeless, wise, holistic wisdom of books, accompanied by a suite of personalized, customizable, up-to-date digital implementation tools, accessible in one click or tap. This is how you save the culture of reading – not by resisting change but by embracing it. I plan on making extensive use of this approach in my next book.
We’re entering a more impressionistic era of creation
One of the most continuously surprising aspects of AI-assisted vibecoding is how brief, imprecise, informal, and vague my instructions can be, and still be understood. I could almost always just say “Fix this” with a screenshot, or “Make this look better,” or even just “Improve the question,” and AI would figure it out.
This is so different from past technologies that require you to be extremely exact, specifying what you want with mathematical precision. Even a single wrong character in a codebase of thousands of lines could result in a catastrophic error.
My unclear instructions often resulted in better results, because the AI would misinterpret my intentions and make improvements I hadn’t even thought of. Some of the best ideas came from the AI, either because I asked it for ideas or because it contributed them spontaneously as it guessed what I was trying to achieve.
Like the transition in painting style from the Realism of the mid-19th century to the Impressionism of the late 19th century, driven by painters’ desire to capture changing qualities of natural light, fleeting moments, and spontaneous experiences using quick, expressive brushwork rather than carefully finished compositions, we’re going to see a similar transition in software design.
Interestingly, what sparked the transition back then was technology – the advent of photography meant that scenes could be captured with nearly perfect realism, which devalued that ability by humans. Human artists pivoted in reaction, exploring a new frontier of perception, novel color combinations, and everyday life.
I think we’ll soon see our technological creations becoming much more impressionistic, based on ambiguous premonitions, subtle feelings, or vague notions that we can’t fully articulate. We’ll see people create various kinds of software as artistic expressions, or to capture a fleeting memory, or to convey a single message. Software will become its own mode of creative expression for a much wider range of people now that the price of entry has plummeted to near zero.
4 tips for using Cursor
Despite my lack of commitment to learning anything in particular, I found that I did end up learning a few things about how to work effectively in Cursor:
- You don’t have to deploy a new version with every new feature you build, as that takes a few minutes. But it’s a good idea to do so anytime you get a major new feature working, as you’ll be able to “roll back” to that point if you mess up anything in the future.
- It’s always helpful to bring in the relevant context to any interaction with the AI chat. Cursor makes this very easy by including an “add to chat” button both in the code window and in the terminal, which are the two places you’d want to draw on for context
- Pasting screenshots into the AI chat is remarkably helpful, as it allows the AI to see exactly what you’re referring to. Often, you don’t even need to say anything – the AI understands what’s working as soon as it sees how it’s appearing.
You can check out Cursor with a free trial at https://www.cursor.com. I signed up for the paid version for $20 per month to build my first app, though you’ll have access to a lot of functionality for free. I recommend their “getting started” documentation to learn about the basic features, which are more than enough to allow you to build your first simple app.
Follow us for the latest updates and insights around productivity and Building a Second Brain on X, Facebook, Instagram, LinkedIn, and YouTube. And if you’re ready to start building your Second Brain, get the book and learn the proven method to organize your digital life and unlock your creative potential.
The post Introducing Death Clock (And My First Experience with Vibecoding) appeared first on Forte Labs.