https://search.google.com/search-console/performance/search-...
2,615 karma · joined January 9, 2014
Stuff I’ve built/participated in:
https://www.narakeet.com, https://votito.com, https://bugmagnet.org
Previously worked on https://www.mindmup.com, https://claudiajs.com
My books: https://gojko.net/books/
https://search.google.com/search-console/performance/search-...
I'd recommend scratching your itch first and then finding people in a similar situation. You know enough about your own problem to be able to design a solution around it, and you likely know some other people around that as well. Slice that segment into something worth attacking first. Bill Aulet defined the first group of people worth solving for as a "beachhead market". This is his test for that first segment:
- the customers within the market should all buy similar products
- the customers within the market should have a similar sales cycle and expect products to provide value in similar ways
- the customers within the market talk to each other, and there is a high probability of word-of-mouth referrals, where customers can serve as a “compelling and high-value references for one another in making purchases”.
The third one is for me the key to open doors as a solo founder. You probably don't have the marketing budget to compete with large companies, so word of mouth and happy customers will be your first best marketing strategy. SEO is black magic, and from my experience takes a long time to actually start working - happy customers doing word of mouth and writing/recommending you also helps significantly with that.
Once this segment opens the doors, things will likely change for something else, then you follow the trail.
Had to record some videos and ended up building a simple teleprompter browser app (all data is stored in local storage, never leaves the browser). It has basic markdown highlighting support (bold/italic) and works with most clickers to speed up/slow down the reading speed.
- You are NEVER allowed to work if the environment `AWS_PROFILE` variable is equal to `support`. When starting, check that condition. If it's met, print an error message and exit instead of starting.
Claude.md just has 2 lines. the first points to @CONTRIBUTING.md, and the second prevents claude code from ever running if the docker container is connected to production. We already had existing rules for how the project is organized and how to write code and tests in CONTRIBUTING.md, making this relatively easy, but this file then co-evolved with Claude. Every time it did something unexpected, we'd tell it to update contributing rules to prevent something like that from happening again. After a while, this file grew considerably, so we asked Claude to go through it, reduce the size but keep the precision and instructions, and it did a relatively good job. The file has stabilized after a few months, and we rarely touch it any more.
Generally, tasks for AI-assisted work start with a problem statement in a md file (we keep these in a /roadmap folder under the project), and sometimes a general direction for a proposed solution. We ask Claude code to an analysis and propose a plan (using a custom command that restricts plans to be composed of backwards compatible small steps modifying no more than 3-4 files). A human will read the plan and then iterate on it, telling Claude to modify it where necessary, and then start the work. After each step, Claude runs all unit tests for things that have changed, a bunch of guardrails (linting etc) and tests for the wider project area it's working in, fixing stuff if needed. A developer then reviews the output, requests refactoring if needed, does git add, and tells claude to run the next step. This review might also involve deploying the server code to our test environment if needed.
Claude uses the roadmap markdown file as an internal memory of the progress and key conclusions between steps, and to help with restoring the progress after context resets. Pretty much after the initial review, Claude only uses this file, we don't look at it any more. Once done, this plan file is thrown away - tests and code remain. We occasionally ask it to evaluate if there are any important conclusions to record in the architectural design records or contributing guide.
CloudFront is fairly good at marking if someone is accessing from a data centre or a residential/commercial endpoint. It's not 100% accurate and really bad actors can still use infected residential machines to proxy traffic, but this fix was simple and reduced the problem to a negligent level.
This was for a tool to speed up making educational videos, so I tried to reach out to people who were doing online courses and educational materials.
A preview version of my new book Lizard Optimization is now live on LeanPub. It's about 90% done - the final text is there, but some illustrations are still drafts.
A product I worked on grew explosively from November 2021 to November 2022. The key user metric, tracking when people are getting value from the product, increased by more than 500 times in those 12 months (times, not percent). This happened after a period of unremarkable growth and a slow decline. Looking back, the key factor in reversing the decline and unlocking exponential growth was a counter-intuitive approach to engaging users.
This book is a summary of what I learned from that crazy growth phase, synthesized into a simple process that you can apply to improve your products, unlock growth, reduce churn and increase revenue.
This book is primarily for software product managers, product data scientists, senior engineers and anyone else involved in product management and guidance.
Key web vitals change over time and it’s often a mix of content, styling and scripting that needs to be optimised to fix CVW issues. Revisiting old content and rebuilding old assets might not be worth it.
I’m not talking from a perspective of maintaining a personal blog, but a product web site that currently gets about 1.5 million visits from organic search per month. It’s not CNET, granted, but not a trivial site either.
SEO is black magic and astrology, so there's a lot of guessing going around, but I think I can vouch for this as this particular issue happened to one of the sites I maintain, and it caused the homepage to lose lots of traffic because it was bundled as related with some ancient blog posts. the homepage performed quite well according to all the metrics, but old pages did not, and until Google started penalising groups last year it didn't make a difference to keep the old pages around. Since they started penalising random groups, something that's important can be affected by something old and irrelevant, and the feedback loop is very slow.
It takes 28 days to get feedback from the web console about any potential changes to page performance, so I tried fixing the old pages in a few ways, then just gave up and deleted them. the average rose up, the penalty to the whole group was gone, and the homepage again started getting a decent amount of traffic.
py speech recognition lib for audio, then @OpenAI’s whisper library for speech->text, then chatgpt, text->speech w/ @narakeet for voice ai, then play it through speaker with pydub playback
Not necessarily. With consumer-facing products, especially if they're mass market and the price of a single subscription is low, the customers can't make any big demands (in fact, they can, but you can safely ignore them).
I'm part of a very small team that has a reasonably successful SaaS product aimed directly at consumers. We intentionally priced it very low so we can stay in control of the product, and not be at the mercy of our customers.
After two years of development, Narakeet (formerly Video Puppet) is finally generally available and open for business. It started as an experiment for Startup School in 2018 (the one when everyone got accepted). Roughly 50 thousand people participated in the public beta test since April 2020, building more than 120 thousand videos.
Narakeet is an online service that helps people make narrated videos easily, from Powerpoint files or markdown scripts.
Here's the previous discussion from HN, when we launched the beta program in April: https://news.ycombinator.com/item?id=22718854
I got burned out badly by a string of gigs that effectively came down to helping clients fight some self-inflicted business complexity and connecting yet another stupid website to yet another stupid database, but instead of quitting the industry I decided to slowly fire clients that wanted that kind of work, and build my own products. It took a while to get things rolling since I did this as a gradual shift, and financed it by doing smaller and smaller consulting gigs, but I strongly recommend that as an alternative to quitting altogether to anyone who feels the pain outlined in the the original post.
For me, immersive coding is an activity that brings a lot of joy. Building software is the closest thing to modern magic - you turn ideas, keyboard clicks and caffeine into something that people actually use; potentially making a positive impact on someone's life/work/day.
By building my own stuff, at my own pace, I rediscovered the joy of coding. As much as it was in pre-2000 work and before web.
If you build your own stuff, then there's nobody to tell you to connect a RSS feed to a RDBMS system. For me, the key to keep programming enjoyable is to be able to control the pace and business requirements. In my case, this translated to focusing on business-to-consumer products at a very low cost to the consumer, so I'm in charge of the product, not the customers. With B2B, especially at a high single customer price, people feel entitled to ask for stupid shit, and whoever manages the product feels compelled to accept it. With low average lifetime customer value, saying no is very easy. I assume that's not the only way to keep full control of the product, but it worked for me.
There's a big difference between good content that is automated into a video, and spam. The key use case for this was helping me focus more on the content, rather than on fiddling with synchronisation and resizing assets. I'm not a native English speaker, and although I speak at quite a few conferences per year, listening to my broken English accent (which sounds like a Bond villain) in a video is quite distracting, even for me. Even with my best efforts to record my own voice professionally, generated voice sounds a lot better than what I can do.
you can set transitions globally in the document header, or on individual scenes. for example, just add
(transition: crossfade 0.2)
for a 0.2sec cross-fade transition between scenesvideo segments (different source media start) are also supported. You can do something like:
(video:
file: stopwatch.mp4
segment: 00:02 - 00:04)
Check out video and transition sections here for more info: https://videopuppet.com/docs/format/Also, if you don't like ![](), you can just use stage directions with brackets. The equivalent script will be :
(image: london.jpg)
Welcome to London
---
(image: berlin.jpg)
Welcome to Berlin