All projects
filed July 2026 / ai edtech saas / Archit Gulati

Phiny

There has never been more material available to prepare with, and preparation has never felt less effective. Phiny anchors assessment, training, mock interviews, and job discovery to one target role, so that every attempt produces a signal the next attempt can use.

Features
Career Dashboard Mock Interviews Skill Training Job Discovery Resume Workflows

The rejection arrives. The reason never does.

A candidate applies, waits, and gets a no. What they do not get is which part failed. Was it the resume, filtered before a human read it? The concepts, thin in the third question? The communication, where a clear thinker turned into an unclear answer? Or was the role never a fit in the first place? Four very different problems, one identical outcome, and no way to tell them apart.

This is why the obvious remedy does not work. Told to prepare harder, a candidate practises everything, which means practising mostly the things that were already fine. Effort goes up, the hit rate does not, and after enough rounds the conclusion people reach is not "my resume format is wrong" but "I am not good enough". The self-doubt is a data problem wearing an emotional disguise.

The abundance of material makes it worse rather than better. There has never been more preparation available: question banks, courses, model answers, and now a model that will generate an infinite supply of all three on request. None of it is aimed. A candidate can spend six weeks studying, learn a great deal, and walk into the interview no more prepared for that specific role than when they started. The scarce thing is not content. It is knowing which gap to close next.

Three people, failing at three different points.

The diagnosis problem does not look the same for everyone, and the product only works if it can tell these cases apart before it starts prescribing.

The first-timer knows the material and loses it under pressure. Theory is not the gap. Rehearsal is, and no amount of additional content substitutes for having already answered the question out loud once.

The switcher has three to six years of real experience and no idea which of it counts in a new industry, or which roles to aim at. Their problem is translation, not capability, and it begins before any preparation does.

The overlooked delivers strong work and gets filtered out on paper before anyone sees the substance. Nothing about their skill needs fixing. The artefact representing them does.

Three candidates, three failure points, and the same generic advice served to all of them by every tool on the market. A product that cannot distinguish these cases will send the switcher to interview drills and the first-timer to resume formatting, and both will conclude that preparation does not work.

One target role. The context for everything else.

The central product decision was treating the target role as a shared object, not just a filter. A user provides a job description, link, or file. Phiny extracts what the role actually requires and builds a preparation plan around it.

That same role context then drives assessment, training, mock interviews, progress tracking, and job discovery. It is what turns a collection of career features into a system rather than a toolkit.

This decision has a real cost, and it is worth stating plainly. Asking someone to commit to one role before the product does anything for them is friction at the worst possible moment, and it turns away every visitor who arrived wanting to browse. Every growth instinct says to remove it, personalise later, and let people wander first.

The friction stays because diagnosis is impossible without it. "You are not ready" is not a finding. "Your system design answers are thin for a role that lists distributed systems three times" is. The second sentence requires knowing what the candidate is aiming at, and there is no way to earn it by inference from a browsing session. The product asks for the target because everything it is trying to be useful about depends on having one.

The product starts with a baseline: a short knowledge assessment followed by an AI-led mock interview to understand how the candidate actually performs under pressure. That picture of strengths and gaps is what makes the next step relevant to the person, not just the role. From there, difficulty adjusts as performance changes. Weak areas get more attention; strong areas move faster.

Assess → Identify gaps → Practise → Measure → Adjust → Practise again

The cold start problem: useful before the AI has any signal.

Adaptive systems have a bootstrapping problem. Before the AI has data on a candidate it has nothing to adapt to, so every recommendation is generic, which makes it no better than a static study guide.

The baseline assessment is the solution. Rather than starting with personalization and failing at it, the product explicitly collects the signal it needs before it tries to use it. The candidate answers a short knowledge assessment. The AI runs a structured mock interview. Now there's enough data to generate something role-specific. The cold start ends at question one.

This also matters for retention. The first session needs to deliver a clear, personalised output such as a gap report or a recommended path, not a generic welcome flow. Candidates who see something specific to them after session one have a reason to return for session two.

The mock interview is a diagnostic, not a test.

The useful output isn't pass/fail. It's the gap between the answer the candidate gave and the answer the role required. Phiny surfaces that gap with feedback, suggested improvements, and transcripts so each attempt becomes input to the next preparation step.

This is the part that answers the opening problem. A real rejection tells a candidate nothing, and a mock interview that only returns a score repeats that failure with better production values. The output has to name which of the four things went wrong, because that is the information the real process withholds and the entire reason to practise somewhere safe.

Transcripts matter more than they look. A score is a verdict and invites argument; a transcript is evidence and invites review. Being able to read back the answer as it was actually given is often the moment a candidate discovers that the knowledge was there and the structure was not.

The loop closes: interview, feedback, improvement, another interview. The dashboard keeps that loop visible with active roles, skill progress, completed assessments, and what to do next. The interface is designed around continuation, not exploration.

Phiny dashboard — active training roles and skill progress

What would tell you it is working.

The activation event is completing a full mock interview cycle: baseline assessment, interview, feedback review, and at least one follow-up practice session. Candidates who complete that cycle in the first 48 hours retain at a meaningfully higher rate. That is the metric to instrument first, not signups and not question count.

Secondary metric: mock interview return rate within 7 days. If the feedback loop is working, candidates should come back to try again. If they do not, the feedback is not actionable enough to motivate another attempt, and that is a product problem rather than a motivation problem.

The guardrail is role-preparation alignment: are candidates practising for the role they specified, or drifting? If a user defined a PM target but Phiny's training recommendations have drifted toward generic interview prep, the role context has decayed. That needs a logging check on what the recommendation engine is actually weighting.

A collection of AI features would have been easier to build. A connected system is more useful.

Resume tools, mock interviews, learning modules, and job boards all exist independently. Each of them is now trivial to build, which is precisely the problem. When capability is abundant, shipping another isolated feature adds to the pile the candidate was already drowning in. The opportunity was connecting them around one object: the role the candidate is trying to get.

That continuity changes what each feature can do. A weak interview changes the next training recommendation. A skill gap changes what the candidate practises. A target role changes what "ready" means. A job match becomes the next concrete goal. The value is in those connections, not in any individual tool.

The general lesson holds beyond careers. A model will teach anyone anything on request, and that has not made people measurably more capable, because learning was never bottlenecked on access to explanation. It was bottlenecked on knowing what to work on, in what order, with something checking whether it worked. Structure is the part that does not come free with the model, which makes it the part worth building.

Written by Archit Gulati · GitHub · LinkedIn · back to the work