I’m building AstraScope — a simple space discovery app for iPhone
Way forward to space exploration!

AstraChain.space exists to confront one of the most significant and least discussed challenges facing humanity: the gap between what we are capable of achieving and what we are actually achieving.
What's the most confusing document you’ve ever signed without reading?
Deploying AI agents in enterprise: ship fast and iterate vs build the 'right' architecture first?
There's a debate I keep having with enterprise AI teams.
Side A says: 'Ship something working in 4 weeks, prove value, then refactor. Enterprises want results, not perfect code.'
Side B says: 'One bad architecture decision in enterprise AI costs you 6 months of rework. Get it right before you scale. The cost of fixing later is 10x.'
Both have merit. Both have horror stories.
We Built the Tool That Lets Developers Sell Homes Before They Build Them
We're not interior designers. We're engineers who got frustrated watching a simple problem go unsolved for too long.
The problem: residential developers have been asking buyers to commit to major purchases based on 2D floor plans and brochures for decades. The solution everyone settled on was physical show units. Expensive, slow, and limited to one finish package.
AI for Software Engineering, from Intent to Production 🚀
Hey Product Hunt
Excited to share that we re launching Revolte today.
Revolte around a simple belief: software teams should spend more time building great products and less time dealing with delivery complexity.
SiteRows example #4
Hello everyone. Welcome back to my siterows.com series.
Quick reminder of what this app does: Allows you to scrape web content with SQL, like you would query a DB. Creating a FREE account unlocks automation features and higher usage limits.
Today's question: "On the site, what is the whole deal with this Objects box?"
The purpose of the objects box is to give it a SQL-like look and feel, and here is how it's structured:
When you expand "DOM" and further expand any element like @a or @div, you get two items: "Scraper Fields" and "Attributes".
Under "Attributes", you'll find all the standard HTML attributes for that element
Under "Scraper Fields", you'll find a couple of extra synthetic attributes I thought would be useful like Index, Parent, Children, etc...
Scrolling back to the top, you'll see a couple of "Composite" elements I also thought would be useful. For example, the @headings element represent @h1, @h2, @h3, @h4, @h5, @h6 elements combined.
Think of any element like @a, @div, or @headings as your "tables", and their attributes like href, id, class as your "fields".

Thanks, everyone. Please don't hesitate to reach out with any questions or feedback.
We built an open-source LLM observability tool. Would love your feedback!
Hey Product Hunt community!
I'm Haeseong, the solo founder behind Spanlens. I built it because I kept seeing the same problem around me. Developers shipping AI products had no clear picture of what was actually happening with their LLM calls in production. Costs were invisible, errors were silent, and when something broke, there was no trace.
built an open source SDK for catching AI agent regressions before you ship
been building agents for a while and kept hitting the same problem. fix a failure, change the prompt or model, same failure comes back quietly. nobody catches it until a user does.
built replayd to solve this. captures failed agent runs as regression tests and replays them before you deploy. if the same failure returns after a prompt, model, or tool change, it catches it.
the grading part was the interesting problem. can't use exact output matching because LLMs are non-deterministic. so instead of checking the text, it checks whether the specific failure came back. wrong tool called gets a hard assertion. policy violation gets an LLM judge.
v0.1.2, early but works end to end. zero runtime dependencies in the core.
Welcome to ListLens!
Hello all!
Working in the email marketing industry for the past 2 decades, a common problem that many of my clients encountered was determining what their subscriber list was comprised of.