39 karma · joined December 14, 2025
Now I use codex & claude code & antigravity, and can not return to using Cursor.
For many indie developers, though, that assumption doesn’t always hold. We’re often not domain experts, and starting purely from personal pain can be misleading if the pain isn’t shared or frequent enough.
In my experience, the challenge isn’t “starting from yourself” vs “starting from keywords”, but figuring out how to get close enough to a real problem space to develop that kind of insight in the first place.
I built a “product” starting from keywords, but then realized I didn’t actually know where the users were, or how to talk to them. There was no obvious place for real feedback.
Starting from keywords let me ship something, but it also meant I was missing the professional context around the problem — the deeper understanding you only get by being inside the system where the frustration exists.
In hindsight, I think I optimized for building something, not for being close to the problem itself.
I’ve found that discovering keywords is rarely the beginning of understanding a need. Knowing where people with that need actually are — and how they talk about the problem — seems much more important.
Even if you do find a viable keyword, SEO alone usually isn’t enough. You still have to talk to users, watch how they use (or don’t use) the solution, and iterate based on real feedback. Keywords feel more like a downstream artifact once you’re already deep in the context.
I actually already have this live at: https://castiching.com/interpret
You can skip the digital casting entirely. Just throw your coins in the field, note the numbers, and plug them in there. It instantly pulls up the interpretation without the clicking.
I held off on building it because I personally really cherish the manual process. The physical effort (even the clicking) helps me settle into the reading.
But I hear you. 100 clicks is a heavy lift for every session. I will likely add that 'visual auto-play' feature in a future update as a middle ground. Thanks for the feedback!
regarding a 'second pocket' version: You absolutely have to check out Bradford Hatcher (https://hermetica.info/).
He is actually the biggest inspiration behind my development process. His work is incredibly deep, pragmatic, and distinct from the 'Christianized' tone you sometimes get with Wilhelm. He offers his massive 2-volume translation for free on his site.
I am actually considering digitizing his text as an alternative option on my site because his word-by-word matrix is just mind-blowing. Let me know if you find his style fits your 'field reading' vibe.
It makes sense that the character matching worked well—AI is incredible at pattern matching your past data/context. But Divination (Tarot/I Ching) requires Synchronicity and a sense of 'randomness' that feels earned.
When an LLM generates a reading, it's just predicting the next likely token, which flattens the magic. The manual ritual (shuffling cards or clicking stalks) restores that 'weight' that AI removes.
I built this project because I am fascinated by the Yarrow Stalk method—a process that is complex and full of ritual.
While most apps are just "click and get answer," my implementation requires the user to click over 100 times to complete the ritual. I originally hesitated to add AI because AI demands speed, whereas this ritual represents slowness.
After a month of observation, the results have been surprising:
1. I see users completing these 100+ clicks every day, far exceeding my expectations.
2. Users have left comments on the site specifically asking me NOT to add AI.
3. I also received strong validation for this "sacred friction" strategy from the Indie Hackers community.
This has been really encouraging. It seems people are craving the "process" more than just the result.
I'd love to hear your thoughts on this.
I am an indie dev and I built this tool to scratch my own itch.
I spent a lot of time trying to replicate styles I saw on X (Twitter), but I realized that simply copying prompts doesn't work anymore. The problem is that every AI model now speaks a different "language." Midjourney relies heavily on parameters like --sref and --stylize, while Flux prefers structured data, and DALL-E just wants simple natural English.
Existing image-to-text tools usually just describe what is in the image. They don't tell the model how to generate it.
So I built Prompt Lab to focus on model-specific tuning. When you upload an image, my tool analyzes the visual style and composition, then translates that data into the specific syntax for your target model.
It is definitely an MVP, so things might break. Please give it a spin and let me know what you think in the comments. I am actively working on it today, so if you have ideas on how to improve the prompt syntax or spot any bugs, just drop them here. I'm ready for your feedback.
Thanks to AI tools, coding is now the easy part. I can build full-stack apps faster than ever.
But I hit a wall. I realized my problem isn't engineering anymore. It is finding users.
For 2026, I want to shift my focus. I need to stop worrying about "how to build" and learn "how to sell."
Marketing and distribution are now my top priorities.
I built this because I wanted a simple tool to overlay grids on reference photos for drawing, but most top search results were either ad-ridden or required uploading images to a server.
GridMakers is different:
Privacy-First: It uses HTML5 Canvas to process everything locally in your browser. No image data is sent to my server.
Specialized Modes: I added presets for Portrait (A4 crop), Mural (10x10 scaling), etc.
Tech Stack: Built with Next.js and Tailwind.
It's free and I'm just trying to make a useful utility. Feedback welcome! Link: https://gridmakers.app
I checked out your site—having the full index on a single page is actually super handy for quick referencing.
And I totally relate to the 'Vanilla JS vs Framework' struggle. I ended up choosing Next.js precisely because managing the state for the complex probabilities (6/7/8/9) was giving me a headache. Respect for sticking to the raw math!
It is really cool to see how different developers interpret the same ancient text. I noticed your approach is very direct and efficient with the results.
Keep going!
It’s rare, but both of your moving lines start with the exact same verdict: 'One cannot engage in conflict' (不克讼).
Line 2 says: Retreat and return home. (Don't fight the reality.)
Line 4 says: Turn back and submit to fate. (Acceptance brings peace.)
The Oracle seems to be validating your feeling of loss, but advising that this isn't a battle to be won against time (Conflict). It’s a transition to be understood.
You are moving from Hexagram 6 (Fighting) to Hexagram 20 (Contemplation/Viewing). The 'supernatural power' of youth is active energy; the power of age is perspective. You aren't losing the code, you're just moving from 'Writing' to 'Architecting'. :)
You were likely asking: 'Why is this code throwing an error and fighting me?'
The transition from Conflict (fighting the code) to Contemplation (Observing/Viewing) suggests the solution isn't to type more code, but to step away and look at the logs (or the documentation).
Did I debug the user intent correctly?
I'll keep the water clear. Sticking to the Wilhelm/Baynes text.
Speaking of 'neatness', I just pushed an update that lets you generate a visual Result Card of your reading.
So now you can get a nice downloadable souvenir of that Gaussian-distributed hexagram. :D
Since you have experience with the actual stalks, I think you'll like the update I just pushed: I’ve fully integrated the classic Wilhelm/Baynes text to ensure the reading has that authentic, traditional grounding you mentioned.
I also added a way to generate a visual card of the result—trying to bring back a bit of that 'tangible artifact' feel of the physical ritual. :)
I spent the last 24 hours implementing the feedback from this thread. Thank you all for the harsh (but fair) critique.
1. Ditched AI for the Classics Many of you pointed out that AI interpretations felt "soulless" or risky. I agreed.
Now: The app directly displays the canonical Richard Wilhelm / Cary Baynes translation (Foreword by Carl Jung) for the Primary Hexagram, Moving Lines, and the Relating Hexagram. It's mathematically precise and respects the source material.
2. No More Lost Readings (Persistence) @jmkd mentioned losing a reading on refresh.
Fix: The latest reading is now auto-saved to Local Storage.
Privacy: Still no login required. Your data stays in your browser.
3. Shareable "Result Cards" Since the hexagrams look so cool, I added a feature to generate a downloadable image card. It captures the visual pattern and the key judgment text.
Give it another spin and let me know if the "Moving Lines" logic feels right to you now!