x-tra
Product decisions
A readable record of what we decided, what changed, and why. This is the product source of truth while x-tra is still taking shape.
Current direction
X-tra remembers an account, finds the posting patterns worth repeating, and keeps every conclusion inspectable.
Jev labels new posts in the background. Patterns compare those labels with real reach, Growth keeps the long-term line, and Library exists to inspect or correct the evidence—not as the product’s main feed.
Decision log
Current
Progress deserves a shareable output
Give progress and recorded milestone cards a dedicated Cards page. Start with weekly follower change, a daily follower chart, median reach at a consistent measurement age, and saved post counts. Keep measurement details in the Cards page. The image and caption show progress in plain language, with short qualifications only for incomplete data. Give the follower chart visual weight, mark recorded crossings, and show the next milestone based on the selected week and the account’s existing interval.
Why
People can use analytics to understand their progress and also keep or share a useful record of it. Progress is available between milestones; a recorded milestone remains a separate moment to celebrate. Both should use the history already retained by X-tra.
Current
Collect completely once; measure deliberately later
Run one complete cursor-based import shortly after each account's local midnight. Keep the daily follower point, take one mature post-metrics snapshot after 48 hours, and take a seven-day snapshot only for posts the owner added to an experiment. Enforce a configurable monthly X data allowance per user.
Why
Completeness should not depend on how many posts fit in the first response, but X-tra also should not pay to reproduce live X Analytics. Delayed, purposeful measurements preserve the useful history while bounding spend.
Current
Patterns are the product; posts are the evidence
Open on deterministic topic and intent patterns. Growth remains the retained account history, Library is a compact correction surface, and folders are demoted to optional saved comparisons.
Why
A growing vertical feed makes every imported post feel like work. The recurring value is seeing which recognizable subjects and communication styles are worth repeating, then inspecting the posts behind the result.
Current
Jev labels automatically; the person corrects
After a successful X fetch, Jev assigns one controlled topic and one controlled intent to new posts and a small unlabelled backlog. A person can replace either label inline, and that correction immediately changes the deterministic patterns.
Why
Labels only become useful when coverage is automatic. Keeping the vocabulary controlled, the batch capped, and the final labels editable removes upkeep without turning X-tra into an AI advice product.
Changed
Jev proposes; the person decides
Jev can review a small, explicitly requested batch of posts and propose one topic and one intent from a controlled vocabulary. X-tra shows those suggestions beside deterministic reach evidence, and nothing becomes a label until the owner approves it.
Why
Classification can remove repetitive upkeep and make comparisons richer, but automatic labels would quietly replace the account owner's judgment. A cached, capped review ledger adds depth without becoming a chatbot or an open-ended AI cost.
Current
Agents read X-tra, not X
Expose a versioned, read-only strategy API over the posts, metrics, follower history, folders, and labels already retained in X-tra. Access uses revocable scoped tokens and cannot refresh X, publish, or modify classifications.
Why
An agent needs the account's evidence and human context, not the X credential. Keeping the paid X collection boundary inside X-tra prevents surprise API spend and gives every client the same stable interpretation layer.
Current
A folder starts with a question
A folder is a deliberate post sample with a question and an inclusion note. Its page compares that sample with posts outside the folder, shows follower coverage, and keeps the underlying posts visible.
Why
A name and a pile of posts created bookkeeping, not value. The question gives the comparison a job and makes its evidence reusable by both the person and an agent.
Changed
Labels describe judgment, not facts
Human labels are limited to topic and intent. Format, media type, original posts, and self-shares are derived automatically from X data. Labels can be applied to a selected set of posts.
Why
People should only maintain context the system cannot already know. Requiring manual labels for observable post facts would turn X-tra into administrative work.
Changed
Separate Growth, Posts, and Folders
Growth is the account-wide retained history, Posts is the working library, and Folders holds purposeful comparisons. Product decisions no longer appear in the signed-in primary navigation.
Why
Combining analytics, organization, and process documentation on one page made every part feel weaker and obscured the path from evidence to a decision.
Current
A crossed milestone becomes an image
When the retained follower line crosses a milestone, reveal a dashboard-styled celebration card showing the crossed number and let the owner download it as a high-resolution PNG.
Why
The crossing should immediately produce something personal and publishable. Showing 1,150 in the image also preserves the meaning of the event if the live follower count has already moved beyond it.
Changed
Freshness is a user choice within a budget
Keep the automatic daily reading and allow up to two additional manual refreshes, for a maximum of three successful readings per account per UTC day.
Why
Daily collection protects the follower history cheaply, while a capped refresh lets the owner update metrics before making a decision without turning X-tra into an hourly analytics mirror.
Current
Themes must be recognizable ideas
Theme associations use folders, hashtags, and repeated two- or three-word phrases. Single extracted words are not shown as themes.
Why
A label such as “don’t” or “same” is statistically traceable but not something a person can understand or deliberately post about again.
Current
Milestones adapt, but remain editable
Choose the next round milestone dynamically from the account’s current range, while allowing a fixed interval to be selected. At 1,143 followers the dynamic next milestone is 1,150.
Why
A distant generic target removes the emotional usefulness of milestones. Smaller nearby crossings can still be real moments worth celebrating and publishing.
Current
Follower growth is the painkiller
The primary experience is a retained follower-growth line. Posts, timing, themes, and milestones exist to explain or act on that line.
Why
X shows plenty of post metrics, but the missing, immediately useful memory from v1 was a clear view of how follower count changed over time.
Changed
Retain one point a day, not one point an hour
Retain one follower-history point per day. Check the account post count first and only request the timeline when that count changes. A same-day manual refresh updates that retained point and the relevant post metrics.
Why
Continuous account analytics would spend money reproducing information X already provides. Daily history preserves the differentiated part without an open-ended collector.
Current
Analytics must explain something
Do not create a dashboard of metrics for their own sake. Show best days, posting windows, recurring themes, and unusually strong posts in the context of follower movement.
Why
Metrics are only useful here when they answer what was happening while the account grew or suggest a concrete next move.
Current
Use transparent comparisons
Calculate patterns deterministically with medians, multiples against the account baseline, hit rates, and visible sample sizes. Describe association rather than causation.
Why
The account owner should be able to understand where every conclusion came from without trusting generated analysis.
Changed
Projects are optional folders
Projects no longer define the product. A folder is an optional manual label for comparing a campaign, topic, or body of work.
Why
Most posts do not feel like projects, completed projects do not create a recurring habit, and requiring organization adds work before providing value.
Changed
X Growth is not a project
Follower history is the starting state of the account experience, not a special project with a different internal structure.
Why
Treating growth as a project mixed analytics, milestones, and editorial work into one confusing object.
Current
Milestones are an output
Detect meaningful crossings from the follower line and turn them into customizable, shareable media. Do not position milestones as the entire product.
Why
Milestones are emotionally useful and publishable, but a dedicated milestone product already exists and the feature alone is unlikely to sustain X-tra.
Changed
Remove the draft-story assembly
Stop presenting concatenated source material as a story workflow. Any future publishing tool must produce a clear artifact with an obvious purpose.
Why
Joining items together did not create meaningful editorial value and made the workspace harder to understand.
Current
Keep v1 and v2 conceptually separate
Carry forward the useful follower-growth problem from v1 without carrying forward v1 as the architecture or full product definition.
Why
Trying to preserve v1 inside v2 constrained the new product while still failing to make the two directions feel coherent.