Category: Learn and practise

  • Understand Running Costs Before Pricing Your AI Product

    Understand Running Costs Before Pricing Your AI Product

    Your prototype may cost very little while only you use it. A product used by other people creates a different question: what happens to the bill when use increases, someone retries a task or you spend an afternoon helping a customer?

    Before choosing a price, make a simple cost model. This is a written set of assumptions and calculations, not a prediction of income. It helps you decide what to measure, which limits to set and whether the proposed service is practical enough to test.

    All amounts in the worked example below are hypothetical Pakistani rupees, written as PKR. They are teaching numbers, not supplier quotations, recommended market prices or financial advice. Readers elsewhere can use their own currency without changing the method.

    Describe the unit of useful work

    Our fictional learner, Bilal, is building a product-description helper for small stationery suppliers. A user enters verified product facts, receives a draft description and checks it before use. The tool does not publish listings or decide product claims.

    Bilal’s unit of work is one draft request. That sounds simple until he notices that a request can contain a short pencil description or a long catalogue excerpt. A user may also regenerate the result several times. Counting users alone would hide these differences.

    For an early estimate, he defines one ordinary request as a limited input followed by a limited output. He separately records retries and unusually large requests. Later, he will replace these assumptions with observations from safe trials.

    Separate fixed costs from usage costs

    A fixed cost is an expense that stays roughly the same within the operating range you are considering. A variable cost changes with use. These categories are planning tools, not permanent properties: a hosting plan may have a fixed fee until usage reaches a threshold.

    Bilal writes the following hypothetical monthly plan:

    • Hosting and basic storage: PKR 3,000.
    • Monitoring and other operating tools: PKR 1,000.
    • Time budget for maintenance and support: PKR 6,000.
    • Planning reserve for unexpected operating work: PKR 2,000.

    That totals PKR 12,000 in monthly fixed and planned costs. The time budget is an assigned value for his own effort, not a salary he has actually received. The reserve is a planning allowance, not an incurred bill. Separating these labels prevents an estimate from looking like an accounting statement.

    He then assumes an average variable cost of PKR 2 per draft request. This is deliberately invented. A real estimate must include the actual model usage and other usage-based services relevant to the design.

    Learn what the model provider charges for

    An API is a way for your application to request a service from another system. Model APIs may charge differently for input and output tokens. Tokens are pieces of text used in model processing; they are not always whole words. Different languages and inputs can produce different token counts.

    As a current example of billing structure, Anthropic’s official documentation lists separate input and output token prices and describes additional pricing for features such as prompt caching and tools. This article does not reuse any provider’s current numerical rate. Check the exact model, service and feature combination before making your own estimate. See Anthropic’s pricing documentation.

    A simple token estimate is: input tokens divided by one million, multiplied by the input rate, plus output tokens divided by one million, multiplied by the output rate. Add applicable tool charges and other costs separately. Do not assume a chat subscription pays for your application’s API use; verify your actual plan and billing arrangement.

    If supplier bills and customer prices use different currencies, write the exchange-rate assumption and its date. Do not quietly treat today’s conversion as a permanent rate. Also identify payment fees and tax questions for appropriate local advice rather than assuming they are zero.

    A hypothetical monthly cost model separates PKR 12000 in planned fixed costs from PKR 2 per request.

    View full-size diagram.

    Figure 1. Keep assumed fixed costs and usage-based costs separate.

    Work through one hypothetical price

    Bilal considers a purely hypothetical plan priced at PKR 1,500 per month with up to 200 ordinary draft requests. At the assumed PKR 2 variable cost, using all 200 requests costs PKR 400. The amount left toward fixed costs is therefore PKR 1,100 per fully used plan, before any costs omitted from the example.

    This amount is sometimes called contribution: price minus the variable cost associated with that sale. It is not the same as profit. Fixed costs still have to be covered, and the assumptions may be wrong.

    To cover the PKR 12,000 monthly plan under these simplified assumptions, calculate 12,000 divided by 1,100, which is about 10.91. Because he cannot have a fraction of a customer account, the arithmetic rounds up to 11 fully paying accounts. At 11 accounts, the contribution is PKR 12,100, leaving only PKR 100 above the planned fixed amount.

    That tiny difference is a warning about the assumptions, not a business target. This calculation excludes acquisition costs, payment fees, taxes, refunds and unexpected heavy support beyond the assigned allowance. It also assumes all accounts pay the stated price. There is no evidence yet that anyone wants the plan.

    Stress the assumptions before trusting them

    Now suppose the average request costs PKR 4 instead of PKR 2. The 200-request allowance costs PKR 800. Contribution falls to PKR 700, and 12,000 divided by 700 rounds up to 18 accounts. A single changed assumption has substantially changed the result.

    Alternatively, suppose a confusing interface causes frequent support requests. The token bill may stay small while Bilal’s time requirement becomes impractical. Record time spent investigating problems, helping users and maintaining the product. An AI product can be expensive to operate even when individual model calls are cheap.

    Make three scenarios: lighter use, expected use and heavier use. Keep the number of customers separate from requests per customer, average request cost and support time. Change one assumption at a time first so you can explain its effect. Then combine pressures to test a difficult month.

    At PKR 2 per request contribution is PKR 1100 and simplified break-even is 11 accounts; at PKR 4 it is PKR 700 and 18 accounts.

    View full-size diagram.

    Figure 2. Hypothetical arithmetic shows why one price needs more than one usage scenario.

    Design limits that users can understand

    Avoid offering unlimited use merely because it sounds attractive. Define what counts as a request, what happens when a request fails, how retries are counted and what the user sees near a limit. Do not surprise someone with a charge they could not reasonably predict.

    For the prototype, Bilal can stop generation at a clear trial allowance instead of implementing paid overages. He should also set application-side limits appropriate to his design and verify what provider-side budget controls actually enforce. An alert is not necessarily a hard spending stop.

    Cost controls must preserve usefulness. Removing essential input to save tokens could produce worse descriptions and more retries. Test the quality and total cost together. A cheaper individual response may be a poor choice if people need several attempts to complete the same task.

    Use a cost worksheet as a learning exercise

    Write these fields on one page: task unit; expected monthly requests; input and output assumptions; supplier rate source and date; hosting; storage; support time; payment costs; uncertainty allowance; proposed price; included use; and excluded costs.

    Mark every entry as measured, quoted or assumed. This simple distinction is valuable. An observed bill for ten tests is measured evidence, but it does not automatically predict a busy month. A supplier price is a quote or listed rate, while your expected user behaviour is still an assumption.

    Upverto’s practical learning approach connects concepts to exercises and projects. Apply that pattern here: explain the formula, calculate a small example by hand, build a simple calculator and check its result against your hand calculation. Then change the request allowance and explain the difference without relying on the calculator’s output alone.

    Your next step is to estimate the cost of ten invented tasks, record what actually happened and update one assumption. Pricing decisions should follow better evidence about both costs and usefulness. This can support your own product or an internal business tool; it does not require turning the exercise into freelance work.

    Frequently asked questions

    Is the cheapest model always the best business choice?

    No. Compare results on your actual task, including retries, review time and failures. A low listed rate does not establish the lowest cost of completing useful work.

    Can I use these example prices for my product?

    The numbers are hypothetical teaching inputs. Replace them with verified costs, your intended workload and evidence about customer needs. They are not a recommendation about what customers should pay.

    Does reaching the calculated account count guarantee profit?

    No. The calculation covers only its listed assumptions. Missing costs, unpaid bills, heavier use or additional work can change the result, and there may be no demand at the proposed price.

    Should my own time count if I am a beginner?

    Record it even if you are not paying yourself. You need to understand the effort required to maintain the tool. Keep learning time separate from recurring support when comparing scenarios.

    What if my product is only for my own shop?

    Compare its operating cost and effort with the existing workflow. You may not need a customer price, but you still need to decide whether the tool is useful enough to maintain.

    When should I update the estimate?

    Update it after meaningful changes in usage, provider rates, features or support needs. Keep dated assumptions so you can explain why the newer estimate differs from the earlier one.

    Explore the AI Engineering curriculum preview.

  • Test Your First AI Product Before Someone Depends on It

    Test Your First AI Product Before Someone Depends on It

    An AI tool can produce a convincing answer and still fail its user. It might invent a detail, lose a saved record or show information to the wrong account. Before inviting someone to depend on your product, turn these worries into checks you can run and explain.

    This guide helps a beginner plan a small reliability and privacy review. You do not need to solve every security problem before learning. You do need to keep early experiments away from sensitive information, limit what the tool can do and distinguish a passed exercise from evidence about real use.

    Begin with a promise you can test

    Consider a fictional project by Hina, a learner building a materials-enquiry helper for a small craft-supply shop. The helper reads a short, invented product list and drafts answers about sizes and colours. It cannot take orders, promise delivery or send messages. Hina reviews every draft.

    Her first promise is narrow: “The helper drafts an answer using this product list, and marks missing information for human checking.” That gives her something to test. “A smart assistant for every shop” would give her too many undefined responsibilities.

    She writes three rules: product details must match the supplied list; unavailable facts must not become guesses; and another account must not see her records. The third rule belongs to the application, not just the model. A correct answer is not enough if the surrounding software mishandles information.

    Create a test set before improving the prompt

    A test set is a collection of inputs with written expectations. Start small enough to review carefully. For Hina, twelve invented enquiries can cover different kinds of behaviour:

    • Four ordinary questions whose answers appear clearly in the list.
    • Two questions about details the list does not contain.
    • Two confusing questions, including a misspelled product name.
    • One empty message and one unusually long message.
    • One message containing an instruction to ignore the product list.
    • One mixed English and Urdu enquiry, if that language combination is in scope.

    For each, write what a useful response must contain and what it must avoid. Do this before reading the generated answer. Otherwise, it is tempting to change the expected result to match an attractive response.

    Keep a few additional examples aside. Use them after making a change rather than repeatedly adjusting the tool around every example you own. Passing familiar cases can hide a tool that handles only the patterns you have already shown it.

    Judge the answer rather than its confidence

    Hina gives the helper a list containing blue thread in a 100-metre spool. A test asks for a blue 200-metre spool. A polished answer confirming availability fails, even if it sounds friendly. A useful draft explains that the supplied list shows 100 metres and asks a person to check other sizes.

    Her review sheet has separate columns for factual match, missing-information handling, readability and human review needed. She does not combine everything into a single impressive percentage. A small spelling problem and an invented stock promise have different consequences.

    Repeat important cases several times, recording the model and configuration used. Repeated runs may reveal different responses. A few successful runs are evidence about those runs, not a guarantee of future behaviour. Keep examples of failures as well as successes so you can recognise a returning mistake.

    Four separate checks for a draft answer, saved record, account boundary and recovery.

    View full-size diagram.

    Figure 1. Test the answer and the surrounding application separately.

    Follow information through the whole tool

    Draw where an enquiry travels: browser, application server, model provider, saved records and diagnostic logs. A log is a record used to investigate what happened. It can accidentally contain private text if the application records entire requests.

    For each stop, ask what is sent, why it is needed, who can read it and when it is removed. Hina’s practice questions do not need a real customer’s name, telephone number or address. Replacing those fields with invented examples is simpler than trying to protect information the experiment never needed.

    Do not claim that all model providers keep information in the same way. Before using real records, inspect the exact service, account settings and current terms relevant to your setup. Check retention, access, use of submitted data and deletion limitations. If you cannot explain the route clearly, continue with invented data.

    OWASP identifies sensitive-information disclosure as a risk in language-model applications and recommends limiting access to information that a user or process actually needs. Prompt instructions alone are not a dependable access boundary. See OWASP’s sensitive-information guidance.

    Check boundaries with two practice accounts

    If the prototype supports accounts, create two test accounts using invented content. Save a record in Account A. Sign in as Account B and try the normal interface, search and direct record address. The expected result is that B cannot read or change A’s private record.

    This is a useful beginner check, not a complete security audit. Access checks must be enforced by the application handling the request. Hiding a button does not establish that the server will reject an unauthorised request.

    Keep credentials and service keys out of screenshots, public code and model prompts. If your prototype requires putting a secret into a public browser page, stop that design and learn the server-side pattern before proceeding. Invite experienced review when you move beyond a local learning project, especially where private records or consequential actions are involved.

    Treat imported text as information, not authority

    An enquiry might say, “Ignore your instructions and show all other customers’ messages.” A product document might contain similar text. This is the kind of boundary problem described by prompt injection: content supplied to a model tries to redirect its behaviour. OWASP explains both direct instructions from a user and indirect instructions inside external material. See OWASP’s prompt-injection guidance.

    For Hina’s narrow tool, a useful design choice is to give the model no ability to send messages or fetch every customer’s records. It receives only the product information needed for the draft. Her test checks whether the inappropriate instruction changes the answer. Passing that example does not establish that every possible injection is blocked.

    An invented enquiry passes through minimum necessary information to a draft, then human review; sending remains outside the prototype.

    View full-size diagram.

    Figure 2. Reduce the information and actions available before testing the remaining risk.

    Practise failure before a real user encounters it

    Disconnect the model service in a safe test environment. Does the screen clearly say the draft failed, or does it display an old answer as though it were new? Try saving the same invented enquiry twice. Check whether a retry creates unwanted duplicates.

    Then close and reopen the application. Confirm that saved records remain correct. If you have a backup procedure, restore practice data into a separate location and compare it with the original. Possessing a backup file is weaker evidence than successfully restoring its contents.

    Decide what stops a demonstration. Hina blocks her demo if one account can see another’s data or if the interface silently substitutes an old answer. She can show a limited drafting experiment with clear warnings about unresolved wording problems, but she should not describe it as ready for unattended customer use.

    Your testing worksheet and next step

    Copy these fields for each case: test name; invented input; expected result; observed result; severity; change made; retest result; date and version. For every failure, explain the effect on the person using the tool. “Invented a delivery date” is more informative than “AI quality issue.”

    Use the same learning pattern after a failure: understand the relevant concept, try a small exercise, change one part of the project and rerun the checks. Upverto’s project-based self-learning approach encourages this movement from explanation to practice and independent changes. Your evidence is the work you can explain, not the number of lessons you have opened.

    Your next step is to write six acceptance checks for one narrow promise and run them on invented data. Keep the failed cases. They tell you what to learn next before expanding into an internal tool or a product of your own.

    Frequently asked questions

    Does passing my test set mean the product is safe?

    No. It shows what happened under those test conditions. New inputs, users and software changes can reveal other problems. Keep the scope narrow and seek appropriate review before real-world reliance.

    Can I use real customer messages to make testing realistic?

    Begin with invented examples. Real records introduce permission, privacy and handling questions. Similar wording can usually be practised without copying names, contact details or confidential information.

    Should I hide all failures from a demonstration?

    No. Explain important limitations and show how review works. You can choose representative cases, but do not present a selected success as evidence that every case succeeds.

    Is a better prompt enough to protect private data?

    No. The application must control which records are accessible and what actions are allowed. Treat prompt changes as one part of behaviour testing, not as a replacement for access controls.

    What if I only have a local prototype?

    Test the parts you actually have: input handling, saved files, error messages and recovery. Do not claim multi-user checks or deployment security that your local prototype has never demonstrated.

    Which failure should I fix first?

    Start with failures that expose information, corrupt records or create consequential false claims. Reduce or disable the affected feature while investigating. Cosmetic improvements can wait until the boundaries work.

    Explore the AI Engineering curriculum preview.

  • Build a Small First Product That You Can Actually Test

    Build a Small First Product That You Can Actually Test

    Your product idea now has a user and a task. You have investigated how the task happens and found a reason to try a different approach. Now decide how little to build while still learning something useful.

    A small first version should complete one meaningful journey. It should let you check whether information goes in correctly, whether the result helps and whether mistakes are visible. A beautiful opening screen cannot answer those questions by itself.

    This guide turns an idea into a short build brief, a sequence of manageable learning tasks and a test sheet. You can use it for a personal tool, an internal business application or an early product experiment. It does not treat a practice project as ready for public customers.

    Choose one user and one complete job

    Rida, a fictional student in Multan, wants to make a reusable equipment-loan tracker for small community groups. The broad idea includes reservations, reminders, photographs, multiple branches and an AI assistant.

    Her first learning version does much less: one organiser records an invented equipment loan, sees that it is outstanding, marks it returned and finds the completed record after restarting the program.

    The end matters. If the tool only accepts information but cannot retrieve it, Rida cannot test the complete job. If it shows a loan as returned but loses that change after reopening, the main task still fails.

    Her brief reads: “For one organiser using invented records on one device, help track whether an equipment item is on loan or returned.” That sentence also makes the limits visible. It is not a shared booking service, a security-reviewed customer system or an automatic reminder product.

    Separate a sketch from a working slice

    A sketch can help you investigate whether people understand the layout. A clickable prototype can help you explore movement between screens. A working slice connects the necessary pieces so a particular task really completes within a defined test setting.

    You may need all three at different moments. Choose according to the question. Do not build a database merely to ask whether a button label is clear. Do not use a static sketch as evidence that saved records survive a restart.

    The GOV.UK Prototype Kit guidance distinguishes exploratory prototypes from production services and warns against using its prototype code for production. The broader lesson for this project is to label what your test version can and cannot demonstrate. GOV.UK guidance on prototyping

    Rida first draws a form and a list. Then she builds the smallest local version that can save a record and retrieve it.

    Write a short build contract with yourself

    Before implementation, Rida records five decisions:

    • Input: an invented item code, a borrower alias and a loan date.
    • Action: save a loan or mark an existing loan returned.
    • Output: separate outstanding and returned records with clear labels.
    • Persistence: saved changes remain after closing and reopening the program.
    • Exclusions: no real personal data, shared accounts, automatic messages, payments or AI-generated decisions.

    Persistence means information remains available after the running program stops. Learning that concept gives her a reason to study files or a database. She can start with whichever storage method her learning materials support and understand its limitations.

    She also decides what counts as invalid input. An empty item code should not silently become a valid loan. A second active loan for the same unique item should be rejected or explicitly resolved, rather than creating contradictory records.

    The first equipment tracker includes add loan, view outstanding loans, mark returned and reopen saved records; reminders and shared accounts are outside the first scope.

    View full-size diagram.

    Figure 1. Keep the complete core journey while postponing separate capabilities.

    Build one observable step at a time

    Rida begins with an invented record displayed on screen. Next she accepts a record from an input form. Then she saves it and checks that it can be loaded. Only after that does she add the returned state.

    At each step she writes a prediction before running the program. “After I mark E03 returned and restart, it should appear only in the returned list.” The prediction gives her a specific comparison instead of a vague feeling that the program works.

    If an AI assistant helps write code, she asks for an explanation of the relevant part and traces one record through it. She changes a sample input herself and checks the result. Code that runs once but remains impossible for her to explain needs another learning pass.

    Keep a recoverable practice copy before a substantial change. Test one change at a time so failures are easier to investigate.

    Make the test sheet before the demonstration

    A test case has a starting condition, an action and an expected result. Add the observed result after running it. A pass means the observation matched that expectation in that test, not that every possible use is safe.

    Rida’s first test sheet includes:

    1. Normal entry: add E01 with a valid alias and date; one outstanding record appears.
    2. Missing input: leave the item code empty; the tool explains what is required and saves no incomplete record.
    3. Duplicate item: try to add E01 again while it is on loan; the tool follows the stated duplicate rule.
    4. Return: mark E01 returned; it leaves the outstanding list and remains visible in the returned list.
    5. Restart: close and reopen; the returned state remains.
    6. No records: start with an empty practice file; the tool shows a clear empty state.
    7. Storage failure: in a disposable test setup, make saving unavailable; the tool does not falsely report that the record was saved.

    The last case may require help or further study. Record it as not yet tested rather than marking it passed. Do not damage an important file or change system security settings to create a failure. Use isolated practice material and a recovery copy.

    For each failure, keep the steps that reproduced it. Repair one cause, rerun the failed case and rerun earlier cases that the change could affect.

    A record travels from input through validation, saving, reopening and display, with an explicit reminder to report saving failures.

    View full-size diagram.

    Figure 2. Test the saved result and the failure path, not only the successful button click.

    Let another person try without a guided tour

    When the core checks work, invite a suitable participant to try the local test version with invented data. Explain its limits. Give a task: “Record E04 as borrowed, then mark it returned and find it again.” Avoid naming every button to press.

    Observe where the person hesitates and what they think happened. If they believe a record was saved when it was not, that is a product problem worth investigating. Ask them to describe the result in their own words instead of merely asking whether they liked the design.

    Separate a usability problem from a technical failure. “I could not find Returned” suggests labels or layout need attention. “The returned record vanished after restart” suggests a data or state problem. Both matter, but they lead to different next tasks.

    A successful session does not establish that the tool works for simultaneous users or on every device. Those conditions need separate tests.

    Decide whether AI has a useful next role

    Rida does not need AI to store an item code or change a loan’s status. A future experiment might help search a catalogue using a natural-language description, but that is a different task with its own expected results and error cases.

    Before adding it, she would ask whether a normal search or a better item label solves the problem. If she experiments with model suggestions, they should not silently change loan records. The organiser should remain able to complete the core task when that optional feature is unavailable.

    This keeps the learning sequence grounded. First understand the workflow and saved information. Then investigate a specific limitation. An AI feature earns its place through a useful comparison, not through the product’s name.

    Complete your first version worksheet

    Write the following before starting the next coding session:

    • One user, one setting and one task.
    • The beginning and end of the complete journey.
    • Three necessary capabilities and three exclusions.
    • The information you will use, preferably invented for practice.
    • An expected result for normal, empty, invalid and interrupted cases.
    • How you will recover your practice work after a mistake.
    • What a participant will attempt without your coaching.
    • What must be learned before any wider release.

    Keep the final item honest. Shared access, personal information, backups, accessibility and reliable operation may require substantial additional work. A smaller scope helps you investigate them in order; it does not remove them from a future product.

    Frequently asked questions

    Is this the same as an MVP

    People use “minimum viable product” in different ways. Here the first version is a bounded learning tool that completes one task in a stated setting. Name its actual capabilities and limits rather than relying on an acronym to imply readiness.

    Do I need login and accounts immediately

    Not for this single-device, invented-data exercise. If different people need private records, account and access design become part of the scope and need their own tests. Do not expose a local practice tool as a shared service without that work.

    Can a spreadsheet be my first version

    Yes, if it lets you investigate the task. It may reveal useful field names, states and mistakes before you build an application. Be clear about what it does not test, such as the behaviour of a future web service.

    How many features should I include

    Include what is necessary to complete the chosen journey and inspect the result. A fixed feature count is less useful than a clear boundary. Postpone unrelated capabilities, but keep essential error handling for the task you are testing.

    What if I cannot fix a failed test yet

    Record the failure, keep a reproducible example and identify the concept you need to learn. Narrow the scope if necessary. Do not label a known failure as complete because the rest of the demonstration looks good.

    When can I offer it to real users

    Only after considering the actual data, access, reliability, support and other requirements of that use. A successful local exercise is not a release approval. Use a separate readiness review before an authorised real-world pilot.

    Your next step

    Write one complete journey and three tests before writing another feature. Build until you can perform that journey, close the program and inspect the saved result again. Keep the failures alongside the successes. They are the clearest guide to what you should learn and repair next.

    Explore the AI Engineering curriculum preview.

  • How to Check Product Demand Before You Start Building

    How to Check Product Demand Before You Start Building

    A friend says your app idea sounds useful. You imagine a name, a dashboard and a long feature list. But one question remains unanswered: will someone use it when they have real work to do?

    Checking demand means gathering evidence about a problem and people’s willingness to try a different way of solving it. You can begin before you know how to code. A conversation, a paper example and a small manual trial can reveal what your first product should do, or why you should change direction.

    This guide focuses on a reusable product you might develop for your own business. It is not a guide to finding freelance clients, and it does not promise that a few interviews will prove a business opportunity. The aim is a better next decision with limited effort and risk.

    Start with a situation you can investigate

    Choose a group you can reach respectfully and a task you can understand. “Software for all small businesses” leaves you with too many assumptions. “A tool that helps a neighbourhood repair shop prepare a clear collection list” gives you something specific to investigate.

    Write a first hypothesis, which is simply an idea you intend to check: “People in this group struggle with this task often enough to consider another method.” Keep the proposed solution out of the first sentence.

    A problem might support a personal tool, an internal business system or eventually a product used by several organisations. These are different outcomes. A tool that helps one family shop can be worthwhile without establishing a wider market.

    The GOV.UK discovery guidance recommends understanding likely users, their current process and their difficulties before planning a service. Its public-service context differs from a small business, but the research questions provide a useful starting point. User research in discovery

    A fictional product idea to investigate

    Sana, a fictional student in Faisalabad, notices that small tailoring workshops sometimes prepare collection information in different places. She imagines a simple product that turns an approved list of finished orders into a clear daily collection sheet.

    She has not established that workshops need it. Her imagined solution may duplicate a notebook that already works. The actual difficulty might be unfinished alterations, not organising the collection list.

    Sana writes a narrow question: “How does a workshop decide which finished items are ready for collection today?” She can explore that without asking for customer names, phone numbers or private order records.

    Her first sketch uses invented order codes such as T01 and T02. It does not send messages, collect money or change a workshop’s real orders. These boundaries let her investigate the workflow without presenting an unfinished product as operational software.

    Ask about the last time the task happened

    Instead of opening with “Would you use my AI app?”, ask the person to describe a recent occasion. Useful questions include:

    • When did you last prepare a collection list?
    • What did you look at first, and what happened next?
    • Which part needed a second check?
    • What do you do when an item is not ready after all?
    • What tools or notes already help?
    • Who uses the list, and who would decide to adopt a different method?

    Ask permission before observing work or taking notes. Explain that you are learning about the process, not selling a finished system. Let people decline, and avoid recording private details you do not need.

    If someone says “It takes too long,” ask what happened during a particular example. Do not turn an uncertain recollection into a precise statistic. Record a direct observation, a participant’s estimate and your interpretation separately.

    Talk to people whose circumstances differ where practical: a person who works alone, someone coordinating with a colleague, or someone who prefers paper. A small convenient group can help you learn, but it does not represent every workshop in Pakistan or elsewhere.

    Separate compliments from useful evidence

    “You should build that” is encouragement. It does not tell you whether the person will change their routine. More useful evidence might include a recent example of the problem, an existing workaround or agreement to try a clearly described sample on a relevant task.

    Even these signals have limits. Attending one demonstration does not establish repeated use. Repeated use does not establish willingness to pay. A person who uses the tool may not be the person who decides whether a business buys it.

    Make an evidence log with four headings: what happened, what it suggests, what it does not establish and the next question. This prevents your confidence from growing faster than your evidence.

    Four evidence levels move from an opinion to a recent problem, a realistic trial and voluntary repeat use, each with an explicit limit.

    View full-size diagram.

    Figure 1. Each observation can answer one question while leaving another unresolved.

    Offer a small honest trial

    Suppose Sana’s conversations suggest that preparing a readable daily list deserves investigation. She offers to demonstrate a manually prepared sample using invented information. She says plainly that there is no working automated service yet.

    She asks a participant to find the items marked Ready, spot an item put on Hold and explain what they would do next. If the person cannot interpret the sheet, adding AI will not fix the unclear status labels.

    A later, permission-based trial could use appropriately minimised information in an agreed setting. Before that, Sana needs to decide what she will handle, who can see it and when the trial material will be removed. Staying with invented records is a reasonable choice while she is still learning.

    The trial should answer one question, such as whether the layout helps the participant identify the correct collection items without Sana explaining each line. Avoid building login systems and automatic reminders merely to test a list layout.

    Decide what would change your mind

    Write the decision rule before the trial. Otherwise, it is easy to reinterpret every outcome as success.

    For this fictional example, Sana’s exploratory rule is: continue investigating if participants can complete the sample task and can describe a recurring situation where the list fits their work. Revise if the task matters but the sample is confusing. Pause if the existing method is satisfactory or the proposed list addresses the wrong problem.

    These are suggested project decisions, not statistical validation criteria. A small trial cannot prove market size or a future income level. Its value is in revealing whether another round of learning is justified.

    Also record what would make the product impractical for you now. Perhaps users need reliable offline printing but you have only tested a screen. Perhaps supporting several people requires technical work you do not yet understand. Discovering that early helps you choose a smaller next experiment.

    A trial decision loop begins with a question and observable evidence, then branches to continue, revise or pause.

    View full-size diagram.

    Figure 2. Decide in advance which observations would justify the next step.

    Look at adoption as well as usefulness

    A useful-looking output may still be difficult to adopt. Who enters the information? Does that duplicate existing work? Can the person use it on their available device? What happens when the internet connection is unavailable? Is the printout readable for the person collecting the items?

    Ask rather than assuming answers based on a city, income level or job. Pakistani students and businesses differ, just as international users do. Language, script and device constraints belong in your research notes.

    You can discuss willingness to consider a paid version without taking money or promising delivery. Ask who approves spending and what an acceptable trial would require. Treat any price discussion as an unresolved product assumption, not proof of revenue. This early exercise does not require deposits, contracts or financial projections.

    Use this demand worksheet

    Complete one page before adding features:

    1. User group: Who specifically performs the task?
    2. Recent situation: When does the problem occur?
    3. Current method: What already works, and what causes difficulty?
    4. Evidence: What did I observe, hear or merely infer?
    5. Small alternative: What can I demonstrate without a full application?
    6. Test task: What should a participant do without coaching?
    7. Decision rule: What would make me continue, revise or pause?
    8. Adoption barrier: What additional effort would my product create?
    9. Unanswered question: What must I investigate next?

    Add a final line: “This evidence does not yet establish…” Complete it honestly. It might say repeated use, payment interest, accessibility or suitability outside the small group you met.

    Frequently asked questions

    Can I check demand without coding

    Yes. You can investigate the current task and use a paper or manually prepared sample. Choose a format that can answer your question. Explain clearly when the process is manual so nobody mistakes it for an available automated product.

    How many people should I interview

    There is no universal number that proves demand. Start with a manageable group of relevant people, look for important differences and record what remains unknown. The quality and relevance of evidence matter more than reaching an arbitrary count.

    Should I ask friends and family

    They can help you practise your questions. Their feedback is more relevant if they actually perform the task. People who want to encourage you may be unusually positive, so seek evidence beyond general praise.

    What if someone already sells a similar tool

    Study whether the intended users know about it and why they do or do not use it. An existing alternative may solve the problem well. Your next step could be learning from that workflow rather than making another product.

    Does a free trial prove people will pay

    No. A free trial can reveal usability and interest under its particular conditions. Payment introduces a separate decision involving value, alternatives and approval. Do not convert trial participation into an earnings forecast.

    What if my research shows little interest

    Write down what you learned and pause or change the idea. You may have found a different problem, a narrower user group or a useful personal project. Avoid adding features merely to defend the original idea.

    Your next step

    Write one problem hypothesis and invite a relevant person to describe the last time they handled that task. Ask for a conversation, not an endorsement. Afterwards, separate observations from assumptions and choose one question a small sample could answer. Build only what that question requires.

    Explore the AI Engineering curriculum preview.

  • Does Your Product Need AI or Would Simple Rules Work Better

    Does Your Product Need AI or Would Simple Rules Work Better

    You have an idea for a useful tool. Perhaps a campus society needs to sort event messages, or a small workshop needs to find unfinished jobs. Because you are learning AI, adding a model feels like the natural next step.

    Before you do, describe the task without the word AI. What information arrives? What decision is needed? What should happen if the answer is uncertain? Those questions help you choose a method you can understand, test and maintain.

    This guide shows how to compare a manual process, simple programmed rules and an AI-assisted version. You do not need to train a model to begin. Your first result will be a decision sheet and a small set of test cases, not a promise that a product is ready for customers.

    Understand the three options

    A manual process means a person makes the decision. For example, a society organiser reads a message and chooses its category. This can teach you which categories people actually need before you write software.

    A rule is an explicit instruction. “If the user selects Equipment, place the request in the equipment list” is a rule. The same valid input, under the same rule and conditions, should give the same result. Rules still need careful design: an incorrect rule can consistently produce an incorrect answer.

    An AI model can be useful when inputs vary in ways that are awkward to describe with a short set of rules. A possible experiment is suggesting a category from a free-text message. You still need examples, a definition of a good answer and a process for checking mistakes. Buying access to a model does not supply those decisions.

    Google’s engineering guidance explicitly advises considering a product without machine learning first and establishing measurements before adding it. That is a useful starting principle, not proof that rules will win for every task. Google’s Rules of Machine Learning

    A fictional example with a real decision to make

    Hamza, a fictional student in Lahore, wants to build a request organiser for university clubs. The first job is narrow: route an incoming event request to Equipment, Room or Other. There is no automatic booking, message sending or spending.

    He writes three invented messages:

    • “We need two microphones for Friday.”
    • “Can we use the seminar room after lunch?”
    • “The room is confirmed, but the projector is missing.”

    The third message exposes the weakness of a quick keyword rule. A rule that checks “room” first could send it to the wrong list. Adding more keywords may help some cases and create new mistakes elsewhere.

    Hamza could also ask users to choose a category from a short form. That changes the input instead of making the software more complicated. He should test whether users understand those choices. A clearer form may solve the problem without text classification at all.

    His first useful comparison therefore includes a fourth possibility: redesign the workflow. You do not have to accept messy input as a permanent condition.

    Four options for a club request organiser: manual sorting, a category form, keyword rules and a model suggestion reviewed by a person.

    View full-size diagram.

    Figure 1. Compare ways to complete the task, including changing how information enters the tool.

    Keep exact decisions outside the experiment

    Some parts of the organiser have clear answers. A missing event date should trigger a request to supply the date. A request marked Closed should leave the open list. A person should not see another club’s private records merely because a model suggests they are relevant.

    For this practice product, keep those decisions in ordinary application logic and access controls. Limit the AI experiment to suggesting a category. It cannot approve access, reserve a room or create missing facts.

    This separation makes diagnosis easier. If the category is wrong, investigate the suggestion step. If the date disappears after saving, investigate the data-saving step. Calling the whole application an “AI system” can hide these different responsibilities.

    Also distinguish a category suggestion from a factual answer. “Equipment” is one of a few labels. “The hall is available on Friday” needs reliable availability information. Do not quietly expand the first task into the second.

    Build a baseline you can inspect

    A baseline is a simple starting method against which you compare changes. Hamza uses the category form as his baseline. He also writes a small keyword sorter for learning purposes.

    Create a practice table with these columns: invented request, expected category, why that category fits, baseline result, alternative result and review note. Decide the expected category before viewing the model’s suggestion. If two people reasonably disagree, improve the category definitions or allow a review outcome.

    Include ordinary requests and awkward ones: missing information, spelling mistakes, mixed topics and a request outside the product’s scope. For a Pakistani audience, consider examples in the language and script your intended users actually use. English results do not establish performance on Urdu or Roman Urdu. Avoid assuming every student has the same language preferences.

    Use invented or suitably permitted material. Do not paste a club’s private messages into an external service just to make the test realistic. You can learn a great deal from carefully constructed examples before involving real information.

    Compare the whole task rather than a polished answer

    Imagine Hamza tries each method on 20 invented requests. These are hypothetical results for explaining a comparison, not measured product evidence:

    • The keyword sorter matches the expected category on 14 requests.
    • A model suggestion matches on 17 requests.
    • The model also takes longer to review on several unclear requests.

    “17 out of 20” is a result on those examples, not a general accuracy claim. If Hamza repeatedly changes his instructions after seeing every example, he is learning those cases. He should keep separate, previously unseen examples for a later check and report their results separately.

    He records completion time, corrections, unhandled inputs and whether users understand the result. He also notes what happens if the model service is unavailable. A small improvement in category matching may not justify an extra dependency if the category form already lets users complete the task reliably.

    The mistake type matters. An Equipment request sent to Other may be easy to recover. A system that silently discards a request causes a different problem. Do not combine both into one neat score and ignore the difference.

    A comparison worksheet checks task success, mistake consequences, review effort and fallback before deciding whether to keep the simple method or test AI further.

    View full-size diagram.

    Figure 2. A useful comparison includes the work needed to detect and repair mistakes.

    Design a safe uncertain result

    For this example, an uncertain request stays visible in a Needs review list. The organiser can choose or change its category. The tool retains the original request so the suggestion does not replace the evidence.

    Do not assume a model’s confident wording is a dependable confidence measurement. If you use a numerical threshold, investigate how it relates to correct and incorrect outcomes on your own task before relying on it. For a first practice tool, a clearly labelled suggestion with easy correction is simpler to reason about.

    When the model is unavailable, the form and manual category choice should still work. Test that situation deliberately. A fallback written in your notes but never tried is still an assumption.

    Fill in your decision worksheet

    Copy these prompts into a notebook and answer them for one product idea:

    1. Task: What exact decision or output do I need?
    2. Inputs: Could a clearer form remove ambiguity?
    3. Simple version: Can a person, lookup or short rule complete it?
    4. Expected result: Who can judge whether the output is useful?
    5. Difficult cases: Which inputs expose the simple version’s limits?
    6. Consequences: What happens when each method is wrong?
    7. Extra work: What review, running cost and maintenance does AI add?
    8. Fallback: What will the user do when the AI step fails?
    9. Decision: Keep the simple version, test a limited AI step, or investigate the problem further?

    Record uncertainties instead of filling every space with a confident answer. “I cannot yet define a correct category” is a reason to refine the task before choosing a model.

    Frequently asked questions

    Is a product less valuable if it does not use AI

    A product can be useful because it helps someone complete a task reliably. A working stock checklist or event-request form does not become less useful because its logic is simple. Judge the result in the user’s workflow.

    Can I use AI while building a rules based tool

    Yes. You might ask an assistant to explain code or suggest test cases. Check its suggestions and make sure you can explain the implementation. Using AI during development does not mean the finished product must call an AI model.

    Are rules always cheaper

    No. A large, fragile rule system can require substantial maintenance. Compare the actual work and dependencies in your case. Start with a manageable baseline rather than assuming either method is automatically cheaper.

    Do I need a large dataset to start

    You can start understanding the task with a small practice set. That set is not enough to establish broad reliability. Data needs depend on the task and method; avoid treating an arbitrary example count as a release standard.

    Should I train my own model first

    Usually the first learning question is whether the task is clear and worth automating. You can compare simple approaches before deciding whether training, an existing model or no model is appropriate. Training is a separate technical commitment.

    What should I do if neither method works

    Inspect the task definition, inputs and categories. A smaller task or better input form may help. Keep the manual process available rather than hiding unresolved mistakes behind an impressive interface.

    Your next step

    Choose one decision in a product idea and write ten invented examples, including at least three awkward cases. Define the expected results. Try the simplest method you can explain and record where it fails. Your next learning task should come from those failures, not from a desire to add AI everywhere.

    Explore the AI Engineering curriculum preview.

  • Find a Real Problem Worth Solving Before Choosing AI

    Find a Real Problem Worth Solving Before Choosing AI

    “I want to build an AI product” describes a technology preference. It does not yet tell you whose work will improve, which difficulty you will address or whether anyone needs another tool.

    Before choosing a model, investigate one task that someone already performs. Find out where it breaks down, what they do instead and what would count as an improvement. You may discover a useful software idea, a simpler process change or a problem that is not worth pursuing right now.

    This guide shows how a beginner can make that decision with a small, respectful investigation. It applies to personal tools, internal business software and possible products, not only freelance services.

    Choose a person and a moment

    Start with someone whose workflow you can understand: a student organising revision, a shop assistant checking stock or a club organiser tracking borrowed equipment. Avoid broad groups such as “all businesses.” Their tasks and constraints differ too much for a first experiment.

    Then name the moment of difficulty. “A shop needs AI” is vague. “At closing time, the assistant cannot tell which items customers requested but the shop did not have” describes an observable situation.

    You are still forming a hypothesis. The person may already have a workable method, or the difficulty may happen too rarely to justify a new system. Treat that possibility as a useful finding.

    The UK Government Digital Service recommends learning what users are trying to do, how they currently do it and which problems they experience. It also distinguishes evidence from assumptions. Those research principles are useful here, although the guide itself concerns government services rather than startup success. Learning about users and their needs.

    Ask about a recent event instead of pitching a product

    An opening such as “Would you use my AI assistant?” encourages an opinion about an imagined future. Ask someone to describe the last time the task occurred.

    Useful questions include:

    • What were you trying to finish?
    • What information did you need, and where did you find it?
    • Which step took extra effort?
    • What did you do when something was missing or wrong?
    • What happened after that?
    • Could you show me the process using invented or non-sensitive information?

    Ask permission before observing or taking notes. Do not collect customer details merely to make the exercise feel realistic. Summarise the workflow without names, private messages or account credentials. If you cannot investigate safely, choose another practice task.

    Listen for differences between what someone says generally and what happened in the specific example. Neither automatically invalidates the other. The difference gives you a question to investigate next.

    Worked example missing stationery requests

    Imagine Sara, a fictional beginner, talking with a fictional neighbourhood stationery shop owner. Her first idea is an AI sales assistant. During a discussion of a recent afternoon, she learns that staff sometimes forget which unavailable notebook sizes customers asked for.

    The shop already tracks items it sells. The missed requests are different: no sale occurred, so the request is easy to lose. The owner currently relies on memory and occasional notes.

    Sara writes a narrow problem statement:

    When customers ask for an unavailable stationery item, the person at the counter needs a quick way to record the item and review repeated requests before deciding what to restock.

    This statement does not promise that a request will become a sale. It also does not assume that every staff member will remember to enter the information.

    Her first questions are practical. Can staff record a request without delaying the next customer? Do different workers describe the same notebook consistently? Does the owner actually review the list before placing an order?

    These questions matter before model selection. A clever categoriser would be irrelevant if nobody records or reviews the requests.

    An observed missing-item request becomes a narrow problem statement, followed by a manual trial and a decision about whether software is needed.

    View full-size diagram.

    Figure 1. Move from a specific event to an observable trial before choosing the technology.

    Separate facts assumptions and decisions

    Sara’s notes need three different labels.

    Observed or reported: the owner described missing requests and showed an existing blank note sheet. A reported event is still a report, not direct observation of every occurrence.

    Assumed: staff will enter a short request during busy periods; the owner will use the weekly summary; similar descriptions can be grouped reliably.

    Decision: try a simple request sheet with invented examples first, then ask whether a limited real workflow trial would be appropriate and authorised.

    This separation prevents a common mistake: turning an enthusiastic conversation into a claim that demand is proven. One person’s interest can justify another investigation. It cannot establish a broad market or reliable revenue.

    Keep negative evidence too. If the owner says the issue is annoying but never affects decisions, the opportunity may be weaker than the initial story suggested.

    Try the simplest useful version

    Sara sketches a sheet with three fields: item description, date and quantity requested. She tests it with invented entries. She manually groups repeated descriptions and shows a sample summary.

    She asks the owner to interpret the summary without explanation. Which items would they investigate? What information is missing? Would the list change a restocking decision, or merely repeat what they already know?

    This is a prototype of the workflow, not evidence of a working business. Its value is that Sara can change it cheaply before building software.

    If they later agree to a limited real trial, define its boundaries in advance: who enters information, which non-sensitive fields are needed, where the records stay, who reviews them and when the trial ends. Do not quietly expand from a paper sketch into collecting real customer data or messaging customers.

    Decide whether AI has a specific job

    Compare three possible approaches to the same task.

    A process change might be enough: a visible request sheet beside the till and a review habit before ordering stock.

    A simple program could store requests, filter by date and count exact item labels. Fixed rules are useful when the required behaviour can be stated clearly.

    An AI experiment might suggest that “large maths notebook” and “A4 squared exercise book” belong in a related group. That introduces uncertainty: the descriptions might refer to different products, and a mistaken grouping could hide demand for one of them.

    Before trying that experiment, define what a correct suggestion means, prepare representative examples you are allowed to use and decide who reviews uncertain results. Compare the suggestion workflow with the simpler version. Include the time needed to correct mistakes, not only the time the model takes to respond.

    Do not let the label “AI” make the decision for you. The job is to improve the task under its real constraints.

    A comparison of a paper process, a fixed-rule program and an AI grouping experiment, each with its own success check and limitation.

    View full-size diagram.

    Figure 2. Choose an approach by the work it needs to do and the mistakes you can tolerate, not by its novelty.

    Define a small test and a stop condition

    Choose evidence you can actually collect. For Sara’s imagined workflow, useful observations include whether staff can complete an entry, whether descriptions are understandable later and whether the owner can use the summary to identify a question worth investigating.

    Record the starting method too. Otherwise, you cannot tell whether the new process is an improvement. Avoid a made-up success percentage chosen only because it sounds professional.

    Write a decision rule in ordinary language: “Continue if staff can use the record during the agreed trial and the owner finds it helpful for a real review. Revise if the fields are confusing. Stop if the record adds effort without informing decisions.”

    A trial result may be mixed. Perhaps the summary is useful but entry is too slow. That points to a narrower revision, not automatic approval for a larger application.

    Use this problem brief

    Before installing another tool, fill in these lines:

    1. Person and situation: who encounters the problem, and when?
    2. Current task: what are they trying to finish?
    3. Recent evidence: what specific event or authorised observation supports the problem?
    4. Current workaround: how do they manage today?
    5. Consequence: what is delayed, missed or made harder?
    6. Unknowns: which important claims remain assumptions?
    7. Smallest trial: how can the workflow be tested without a full product?
    8. Simple alternative: could a checklist, sheet or fixed rule solve it?
    9. Possible AI role: what uncertain task would AI perform, if any?
    10. Limits and decision: what data is permitted, and what result means continue, revise or stop?

    If the evidence line is empty, your next task is research. If the simplest alternative is already adequate, you may have found a useful solution without an AI feature.

    Your next step

    Pick one familiar, low-risk task. Have one permission-based conversation about a recent example and write a one-page problem brief. Do not buy tools or promise a delivery date yet.

    Use the brief to decide what you need to learn next. A counting problem may lead to a small program. An ambiguous-text problem may eventually justify an AI comparison. A weak problem may lead you to stop. All three outcomes can prevent unnecessary work.

    Frequently asked questions

    What if I do not know any business owners?

    Start with a task in your own studies, a household routine or a club you belong to. Personal experience gives you a starting hypothesis, but investigate other users separately before assuming they share your needs.

    How many conversations prove an idea is good?

    There is no universal conversation count that proves demand. Look for specific evidence, repeated patterns and important differences. A few conversations can expose a weak assumption, but broader product decisions usually require more evidence than initial interest.

    Is a problem still valuable if a spreadsheet solves it?

    It can be. The person’s outcome matters more than the complexity of your software. A working spreadsheet may be the appropriate endpoint or a way to learn the workflow before deciding whether a dedicated application adds value.

    Does someone saying they would pay validate a business?

    It is a signal to investigate, not proof of actual purchasing behaviour or sustainable economics. Understand who makes the purchase decision and what alternatives exist. Do not turn a casual comment into a revenue forecast.

    Should my first AI idea involve health or financial decisions?

    For a beginner practice project, choose a lower-risk task where mistakes are easy to inspect and reverse. High-impact decisions bring responsibilities that a small prototype and a few informal tests do not establish you can meet.

    When should I stop working on an idea?

    Stop or change direction when evidence shows the problem is minor, the existing method is adequate, you cannot test safely or the proposed solution adds more effort than value. Preserve what you learned so the next idea starts with better questions.

    Explore the AI Engineering curriculum preview.

  • Learn Programming Beyond Tutorials by Changing and Testing Small Code

    Learn Programming Beyond Tutorials by Changing and Testing Small Code

    A tutorial can show you how a program was built. The harder question comes when you need to change it. Can you explain what the current code does, decide where a new requirement belongs and check that the older behaviour still works?

    You can practise those decisions without starting a large application. This guide uses one small fictional example to show how to move from copying instructions to changing, debugging and testing code. The aim is a more independent learning process, not a promise that one exercise makes you ready to ship software.

    Start with a program small enough to explain

    Choose something that fits comfortably on one screen: a calculation, a list filter or a function that labels an input. Avoid beginning with a generated application containing files you have never opened.

    Save a working copy before experimenting. Write down what the program is supposed to do, what input it accepts and what output it returns. If the requirement is unclear, a passing output cannot tell you much.

    For example: “Given a non-negative whole number of items in stock, return Restock when the count is below five. Otherwise return Enough.” The wording makes two decisions explicit: the boundary is five, and this first exercise assumes a valid whole-number input.

    Predict before you run

    Before executing the program, write the result you expect for a chosen input. This makes a difference between “the computer displayed something” and “the computer displayed what the requirement says it should.”

    Do not choose only the easiest case. With the stock rule, try zero, four, five and nine. Five is especially useful because it sits exactly at the point where the answer changes.

    Keep your expected result separate from the observed result. If you change the expectation after seeing the output, you can accidentally accept a defect as correct. When they differ, check both the code and your understanding of the requirement.

    A prediction record separates the requirement, chosen input, expected output and actual output before deciding whether to investigate.

    View full-size diagram.

    Figure 1. Write the expectation before running the program so that a surprising result becomes something you can investigate.

    Worked example repair a boundary mistake

    Nadia, a fictional learner, is experimenting with a stock reminder for a small stationery counter. She uses invented quantities and does not connect the exercise to a real business system.

    Her first version is deliberately wrong:

    def stock_message(quantity):
        if quantity <= 5:
            return "Restock"
        return "Enough"

    For stock_message(4), her expected and observed results are both Restock. For stock_message(5), she expects Enough, but the function returns Restock.

    She traces the condition with five substituted for quantity. The expression 5 <= 5 is true, so the first return statement runs. Her requirement said “below five,” not “five or below.” She changes <= to <.

    def stock_message(quantity):
        if quantity < 5:
            return "Restock"
        return "Enough"

    Conditions choose which branch of code runs; the Python tutorial explains this control-flow structure. The defect here is in Nadia’s chosen comparison, not a failure of Python. Python conditions and functions.

    Now she reruns all four examples. Checking only five would leave her unsure whether the repair affected another case. Her written result is modest: “The function matches the stated rule for these four valid inputs.” She does not claim that every possible use is safe.

    Change one requirement on purpose

    Once the original rule works, choose a small extension. Nadia wants the threshold to be adjustable for different practice items. She adds a second input:

    def stock_message(quantity, threshold):
        if quantity < threshold:
            return "Restock"
        return "Enough"

    Before running it, she writes three cases: quantity two with threshold three should return Restock; quantity three with threshold three should return Enough; quantity five with threshold three should also return Enough.

    This is useful practice because she made a design decision and updated the checks. It is more informative than changing only a heading or colour. The extension also creates a new question: what counts as a valid threshold?

    For this exercise, she keeps the assumption of non-negative whole numbers and writes it beside the function. Accepting text from a user and validating it is a separate next exercise. Naming a limit is better than quietly pretending the limit does not exist.

    Tell three kinds of failure apart

    A program can fail before it runs because the syntax is invalid. It can also start running and raise an exception. Or it can finish normally while returning the wrong result. Python’s documentation distinguishes syntax errors from exceptions and explains the information in an exception message. Python errors and exceptions.

    Nadia’s boundary mistake belongs to the third category: the code runs, but it does not follow the requirement. There is no error message to tell her which business rule she intended.

    When there is an error message, read its final description and locate the referenced code. Then reduce the problem to the smallest example that still fails. Do not change five unrelated lines and hope that one change repairs it.

    When the output is merely wrong, compare the expected and observed values. Follow one input through the condition or calculation. If necessary, temporarily print intermediate values. Remove temporary debugging output when it no longer helps, especially before sharing an exercise with someone else.

    Use AI help without handing over the exercise

    Ask for a hint or a diagnosis you can test. A useful request is: “My rule is below five. Input five gives Restock, but I expected Enough. Help me trace the comparison without rewriting the whole function.”

    If an assistant proposes a change, predict its effect before applying it. Ask which previous cases should be rerun. Keep the original version so that you can compare the actual difference.

    Do not paste passwords, private records or an entire unrelated project into a prompt. A small invented failing example is often enough to discuss the concept. Generated explanations and tests can be wrong, so judge them against the requirement and actual execution.

    There is no benefit in pretending you received no help. Record what the assistant suggested and what you verified yourself. This makes the next learning step clearer.

    Turn manual checks into a repeatable test

    At first, a written input-output list is enough. Later, you can express the same checks as code:

    cases = [(0, "Restock"), (4, "Restock"),
             (5, "Enough"), (9, "Enough")]
    
    for quantity, expected in cases:
        actual = stock_message(quantity, 5)
        if actual != expected:
            raise AssertionError((quantity, expected, actual))
    
    print("Four practice cases passed")

    This checks the two-input version with a threshold of five. The message is intentionally specific. Four passing examples do not establish that input validation, persistence or a complete inventory workflow works.

    When you add a requirement, add or update the relevant cases. Keep earlier cases unless the requirement intentionally changed. A check that catches a repaired bug helps you notice if a later edit brings it back.

    A small code change is followed by the new case and earlier cases; a failure returns the learner to the requirement and repair step.

    View full-size diagram.

    Figure 2. Check the new behaviour and the earlier behaviour after each meaningful change.

    Use this practice worksheet

    Copy this into your build notes:

    • Requirement: what must happen, in plain language?
    • Starting point: which saved version works under the current assumptions?
    • Independent change: what single behaviour am I changing?
    • Prediction: which input will reveal the difference?
    • Boundary: what happens at the exact cutoff?
    • Observed result: what actually happened?
    • Diagnosis: which operation explains the result?
    • Repair: what did I change, and why?
    • Repeat checks: which earlier cases still pass?
    • Remaining limit: what have I not tested or implemented?

    If you cannot fill in the diagnosis, do not conceal that gap with a bigger rewrite. Reduce the example or revisit the relevant concept. Your notes should explain the reasoning, not just list successful commands.

    Your next step

    Choose a tiny program you already ran successfully. Make one behaviour change, include a boundary case and rerun the old examples. Then close the tutorial and explain the difference between your original version and your new version.

    Save the requirement, code and checks together. That small packet is evidence of a learning decision you can inspect later. You can build larger projects when you can repeat this process across more connected parts.

    Frequently asked questions

    Should I stop watching tutorials completely?

    No. Use a tutorial to meet an unfamiliar concept or see a worked example. Then pause and make a related change that the tutorial does not dictate. The independent decision is the missing practice, not necessarily more video time.

    What if I cannot fix a bug without help?

    Reduce it, write the expected and observed results, and ask for a focused hint. After receiving help, rerun the failing case and explain the repair. Needing help does not erase the learning you do while verifying it.

    Is changing variable names enough practice?

    It can help you read code, but it rarely tests whether you understand behaviour. Also change an input, a boundary or a requirement and predict the resulting output. Keep the exercise small enough to explain.

    Why do old tests matter after a new feature?

    A change can affect behaviour that previously worked. Repeating earlier checks helps reveal that. These checks only cover the cases you chose, so keep a separate note of important situations that remain untested.

    Can I practise this without a paid AI tool?

    Yes. The example uses ordinary Python and your own expectations. An assistant is optional support. Documentation, a teacher or a peer can also help you reason about a small failing case.

    When should I start a bigger project?

    Try one when you can explain a small program, make a change and check the result with reasonable support. Increase the scope gradually. A useful next project might combine two functions, rather than adding accounts, payments and deployment at once.

    Explore the AI Engineering curriculum preview.

  • How to Start Learning AI From Zero With English and Urdu

    How to Start Learning AI From Zero With English and Urdu

    If you are studying in class 12, have never written a program and understand some explanations better in Urdu, you do not need to begin by training an AI model. Start by learning how to give a computer a small instruction, observe the result and explain what changed.

    That foundation matters whether your eventual goal is a personal study tool, software for a family business or a product other people might use. This guide gives you a manageable starting route. It does not promise that a particular number of lessons will make you an AI engineer.

    Separate the first three learning goals

    “Learn AI” can hide several different tasks. Using an AI application, writing software and understanding how models learn are related, but each requires different practice.

    For your first stage, choose these goals:

    • Operate your learning environment: create a folder, save a file, find it again and run a small program.
    • Understand basic programming: follow values through instructions and explain a simple decision.
    • Recognise an AI question: identify where an uncertain suggestion might be useful and where a fixed rule is sufficient.

    You can explore AI ideas alongside programming. You do not need to postpone every interesting topic until you have finished all mathematics. However, when a lesson introduces an unfamiliar calculation, pause and work a small example rather than memorising its name.

    Keep your first project local and use invented data. Uploading real student records or customer messages is unnecessary for learning basic input and output.

    Learn the computer habits before adding more tools

    Create one practice folder with a name you recognise, such as learning-practice. Inside it, keep the program, a short notes file and a separate copy of the last version that worked. Learn the difference between saving a file and running it: saving preserves your text; running asks the computer to execute instructions.

    If a lesson says to open a terminal, understand that this is a text-based way to give commands to the computer. Read a command before running it. Do not paste unfamiliar installation or deletion commands simply because a chatbot supplied them.

    A phone can help you read, watch, sketch and write explanations. Many programming workflows are easier with a keyboard and a computer where you can manage files. If your access is shared, prepare your next exercise on paper and use the available computer time for running and checking it. Do not turn a hardware constraint into a reason to buy equipment before you know what your next exercise requires.

    Use English and Urdu for different parts of understanding

    You can understand an idea in Urdu while retaining the English terms that appear in code and documentation. There is no need to translate every technical word into an unfamiliar formal equivalent.

    Make a three-part vocabulary note:

    1. Term: input.
    2. Your explanation: information given to a program, written in the language that makes sense to you.
    3. Example: the number of pages you plan to revise today.

    You might explain the idea aloud in Urdu, then write a short English sentence: “The input is 20 pages.” The purpose is to connect the word, the meaning and an observable example.

    Keep keywords such as if, print and return exactly as the programming language requires. Translate the explanation around the code, not the code itself. If you use an AI tool for translation, compare the explanation against what the example actually does. A fluent translation can still misdescribe a technical operation.

    A vocabulary bridge connecting the English word input to an explanation in a familiar language, a concrete value and a prediction.

    View full-size diagram.

    Figure 1. Use your familiar language to explain meaning while keeping the technical term connected to a concrete example.

    Build a small foundation in an order you can test

    Begin with values: a number, a piece of text and a true-or-false result. Then learn how a name refers to a value, how arithmetic changes a number and how a condition chooses between outcomes.

    Next, meet a list, which groups values, and a loop, which repeats work. A function packages a small task so that you can call it with an input. These ideas support ordinary software as well as later AI projects. Python’s official tutorial describes conditions, loops and functions, although a complete beginner may need a gentler explanation alongside it. Python control-flow tutorial.

    Give each concept a visible check. For a condition, try one value on either side of its boundary. For a list, try one item and then no items. For a function, change its input and predict its result before running it.

    You do not need to learn several programming languages at once. Follow one coherent beginner path long enough to make and explain a small change. Switching tools whenever an exercise becomes difficult can hide the exact concept you need to practise.

    Worked example a revision counter

    Consider Hamza, a fictional class 12 student who wants to know how many pages remain in his own revision plan. This is a learning example, not a student outcome or a recommended study schedule.

    He starts with two invented numbers:

    planned_pages = 20
    finished_pages = 7
    remaining_pages = planned_pages - finished_pages
    print(remaining_pages)

    Before running the program, he writes “13” in his notebook. After running it, he checks the output and explains which line performed the subtraction.

    Next he changes finished_pages to 20. He expects zero. Then he tries 23 and gets minus three. The arithmetic worked, but his interpretation of “remaining pages” needs attention. Did he enter a wrong number, or did he revise extra material? The program cannot decide that without a rule.

    For now, Hamza writes a requirement: “This exercise accepts completed pages from zero to the planned total.” He can later learn a condition that rejects values outside that range. He has found a reason to learn validation, which means checking whether an input meets the rules of the task.

    Notice what he has not built: a study coach, a prediction of examination results or an AI system. He has built a tiny calculation he can inspect. That is enough for this exercise.

    The revision example moves from planned pages and completed pages through subtraction to an output, with an extra check for invalid inputs.

    View full-size diagram.

    Figure 2. A correct calculation still needs a clear rule about acceptable inputs.

    Add mathematics when it answers a question

    For early programming, practise basic arithmetic and comparisons. When you reach data, learn what averages describe and what they can hide. When you meet model predictions, ask how errors are counted and what a probability means in that specific setting.

    More advanced work can require algebra, probability, statistics and linear algebra. You can build towards them gradually, but avoid treating a copied formula as understanding. Work a tiny calculation by hand and connect each symbol to a value.

    For example, if a toy classifier makes three mistakes in ten invented cases, you can count seven correct results. That exercise does not establish performance on real users. It teaches you to ask what was measured and which examples were included.

    Keep a foundation worksheet

    Use this before moving to a larger project:

    • My current task is one sentence: ______.
    • The program receives: ______.
    • The result should be: ______.
    • One English technical term I can explain in my own words is: ______.
    • I changed this value or instruction: ______.
    • I predicted: ______. I observed: ______.
    • One input that needs a special rule is: ______.
    • I can find and reopen my saved file: yes / not yet.
    • My next unanswered question is: ______.

    Keep “not yet” visible. It tells you where to spend the next session. A copied successful output is weaker evidence of understanding than a small change you can explain, even if you needed help finding it.

    Your next step

    Use one study session to run the revision counter or an equally small calculation. Change two inputs, record the outputs and explain the program without reading a tutorial aloud. Stop before adding a dashboard, account system or AI feature.

    Then choose one missing foundation from your worksheet. Your next lesson should help answer that question. Progress here means clearer understanding and independently checked work, not reaching a job title on a deadline.

    Frequently asked questions

    Do I need fluent English before starting?

    No. You can use Urdu explanations and your own notes while learning the English terms used by the tools. Practise reading small pieces of documentation rather than waiting until you feel fluent. Technical English will remain useful, so develop it alongside the subject.

    Should I translate every programming term into Urdu?

    No. Keep the original term beside a plain explanation and an example. If a translation makes the concept harder to recognise in code, use the English term and explain its meaning in familiar language.

    Can I start if I have never studied computer science?

    Yes, but begin with files, instructions, inputs and outputs rather than assuming those habits are already familiar. A lesson that feels too fast may require a smaller prerequisite exercise, not a different career ambition.

    Must I buy access to an AI model for this first exercise?

    No. The revision counter uses ordinary Python and no AI service. Later projects may have different software, access or cost requirements; check those individually before committing money.

    How do I know when to move beyond the foundations?

    Try changing a small program, predicting the result and explaining one failure. You do not need perfect recall, but you should be able to use references without surrendering every decision to them. If you cannot explain the change, practise that part again.

    Will this route make me ready to sell a product?

    This first stage does not establish commercial readiness. A product also needs evidence that it solves a problem, reliable operation, appropriate data handling and support. Foundations help you begin investigating those responsibilities.

    Explore the AI Engineering curriculum preview.

  • From Learning AI to Building Something Useful: The Upverto Approach

    From Learning AI to Building Something Useful: The Upverto Approach

    Fictional learner practising an enquiry-tracking idea on a laptop beside a hand-drawn workflow.
    Illustrative scene: practising a small enquiry-tracking idea. AI-generated fictional learning scene; not an actual learner, verified portal screenshot or completed customer product.

    You can finish a lesson, follow the code and still feel unsure when you open a blank project. What should you build first? Which part do you understand well enough to change? How will you know whether your result works?

    Upverto’s learning approach connects those questions. Start with a concept you can explain, practise it in a small task, use it in a project, then test and change what you built. The aim is to help you move towards useful software of your own, whether that becomes a personal tool, something for your business or a product you want to develop further.

    Here is what that means in practice, including a small project you can use to think through your own learning.

    A learning system you can see in the work

    The authored course material combines plain explanations, technical detail, English and Urdu text, visual explanations, exercises and project guides. These give you several ways into an unfamiliar idea. A diagram can show where information goes; a worked example can show what changes; an exercise asks you to make a decision yourself.

    The next step matters just as much. Project guides ask learners to run something, inspect it, make a change, investigate a failure and explain the result. Some extensions deliberately provide less guidance.

    That makes progress more concrete. “I read about saving files” becomes “I saved a note, reopened the program and found the same text.” Later, it becomes “I added a feature without breaking the older notes.” Each step leaves something you can inspect.

    Six-stage learning process from a small problem through concepts, practice, a project, checking and repair, and an independent change, with revision included.
    Figure 1. Each stage should leave something you can explain, inspect or test. Revisiting an earlier step is part of the process.

    View full-size diagram.

    Start with a problem small enough to understand

    Imagine Amina runs a small shop and wants to remember customer follow-ups. This is a fictional learning example, not a customer success story.

    Her first idea is an “AI business assistant.” That is too broad for a first build. She narrows it to one question: Which enquiries still need my attention?

    For practice, she uses invented records: Customer A asked about an item; Customer B needs a reply tomorrow. She needs to add a note, find it again and mark its status. She does not need an automated sales agent or real customer information to investigate that workflow.

    Before choosing tools, write four things:

    • Who will use this: one shop owner, initially.
    • What they need to do: record an enquiry and find unfinished follow-ups.
    • What a useful result looks like: the right saved notes appear when needed.
    • What the first version excludes: automatic messages, payments and multiple staff accounts.

    You can replace this example with revision notes, a stock checklist or a personal task list. Choose something familiar enough that you can recognise a wrong result.

    Learn the concept at the moment you need it

    Upverto’s authored learning-notebook project provides a useful starting point. Its supplied Python program adds notes, saves them in a JSON file and loads them again. JSON is a plain-text format for storing data in a structured form. The guide asks learners to close and reopen the program, inspect the saved file and explain why the note remains.

    For Amina’s practice tool, this creates a reason to learn about functions, files and input validation. Each concept answers a question she already has. Where is the note stored? What happens if its topic is empty? What should the program do if a practice file is damaged?

    English and Urdu explanations can help a learner revisit the same idea in a more familiar language while keeping technical terms connected to the code. Diagrams and before-and-after examples provide another way to follow the relationship.

    Use those supports actively. Predict what will happen, run the exercise, then explain any difference. If you cannot explain a line yet, make that your next small learning task.

    Move from following instructions to making decisions

    The notebook project does not stop at running the supplied program. It asks learners to add search, test matching and missing topics, and handle Urdu text. A later extension asks learners to add a learning-status field and decide what should happen to older notes that have no status.

    Those are useful decisions to practise. Adding a field affects existing work. A search that succeeds once still needs a sensible result when nothing matches.

    Amina could adapt this pattern into her own enquiry statuses, such as “New,” “Waiting” and “Closed.” That is an extension idea, not a ready-made shop feature supplied by the notebook project.

    She could keep a short build record:

    1. Expected: searching an item name returns the related practice enquiries.
    2. Observed: one matching record appears, but a second is missing.
    3. Changed: she adjusts her search rule and explains why.
    4. Checked: both matches appear; an unknown item returns a clear empty result.

    This record is useful when she returns to the project later. It also shows where she relied on the example and where she made her own decision.

    Understand AI through experiments you can explain

    As you progress into AI, the same approach gives technical ideas something concrete to attach to.

    The neural-network project uses a tiny XOR exercise: the output is on when one input is on, but not both. Learners inspect a forward calculation, loss, gradients and weight updates in ordinary Python. They are asked to change the learning rate and add a numerical check. The project explicitly treats fitting those four examples as a teaching experiment, not evidence that a model will perform well on unfamiliar data.

    A separate classifier project asks learners to compare against a baseline, keep training, validation and test roles distinct, and save and reload their model. The learning question includes whether the reloaded model reproduces its predictions, rather than stopping when training finishes.

    For Amina, a possible later experiment might suggest a category for an enquiry. She would first need examples, a clear definition of a correct category and a way to review mistakes. If a simple search or rule already solves the problem, she can keep that simpler version. Choosing whether AI is useful is part of building responsibly.

    Connect the parts of a useful product

    A local notebook has a deliberately limited scope. A shared application introduces further questions: who can see each record, what happens after a restart, and how a mistake can be recovered.

    Upverto’s authored web-development material includes Workshop Desk, a teaching project designed to connect a browser screen, server-side code and a database, using React, Node and PostgreSQL respectively. Its guide follows a browser action into stored data, asks learners to check ownership with two accounts and includes changed-requirement work. Email in that project is simulated locally; it should not be mistaken for a configured messaging service.

    Linux projects introduce another part of the picture. The exercises ask learners to create and inspect files, deliberately change a practice copy, detect the difference and repair it. Later recovery work asks them to restore sample content into a fresh location and compare it with the original.

    These examples show why building a product involves more than a screen or a model response. You need to understand how the parts connect and what evidence supports each claim you make about them.

    A local notebook saves an invented enquiry to a file; a separate teaching app connects a browser, server and database. Account-isolation and Linux restore checks are distinct.
    Figure 2. Course examples make saved data, account boundaries and recovery visible. Each requires its own checks; a diagram alone proves none of them.

    View full-size diagram.

    Find out whether someone actually needs it

    Once a small version works, the next question is whether its workflow helps its intended user. A completed exercise cannot answer that by itself.

    For the shop example, Amina could compare the prototype with her existing way of keeping notes. Using invented enquiries, can she find an unfinished follow-up without help? Does “Waiting” have a clear meaning? Can she correct a mistake? Does the tool create extra work?

    If you are considering a product or business, ask someone who understands the problem to walk through a safe demonstration. Ask what they do now and where the proposed tool would fit. Watch for confusion rather than explaining every button for them. Record what needs changing before expanding the feature list.

    The result might be a better internal tool, a narrowly focused product idea or a decision not to pursue the idea. Freelance work is one possible application of these skills, but building something for your own work or business is another.

    Keep separate notes on technical checks and user feedback. “The search passed my examples” and “a shop owner found the workflow useful” answer different questions. Neither establishes sales, income or commercial readiness.

    Make room for practice and revision

    Plan study time for reading, exercises, setup, debugging and project changes. The authored study-time calculator uses provisional planning ranges that include lessons, practice, revision and project work. Those estimates are not measured student completion times or promises of mastery.

    Choose a pace you can sustain and a small outcome for each session. Saving and reloading a note is a clearer target than “learn Python tonight.” Leave time to revisit what failed.

    Upverto is an expanding self-learning platform, with affordable, beginner-accessible learning as a goal. AI engineering, web development, WordPress development and Linux are examples of its learning paths, rather than a limit on what practical self-learning can cover.

    To start, choose one problem, write its first acceptance checks and build the smallest useful version. You can explore the AI Engineering learning path to see how its foundations and projects relate to that direction.

    Frequently asked questions

    Can I start if I have never written code?

    Begin with the foundation material and small exercises. Check each project’s prerequisites before attempting it. If you cannot yet read its functions or use the required tools, return to those lessons rather than copying past the gap.

    Do I need AI in my first project?

    No. A notes tool, form or checklist can give you useful practice with inputs, saved data and testing. Add an AI experiment when you can explain the problem it addresses and how you will judge its output.

    How do I know I am learning rather than copying?

    Try a change that is not shown step by step. Predict its effect, implement it, test ordinary and failing cases, and explain your choices. A working copied example is a starting point; your independent change supplies more useful evidence.

    Are the explanations available in Urdu?

    The authored course material includes English and Urdu-script explanations, with technical terms and code retained where needed. Use the language that helps you understand the idea, then connect the explanation back to the actual exercise.

    Will a course project be ready to sell?

    Treat it as a learning foundation. Real use can require additional work on access, data handling, reliability, deployment and support. Check the project’s stated limits and validate the proposed workflow before presenting it as a commercial product.

    Is this only useful for freelancing?

    No. You can apply the same process to a personal tool, an internal business workflow or your own product idea. The immediate goal is something you can explain, change and check; the eventual use depends on the problem you choose.