News for hackers. Stuff that matters.

gojkoa

humans supervising agents, not dark factory where agents supervise agents. providing a very high degree of automation, not fully automated. controls implemented using deterministic tools, not via markdown prayers.
This is a minimal boilerplate so that part was excluded but in the real setup this was extracted from we use AWS SSO from the CLI to authenticate against AWS (short-lived tokens) and the keys for other things are in the AWS SSM parameter store as secure strings (encrypted), locked down with IAM so that agents can only access specific (test) keys while developing.

The agents are running inside a docker container (this is part of the setup) and only share the workspace and tmp dirs with the host. They run under user permissions in the container, not root.

Ask HN: Fong Test?

Does anyone have access or a pointer to the origin for the Fong statistical test used in Kano scoring? Lots of websites reference it as "the thing" to use when evaluating Kano surveys, and I found a bunch of academic papers referencing it second hand, but the apparently original paper "Using the Self-Stated Importance Questionnaire to Interpret Kano Questionnaire Results" that seems to have...

( Read More... | no comments | 2 points | on HN )
Re:Ask HN: How do you sell a small bootstrapped SaaS? on Tuesday September 22, 2026 @03:33AM (#49797772)
if you have a profitable business, and don't have previous experience selling, there are three options:

1. aggregators and small PE (sureswift, tinycapital, mudbrick group, sass.group, fullstack capital) that buy smaller SaaS and then consolidate support/operations etc

2. brokers who will help you sell the business, kind of like a realestate broker (quiet light, FE international)

3. maketplaces (sideprojectors, microaquire, flippa)

Re:Ask HN: Are agent orchestrators an anti-pattern? on Monday September 07, 2026 @07:36AM (#49597088)
I've done some research around this for an upcoming book, and generally people who benefit from orchestrators are those that already have a solid regulation framework in place, where agents can get feedback quickly on most of the work, where deterministic guardrails (hooks/custom tools) are in place to keep the agents in their lane and where people invested a decent amount of time in making the agents run securely and know what they can or can't do (avoiding approval fatigue). you need all those prerequisites to make orchestration work well. once that's in place, running multiple agents in parallel doesn't burn man hours, but it can still burn a lot of tokens.

I wrote something recently on how we made the orchestration not burn that many tokens at all. With a few deterministic tools we got the token cost of orchestrated workflows down by 80%. Check out https://news.ycombinator.com/item?id=49587379

Re:Cutting (Claude Code) token spend on dynamic workflows 80% on Sunday September 06, 2026 @02:02PM (#49589121)
definitely. we built a custom eslint parser for scss, html, liquid and yaml and are using it to validate all sorts of rules that were previously just in people's heads. now they are codified and provide instant feedback. if we stopped using AI now, those would still be incredibly useful for human coding.

Cutting (Claude Code) token spend on dynamic workflows 80%

Discovered something very interesting by chance a few days ago, and thought it might be interesting for other people running dynamic workflows with claude code. The workflow scripts themselves are javascript. Claude code knows the format and it can make a tool that composes workflows instead of going through LLM each time.I got it to do that, and with a few more tweaks it got the token spend...

( Read More... | 2 comments | 2 points | on HN )
I'm working for myself (own product, decently profitable SaaS, been in production for 7 years now and used by actual customers), so I'm not sure if I fit your "employed" category or not. If I do, then here's my setup:

1. I have a custom-built minimal flow of 5 "commands", that take an idea to implementation through capturing intent, impact analysis, iterative planning, execution orchestration and then review/demo. each of these effectively builds up a single shared plan file. The intent command takes one or two lines of free text and turns it into a structured intent document (goals/anti-goals/constraints...); impact-analysis takes the intent document and maps it to the codebase, looking for functional gaps and things that need to change. iterative-planning takes the result of the impact analysis and splits into tasks/phases that are independently verifiable and deployable, and builds a task list... so they all build on each other, and update the same plan file that sits in git and I review it as it goes through the pipeline

2. we have a minimal CONTRIBUTING.md that explains the shape of the workspace and the key rules how to work, that's applicable to humans and agents. CLAUDE.md loads it from @CONTRIBUTING.md

3. the guardrails of what the agent is allowed or not allowed to do mostly sit in deterministic tools, such as custom linting rules, custom style checks, and they are all invoked from eslint via the custom language plugin. this has grown to thousands of rules, linting programming language code but also html, scss, yaml, liquid, markdown.... Eslint runs as a post-tool use hook on edit and write, so each file an agent writes gets immediate feedback and fixes. when we catch the agent doing something it should have not done with the code or docs, we get it to write another custom rule with unit tests for the rule. With each rejection Claude also gets a helpful message what to do instead.

4. there's a "regulator" script that helps us avoid decision fatigue for approvals. it runs as a pre-tool use hook for Bash commands, does deep parsing of whatever sausage Claude wants to run, goes into loops, function definitions etc, then goes through our rule set and approves/rejects or forces an ask. With each rejection Claude also gets a helpful message what to do instead. (e.g. don't run npx, use eslint directly from the path). Each time claude asks, we run the command through a debug script to understand why it's asking, and add another rule.

5. the latest addition is an orchestrator script that takes our plan file format and turns into Claude Dynamic Workflow descriptions deterministically, and parses the progress of the workflows so suggest what's slow and what can be moved out of LLM processing to deterministic tools. This significantly reduced the token spend (now running at about ~20% of the token spend for workflows before) and time (from average 5-6 hours per workflow to about 20-30 minutes). It also removed the 10-15 minute wait that we had while claude was LLM constructing workflows from our plans.

6. there's a demo command that flies through the user interface based on the plan to demonstrate what users see with the new version, recording it to webm using playwright, and I can play it at a higher speed to quickly get an overview what an agent did.

7. we tend to look for ways to get faster feedback on things that agents repeatedly do badly, such as UX or UI changes. We have a set of static HTML pages with the visual design language, showing styling for key elements and components, and a set of static demo pages showing key application pages with realistic data in lots of different states. as part of the impact analysis, agents will update demo pages or add new ones so we can review/complain. there's a script that audits demo pages for WCAG and other styling issues. another example are end-to-end api tests, which evolved massively to prove api contracts but also allow agents to get their own feedback and troubleshoot quickly. generally, divide and conquer for feedback.

This tends to work generally well. I feel productive. I still review most code when it completes via git diff, but it's mostly clean because the linting rules are forcing it to write code the way I want it to be written. We use a method based on the attribute-component-capability matrix to figure out what needs manual exploratory testing and how much, and do that in addition to automated tests when needed.

happy to provide any more info if you're interested.

Re:User-guide-driven development with coding agents on Saturday September 05, 2026 @03:53PM (#49580093)
the problem with user guides in general as a driver of specs (this is coming from surviving two such attempts 20 years ago) is that user guides tend to be written for an external audience, hiding a lot of complexity and underlying details. Sometimes this is to keep user docs focused on a specific task, sometimes this is because you don't want to disclose internal workings of a system to users).

Specs can influence (and potentially be even a source for generating parts of) user docs, but user docs can't replace specs.

On the other hand, the idea to write the guide, do mockups etc first is a great way to think through what the user would experience before you do the specs. We have something similar with agents creating demo pages so we can check them, and they become parts of the spec (and something to match the final product against).

But that's not a good fit for backend processes, cross-functional concerns (performance/security) etc, or things you do because your business needs it and not the users (payment fraud prevention) that also need to be specified

Show HN: Votito helps you decide what to build next with confidence

https://www.votito.com/

Hey HN,We're finally launching Votito, after about a year of development, as it's now (almost) polished enough for other people to use. I'd love your feedback!AI tools make software faster to write, so the constraint is no longer building things. It is knowing which things deserve to be built. Votito aims to be a "product decision platform" to help figure that out.Having previously built two...

( Read More... | no comments | on HN )
Re:Ask HN: How has AI changed your QA validation workflows? on Friday September 04, 2026 @03:33AM (#49561650)
The feedback cycle got a lot more segmented, as we try to catch different types of issues and get feedback as early as we can. For example, UX review is now before everything. Claude builds static demo pages for how the app will look once the changes finally land, and then there's an audit script which runs through those to measure contrast/visibility/accessibility for all elements in focus/hover/dark and light theme etc. when that passes, a human looks at the demo pages to check if the design makes sense, and iterates on that. once a human is happy, the implementation work starts. before AI, UX review was usually part of exploratory testing after implementation, but now it's both cheap and necessary to do upfront. The demo pages become a part of the spec, and they are a baseline for automated testing at the end.

Lots of rules and checks evolved from common feedback and now work in custom linter rules, custom checkers, custom-built rule engines to prevent Claude from making similar mistakes.

Similarly to you, we have a "demo video" skill that records a flow through the app demonstrating newly build functionality so a human can look at it at a higher speed and notice if there's something obviously wrong, before doing exploratory testing.

Re:Ask HN: How to Trace Website Ownership on Wednesday September 02, 2026 @07:56PM (#49544223)
Whois lookup gives you the first point of contact of domain ownership. These days, most will sit behind an anonymizations service but you may get lucky and find out contact info there. If they are anonymized, and you have a legal claim, get in touch with the legal contact shown there.

If it's a relatively established website, they likely have a trademark on the name, so the next point of call would be USPTO or WIPO to search for that trademark. That usually gives you non-anonymized data.

Re:Ask HN: Why Doesn't an OSS Developer Union Exist? on Tuesday September 01, 2026 @04:59PM (#49528113)
EFF and sfconservancy exist, they are probably closes to what you can realistically get in this environment. They are are non profits that can try to influence policy but not much more to "protect" individual developers.

Unions (at least in theory) have a way of bringing an employer to the negotiating table by getting a large enough portion of the employees to stop working and bring the employer's business to a halt. in the days of factory picket lines, they were able to prevent other people from working even if they wanted to. this is what gives a union negotiating power. I can't see anything similar for OS developers. What would be the threat? "We'll stop giving you free code?"

regarding a protection union, what you're talking about seems to be legal insurance, and that already exists, but it's significantly more expensive than $20/month.

Re:Ask HN: Do you run A/B Tests? on Sunday August 30, 2026 @01:35PM (#49500851)
So pure theoretical thinking now, but:

1) running multiple tests in parallel becomes important where the product/dev frequency exceeds waiting for a single test to finish, which is roughly a week for us. the business is currently relatively stable and doesn't change a lot, and I don't have big ideas that would need measurement so frequently, but if I did, I'd probably look for ways of running things in parallel. So I don't think it's a function of the dev team as much as what you reasonably want to measure. Having said that, I can imagine a larger dev team implying multiple product people, and those might want to have their own experiments/ideas measured in parallel, so there is something there definitely about the size of the dev team as well

2) if we wanted to be very scientific about the whole thing, we'd need multiple tests in parallel, particularly for novelty/primacy holdouts and to reconfirm that certain things actually hold across time. e.g. if I decided that variant A is better than variant B but our traffic changes (which it kind of it did over the last 3-4 months with AI overviews killing clicks from Google), maybe the reduced set of people we get behaves differently than the larger set we measured against a year ago. so I'd probably want to re-run critical experiments and just confirm them.

Re:Ask HN: Do you run A/B Tests? on Sunday August 30, 2026 @10:33AM (#49499015)
small tech here - 2 people, site with ~1-2m active users per month. We do A/B tests for the majority of changes that could affect engagement or conversion. The infrastructure and plumbing is cloudfront assigning cookies and serving different HTML based on a cookie, and cloudwatch logging user interactions with the cookie included into timestream, where I can run queries manually (no automated resolution, decision making, rollback etc). An A/B test usually takes about a week to accumulate enough traffic for confidence, and we don't run them in parallel. Each A/B test gets a dedicated expectation criteria (so we have no overall evaluation criteria that stays stable across tests). So in the "Experimentation Maturity Model"[1] language, we're kind of in the "Walk" phase.

The overhead is not really significant, as the whole thing is pretty much automated now. We just have two different versions of HTML built and deploy cloudfront by turning on a parameter in the deployment template which pages to split for A/B.

I definitely feel it's worth it. Tweaking things on the homepage brought a measurable 17% increase in conversions. Testing out a redesign of a key component of a proposed redesign showed that we'd be significantly damaging engagement. Lots of results contradicted my intuition over the years (in both directions). Because it's easy to spin up a test, I tend to do it whenever there's an important decision to make.

Our ad-hoc setup prevents us from reliably running multiple tests in parallel, and we do not have any kind of systematic measurement for novelty and primacy effects, but at the level and complexity at which we operate that's fine. I treat test results as more evidence/confidence, not as final evidence. If the test looks OK we'd deploy, then still monitor if the key engagement metrics go up or not, and if not we'll roll back. This happened more than a few times over the last few years. In theory a more systematic platform helps to prevent that, but even then if you aim for 95% confidence, this means that 5 out of 100 decisions you made are probably not justifiable, so it doesn't absolve people from follow up monitoring and judgement. We did A/A tests and holdout testing for a bit but gave up on it (since it's difficult to run multiple things in parallel with our setup, then an A/A test or a holdout would delay further experimentation).

> Trying to understand at what “scale” does A/B testing make sense for organisations

My thinking about this is that when the traffic you have crosses the threshold where you can get meaningful results in a reasonable time (few weeks). Before that it's just numerology. You'll get some numbers, but they can't really drive decisions reliably.

[1] https://www.votito.com/methods/experimentation-growth-model/

Re:Ask HN: How does manual QA fit into your process? on Thursday August 27, 2026 @06:49AM (#49462694)
We keep manual QA for non-deterministic, exploratory stuff, things that do not have an expected input and output and where spotting secondary information and insights (e.g. "why is the chrome network console logging so much when I click on this button?"). things that have a deterministic input and expected output get automated. This whole area is a terminology minefield, but one term I like from the context-driven testing community for category 2 (deterministic) is "checking". The term I like for category 1 is "exploring". If a computer can "check" a post condition given some preconditions then a human does not need to waste time on it. If you need up to go after sidequests and look for unknown factors, it requires a human to explore. Having said that, there is a role for automation to speed up exploration (e.g. record a flow through the app for some key scenario, so a human can play it at 10x speed, prefill data to bring up an app into some well known state for exploration etc), but the judgement stays human. If the QA is flooded with tickets for exploration, giving them tooling to speed up data setups, cleanups, reviews etc might help.

I've picked up a framework for deciding what/how much to test manually from James Whittaker's ACC matrix a while ago, and it's been incredibly helpful to create a policy around when something requires manual testing, how much and what the manual testing should actually cover. It's covered reasonably well in the book "How google tests software". Having a policy around that means that there's no misunderstanding what gets automated and by whom, and what's left for exploring and by whom.

Re:Ask HN: How to implement a friction-less auth on Tuesday August 18, 2026 @02:40PM (#49350522)
Adding "sign in with google" and "sign in with apple" (especially google with FedCM) gives you auth with the least amount of friction you can get, since they end up being one-click events for most users.

Having said that, none of this prevents people from creating fake accounts. On our system I can see people regularly signin in with multiple google accounts, with incrementing digits in the name, trying to abuse the free tier. You'll need to build something yourself for that, depending on your risk surface. For us this involves tracking requests across IP addresses, blocking free access from data centre IPs, blocking bots using AWS WAF, analyzing task patterns to spot people who use multiple residential IPs and a bit more.

Re:Why Don't We Version UIs? on Tuesday August 18, 2026 @02:01PM (#49349808)
in theory yes, but in practice if each deploy is a version (and for us it is), with multiple deployments per day this becomes unsustainable to track. we settled on the backend always being "current" but supporting multiple front-end versions using the version parameter of the API calls.
Re:Why Don't We Version UIs? on Tuesday August 18, 2026 @01:40PM (#49349418)
We've been versioning UIs since 2015, after dealing with a bunch of weird bug reports that we tracked down to people keeping tabs open for months. Needs careful backend planning and backwards compatible data handling, but it's a solvable technical issue. API calls from the front-end can send the active version with calls, letting the backend understand that something older is calling and do version upgrades of envelopes and payloads, and the front-end needs to be designed to ignore extra fields, but all of that is testable, and once things are in place they give you both the protection against weird inconsistency bugs, ability to experiment (running a/b versions in parallel) and detailed monitoring to troubleshoot weird issues.

It's quite sobering to look at the list of active versions and see a long tail of what's actually connecting to our backend.

yes it did, and oddly enough having the choice of that escrow reduced our legal costs. Our lawyers wanted to perform AML research to ensure we were compliant (or I guess that they are compliant) but the fact that the deal used a reputable escrow allowed them to just tick that box without charging us an arm and a leg.
We sold a company last year, and the deal was structured for 80% after the asset migration, and then 5% quarterly for 4 quarters to ensure we don't disappear. So it was 5 payments, but effectively the first one was one big transfer into the bank account. The money first went from the buyer to an escrow service before the migration started, and they released it to us when the migration was complete. The escrow service was very picky about which banks they wanted or did not want to work with, and they refused to send money to our Wise account which would have saved a lot of money in transfer fees and forex later. Sending to a traditional bank was fine.
The 3 lines below help a bit. It still gets lost after the context fills up, but it mostly solves the verbosity issue,

- When responding to the user, respond in ASD-STE100 English. You can extend the dictionary if you need, but respect ASD-STE100 rules as much as you can.

- When writing comments, technical documentation and internal documents (roadmaps, plans, design references) use ASD-STE100 English. You can extend the dictionary if you need, but respect ASD-STE100 rules as much as you can.

- When writing plans: no timeline estimates, no complex code. unless specifically requested, no deployment sequence. use pseudo-code only for non-trivial operations where clarifying complexity is crucial

- no bots, ai slop stopped at the door

- feed from people I actually follow, in an actual chronological timeline (not optimized for engagement, not deprioritized because it has an external link)

- topical feeds with topical filters (e.g. I don't care about politics but care about tech news)

Re:Ask HN: What has your personal website/blog done for you? on Tuesday August 04, 2026 @10:31AM (#49169540)
I've had a blog for almost 20 years now, and what it did for me really shifted over the years. Early on, it helped me join the conversation around the topics I cared about (I still fondly remember remember backpings and comments on blogs, when it was still safe to publish those automatically and not fear link spam or porn showing up randomly), and become a member of a community. It helped me attract a small group of people who followed my work and would later buy my books.

As internet became more hostile and social networks started hiding posts to external sites, I ended up posting a lot less frequently, so the blog mainly became a place where I could put a longer explanation or a reference, effectively to stuff up to point people from workshops and short conversations more easily. From that perspective, a blog really helps me clarify my thoughts about something so I can force myself to research it in detail. The way I write also shifted because of this. Early blog posts were more like a presentation or a story, now I mostly write stuff that's like a reference.

Re:Three Claude Skills I Think Every Org Should Have on Friday July 31, 2026 @02:37PM (#49126994)
Out of the 3, 2 are a pointless waste of tokens. 'create-XXX' and 'deploy-XXX' are repeatable, reproducible, scriptable tasks that were solved automation problems (not necessarily easy, but solved) long time before LLMs. If you're going to use a Claude for anything like that, it's much better to ask claude to actually write a deployment script or a template for new projects that can run in a deterministic, tested way. Using an AI skill for a process like that is slower than a script, less trustworthy and just a waste of money every time it runs.

I get it that some people don't know how to write shell scripts or IaC templates, so in theory maintaining a LLM skill is easier than maintaining a makefile, but if you have a coding agent available, it can do the updates.

Older »