When something is broken
Alloy is built so that a failed read costs you nothing. Most of the messages that look alarming are the app telling you honestly that a *read* failed — not that your work, your credits or your place in a course have gone anywhere.
The single most useful thing you can send us is the exact wording on your screen. Alloy's messages are deliberately different from one another: one of them means "we could not check", another means "you do not have enough", and a third means "the content is not ready". They have different answers, and the words on the screen are what tell them apart.
"My progress isn't saving"
Almost always this is a failed read, not lost work. When Alloy cannot read your progress it says so in those words on the Progress page: *"We could not read your progress just now. This is not a statement that you have not studied — it means the read failed. Nothing has been lost; try again shortly."*
So: your studying has not been deleted, and you have not been reset. Please reload the page or come back in a few minutes. If you still see that message after a while, tell us and we will take it from there — send the wording, the course you were in, and roughly when it started.
We will never tell you your progress has been lost on the strength of that message, because the message does not say that.
"It says it couldn't check my access" or "my credits weren't applied"
This is a refusal to *start*, not a charge. When Alloy cannot read your credit balance it stops before doing anything and says: *"Your credit balance could not be read just now, so we can't tell whether this is unlocked for you. This is a problem on our side — it is not a statement that your balance is zero or that your plan lapsed."* The panel is headed **"We couldn't check your access"** — that heading is the tell.
The same design runs on the server: an unreadable balance is a refusal that explicitly reports *"nothing was served and nothing was charged"*, and it is deliberately kept separate from a credit shortfall so a failed read can never turn into a charge. On a practice drill you get the matching message: *"We could not read your credit balance, so we will not start a drill that spends credits. This is not a statement about your balance — please try again shortly."*
What that means for you:
• Nothing was spent. The activity did not start, so there was nothing to charge for. • It says nothing about your balance. It is not a claim that you are at zero, that your plan lapsed, or that your account is restricted in any way. • Try again shortly. These are transient by design.
If it keeps happening, send us the exact wording, the course, and the page you were on. Please do not buy credits to get past this — a top-up will not clear a failed read, because the read, not the balance, is what stopped it.
"It says I don't have enough credits"
This is a completely different message, and it is a real answer rather than a failure. When you genuinely do not have enough credits for something, Alloy says what it needs, tells you your actual balance, and says: *"Your balance is N. Add credits and this will run."*
Two things follow from that. First, this one *is* about your balance, so topping up is the correct next step. Second, it is never the same thing as "we couldn't check your access" — if your screen shows what it needs and your balance, you are reading the credits message; if it says we could not read or could not check, you are reading the failure message and nothing was spent.
If a message you have quoted to us is ambiguous, we will ask you to read it back word for word rather than guess which one it is.
"The audio won't play" / "the podcast episode won't load"
If an episode does not play, the honest answer is that **the episode is not available to you right now**, and we will not guess at why on the spot. Alloy's audio has more than one reason an episode can be withheld — an episode that exists but is being held back is a different state from one that has not been published for that lesson at all — and the player shows the reason the server gives it rather than a generic error. Where there is no reason to show, it falls back to *"No episode has been published for this lesson yet."*
Please send us:
• the course you were in, • the lesson the episode belongs to, • whether it was the Lesson coverage or the Question walkthrough tab, and • the wording of anything the player showed you.
With those we can look at the specific episode. We will not tell you it is a credits problem, a device problem or a licensing problem unless we have actually established it, because a confident wrong cause is worse than "we are checking".
"The diagnostic won't start"
If starting a diagnostic refuses with a temporarily unavailable message, or with **no questions available for this drill**, that is a problem on our side — the question bank for that course could not supply the diagnostic at that moment. Both of those refusals happen *before* any charge is worked out, so:
• You were not charged. Nothing is spent on a diagnostic that never started. • Your free first diagnostic is intact. The free allowance on a course is only used up when a diagnostic is actually completed, so a diagnostic that refused to start, or that you opened and abandoned, has not consumed it. • It is an outage, not a paywall. It is not a limit on your account and not a sign that you did something wrong.
Retrying a little later is the right move. If the same course refuses repeatedly, report it with the feedback button on that course's page, so it is filed against that course.
If you were taking a paid retake and the charge went through but the diagnostic then failed to start, the refund happens automatically for the failure cases the server can see; anything outside that is recorded in Alloy's log. If your balance looks wrong after a failed retake, report it with the feedback button, naming the course and roughly when, so it is filed with the page it happened on.
What we will always ask you for
Whatever the problem, these three things let us find it quickly:
1. The exact wording on your screen. Word for word if you can, or a screenshot. Alloy's messages are written to distinguish between very different situations, so the wording is the diagnosis. An error code on its own does not explain anything — send the sentence. 2. The course. Which of your courses you were in. 3. The page you were on. The surface or page (for example your Account, a track, a lesson, the labs), and what you expected to happen versus what actually happened.
That last one is exactly what Alloy's own support page asks for — the surface or page you were on, and what you expected versus what happened — so you are not being asked for anything unusual.
Reporting it from inside the app
While you are signed in and on an in-app page, there is a round "Report an issue" button in the corner of the screen. It works in two steps, and the second step surprises people:
1. Click the round button. Your cursor becomes a crosshair and a banner appears at the top reading *"Report a bug — click the element with the problem"*. 2. Click the thing that is broken, or press "Report whole page" if it is the whole page. Then pick a category — "Something broken" is the first one — and describe what happened.
The button is hidden on Alloy's public pages — /welcome, /pricing, /learn, /catalog, /about and the sign-in pages — and it only appears for a signed-in learner on an in-app page. Note that the catalog — the Explore item in the menu, at /catalog — is reached from inside the app but still counts as a public page, so if you are standing there you will not see the button; move to another surface, or just tell us in this conversation instead.
Check the panel you get back. A green "Thanks for your feedback!" means the report was recorded. An amber "Reporting is unavailable" with *"Your report was not saved. This is a problem on our side, not your connection."* means it was not saved — nothing you did went wrong, and you should tell us here instead so it is not lost. A red "Submission failed" also means it was not saved; tell us here as well. If the report was saved you may see a short reference id; it is worth quoting, but its absence does not mean the report failed.
What we will not do
We will not tell you your work is gone, we will not tell you credits were taken when an activity refused to start, and we will not invent a cause for something we have not looked at. We also will not put a time on a fix — when we have something concrete, we would rather tell you that than give you a date we cannot stand behind.