[{"data":1,"prerenderedAt":634},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fstart\u002Fyour-first-application":254,"surround-\u002Fstart\u002Fyour-first-application":631},[4,33,86,114,173,212,231],{"title":5,"path":6,"stem":7,"children":8},"Start","\u002Fstart","1.start",[9,13,18,23,28],{"title":10,"path":6,"stem":11,"description":12},"Start here","1.start\u002Findex","What Desifex is, and how to get an application of your own running.",{"title":14,"path":15,"stem":16,"description":17},"What Desifex is","\u002Fstart\u002Fwhat-desifex-is","1.start\u002F1.what-desifex-is","An application factory where conversation is the interface — and the handful of things it deliberately will not do.",{"title":19,"path":20,"stem":21,"description":22},"Your first application","\u002Fstart\u002Fyour-first-application","1.start\u002F2.your-first-application","From a sentence to something running, in about twenty minutes, with nothing to install.",{"title":24,"path":25,"stem":26,"description":27},"The workbench","\u002Fstart\u002Fthe-workbench","1.start\u002F3.the-workbench","A tour of the screen you will spend your time on — the conversation, the six tabs, and the menu.",{"title":29,"path":30,"stem":31,"description":32},"What to expect","\u002Fstart\u002Fwhat-to-expect","1.start\u002F4.what-to-expect","How long things take, what a good working rhythm looks like, and the parts that genuinely go wrong.",{"title":34,"path":35,"stem":36,"children":37},"Building","\u002Fbuilding","2.building",[38,41,46,51,56,61,66,71,76,81],{"title":34,"path":35,"stem":39,"description":40},"2.building\u002Findex","Getting what you actually wanted out of the conversation.",{"title":42,"path":43,"stem":44,"description":45},"Describing what you need","\u002Fbuilding\u002Fdescribing-what-you-need","2.building\u002F1.describing-what-you-need","How to phrase a request so that what comes back is what you meant.",{"title":47,"path":48,"stem":49,"description":50},"Watching a build","\u002Fbuilding\u002Fwatching-a-build","2.building\u002F2.watching-a-build","What the steps mean, what is happening underneath, and why you are not shown a log.",{"title":52,"path":53,"stem":54,"description":55},"Changing your mind","\u002Fbuilding\u002Fchanging-your-mind","2.building\u002F3.changing-your-mind","Interrupting a build, correcting a misunderstanding, and undoing something you asked for.",{"title":57,"path":58,"stem":59,"description":60},"When a build fails","\u002Fbuilding\u002Fwhen-a-build-fails","2.building\u002F4.when-a-build-fails","What a failure actually means, what to try, and when to ask us.",{"title":62,"path":63,"stem":64,"description":65},"Showing it a file","\u002Fbuilding\u002Fshowing-it-files","2.building\u002F5.showing-it-files","Attaching a screenshot, a spreadsheet or a document to the conversation — often faster than describing it.",{"title":67,"path":68,"stem":69,"description":70},"Choosing a design system","\u002Fbuilding\u002Fchoosing-a-design-system","2.building\u002F6.choosing-a-design-system","What a design system decides, how to pick one, and what changing it later does.",{"title":72,"path":73,"stem":74,"description":75},"Asking for settings","\u002Fbuilding\u002Fasking-for-settings","2.building\u002F7.asking-for-settings","The conversation reaches the whole platform — addresses, icons, redirects, users, integrations and shipping. If you do not know where a setting is, ask.",{"title":77,"path":78,"stem":79,"description":80},"When it asks you","\u002Fbuilding\u002Fwhen-it-asks-you","2.building\u002F8.when-it-asks-you","Some decisions arrive as a screen rather than a message — a table to correct, a list to choose from — and the build waits for your answer.",{"title":82,"path":83,"stem":84,"description":85},"Starting from what you have","\u002Fbuilding\u002Fstarting-from-what-you-have","2.building\u002F9.starting-from-what-you-have","A spreadsheet, a document, a picture or a page of your own site — attached, read, and built from.",{"title":87,"path":88,"stem":89,"children":90},"Shipping","\u002Fshipping","3.shipping",[91,94,99,104,109],{"title":87,"path":88,"stem":92,"description":93},"3.shipping\u002Findex","Getting what you built in front of people, and getting back to an earlier version.",{"title":95,"path":96,"stem":97,"description":98},"Versions","\u002Fshipping\u002Fversions","3.shipping\u002F1.versions","Every build is kept, named after what was asked for, and can be compared and restored.",{"title":100,"path":101,"stem":102,"description":103},"Environments","\u002Fshipping\u002Fenvironments","3.shipping\u002F2.environments","Preview, test and live — what each one is, who can reach it, and why their data is separate.",{"title":105,"path":106,"stem":107,"description":108},"Deploying","\u002Fshipping\u002Fdeploying","3.shipping\u002F3.deploying","Putting a version into test or live, what happens while it deploys, and what happens if it fails.",{"title":110,"path":111,"stem":112,"description":113},"Going back","\u002Fshipping\u002Fgoing-back","3.shipping\u002F4.going-back","Restoring an earlier version when a change turned out to be wrong.",{"title":115,"path":116,"stem":117,"children":118},"Running","\u002Frunning","4.running",[119,123,128,133,138,143,148,153,158,163,168],{"title":120,"path":116,"stem":121,"description":122},"Running it","4.running\u002Findex","Everything in Settings — addresses, access, people, files, integrations and what crawlers are told.",{"title":124,"path":125,"stem":126,"description":127},"Addresses and domains","\u002Frunning\u002Faddresses-and-domains","4.running\u002F01.addresses-and-domains","The address an application gets, and how to put it on a domain you own.",{"title":129,"path":130,"stem":131,"description":132},"Who can reach it","\u002Frunning\u002Fwho-can-reach-it","4.running\u002F02.who-can-reach-it","Open, behind one shared password, or accounts — and why the choice is enforced in front of the application.",{"title":134,"path":135,"stem":136,"description":137},"People who sign in","\u002Frunning\u002Fpeople-who-sign-in","4.running\u002F03.people-who-sign-in","The workspace's user directory — adding the people who use your applications, which ones each may open, what you can keep about them, and two-step sign-in.",{"title":139,"path":140,"stem":141,"description":142},"Published files","\u002Frunning\u002Fpublished-files","4.running\u002F04.published-files","Documents your application hands to its users — a price list, a brochure, a form — with a stable address and no build to change them.",{"title":144,"path":145,"stem":146,"description":147},"Integrations","\u002Frunning\u002Fintegrations","4.running\u002F05.integrations","Email, SMS and Google — connected once, used by the application without it ever holding a credential.",{"title":149,"path":150,"stem":151,"description":152},"Appearance","\u002Frunning\u002Fappearance","4.running\u002F06.appearance","The browser tab, the icon, what a link looks like when somebody pastes it, and adding it to a phone's home screen.",{"title":154,"path":155,"stem":156,"description":157},"Redirects and search engines","\u002Frunning\u002Fredirects-and-search-engines","4.running\u002F07.redirects-and-search-engines","Old addresses that still get visited, and what crawlers are told about each environment.",{"title":159,"path":160,"stem":161,"description":162},"Configuration values","\u002Frunning\u002Fconfiguration-values","4.running\u002F08.configuration-values","Named values the application needs but must not contain — API keys, account numbers, thresholds.",{"title":164,"path":165,"stem":166,"description":167},"Your data","\u002Frunning\u002Fyour-data","4.running\u002F09.your-data","The Data tab — reading, correcting, adding to and clearing out what your application has stored, one environment at a time.",{"title":169,"path":170,"stem":171,"description":172},"Visitors","\u002Frunning\u002Fvisitors","4.running\u002F10.visitors","Who is using the application, counted without identifying anybody and with nothing to set up.",{"title":174,"path":175,"stem":176,"children":177},"Workspace","\u002Fworkspace","5.workspace",[178,182,187,192,197,202,207],{"title":179,"path":175,"stem":180,"description":181},"Your workspace","5.workspace\u002Findex","What every application in it shares — the domain, the design systems, the people, the user directory and, if you want it, one set of records — and how to be in more than one.",{"title":183,"path":184,"stem":185,"description":186},"People and roles","\u002Fworkspace\u002Fpeople-and-roles","5.workspace\u002F1.people-and-roles","Three roles, what each can do, how they apply to the builder as well as to the buttons, and why they belong to a workspace rather than to an account.",{"title":188,"path":189,"stem":190,"description":191},"More than one workspace","\u002Fworkspace\u002Fmore-than-one-workspace","5.workspace\u002F2.more-than-one-workspace","Belonging to several, switching between them, the role you hold in each, and why nothing crosses over.",{"title":193,"path":194,"stem":195,"description":196},"Organising applications","\u002Fworkspace\u002Ffolders-and-organising","5.workspace\u002F3.folders-and-organising","Folders on the dashboard, and how to keep a growing list navigable.",{"title":198,"path":199,"stem":200,"description":201},"Your own design systems","\u002Fworkspace\u002Fyour-own-design-systems","5.workspace\u002F4.your-own-design-systems","Authoring a design system for your brand, or a client's, by importing guidelines, a website or a Figma library.",{"title":203,"path":204,"stem":205,"description":206},"Your profile","\u002Fworkspace\u002Fyour-profile","5.workspace\u002F5.your-profile","Your name, your password, your picture, and the theme.",{"title":208,"path":209,"stem":210,"description":211},"Where records live","\u002Fworkspace\u002Fwhere-records-live","5.workspace\u002F6.where-records-live","One store per environment, one across an application's environments, or one the whole workspace shares — what each costs you, and how to change it.",{"title":213,"path":214,"stem":215,"children":216},"Developers","\u002Fdevelopers","6.developers",[217,221,226],{"title":218,"path":214,"stem":219,"description":220},"For developers","6.developers\u002Findex","What is actually generated, and what to do when you inherit one.",{"title":222,"path":223,"stem":224,"description":225},"What gets built","\u002Fdevelopers\u002Fwhat-gets-built","6.developers\u002F1.what-gets-built","The stack, the shape of the repository, and the parts the platform provides rather than the application.",{"title":227,"path":228,"stem":229,"description":230},"Taking one over","\u002Fdevelopers\u002Ftaking-it-over","6.developers\u002F2.taking-it-over","For the developer who has just been handed an application built here.",{"title":232,"path":233,"stem":234,"children":235},"Reference","\u002Freference","7.reference",[236,239,244,249],{"title":232,"path":233,"stem":237,"description":238},"7.reference\u002Findex","Terms, limits, and what to do when something specific has gone wrong.",{"title":240,"path":241,"stem":242,"description":243},"Glossary","\u002Freference\u002Fglossary","7.reference\u002F1.glossary","Every term this documentation uses, in one place.",{"title":245,"path":246,"stem":247,"description":248},"Limits","\u002Freference\u002Flimits","7.reference\u002F2.limits","The boundaries that are real, so you do not discover them at an inconvenient moment.",{"title":250,"path":251,"stem":252,"description":253},"Troubleshooting","\u002Freference\u002Ftroubleshooting","7.reference\u002F3.troubleshooting","Specific symptoms, and what each one usually means.",{"id":255,"title":19,"body":256,"description":22,"extension":624,"hidden":625,"meta":626,"navTitle":627,"navigation":628,"path":20,"seo":629,"stem":21,"__hash__":630},"docs\u002F1.start\u002F2.your-first-application.md",{"type":257,"value":258,"toc":612},"minimark",[259,263,268,281,414,417,421,424,430,433,438,441,444,465,468,472,485,491,496,499,505,509,516,519,523,526,529,534,539,544,547,551,554,572,581,591,595],[260,261,262],"p",{},"Nothing to install and nothing to configure first. If you can sign in, you can\ndo this.",[264,265,267],"h2",{"id":266},"create-it","Create it",[260,269,270,271,275,276,280],{},"Press ",[272,273,274],"strong",{},"New application"," on the dashboard. You are asked eight questions, one\nscreen at a time. Press ",[277,278,279],"kbd",{},"Enter"," to move on.",[282,283,284],"steps",{},[285,286,287,306,312,326,336,348,368,401],"ol",{},[288,289,290,293,294,298,299,298,302,305],"li",{},[272,291,292],{},"What should we call it?"," The name your team will know it by —\n",[295,296,297],"em",{},"Proposals",", ",[295,300,301],{},"Supplier portal",[295,303,304],{},"Site surveys",". It becomes the address as\nwell, so keep it short. You can change it later.",[288,307,308,311],{},[272,309,310],{},"What should it do?"," The important one. Describe it as you would to a\ncolleague: who uses it, what they need to get done, and what it should keep\ntrack of. A paragraph is better than a sentence. There is a worked example\nbelow.",[288,313,314,317,318,321,322,325],{},[272,315,316],{},"How is the information shaped?"," Two choices, in plain language.\n",[295,319,320],{},"Flexible records"," suits notes, documents and forms that change shape — it is\nthe usual answer and the one to keep if you are unsure. ",[295,323,324],{},"Strict tables"," suits\nuniform records with firm relationships: invoices, inventory, anything\nfinancial. This can be changed later by asking.",[288,327,328,331,332,335],{},[272,329,330],{},"Is there something to start from?"," Optional, and the one people skip\nand then wish they had not. A spreadsheet you have been running this out\nof, a document describing it, a picture of what it should look like, a page\nof your own site. See\n",[333,334,82],"a",{"href":83},".",[288,337,338,341,342,345,346,335],{},[272,339,340],{},"What should it be able to do?"," Send email, send a text, reach Google\nWorkspace. Nothing is connected at this point and you are not asked for a\nkey — ticking one means the application is ",[295,343,344],{},"built"," to use it, ready for the\nday somebody adds the account. Tick nothing if you are unsure; asking later\nis a sentence in the conversation. See\n",[333,347,144],{"href":145},[288,349,350,353,354,357,358,361,362,335,364,367],{},[272,351,352],{},"Should it share its information?"," ",[272,355,356],{},"Keep its own"," is the usual answer\nand the first one: nothing this application stores is visible to any other.\nThe alternatives are a store the workspace already keeps, for when two\napplications are about the same customers — or, if you are an owner,\n",[272,359,360],{},"A new shared store",", for when this is the first of the two and the store\ndoes not exist yet. Making it here rather than afterwards saves creating\nthe application, moving it, and losing whatever it wrote in between. See\n",[333,363,208],{"href":209},[365,366],"br",{},"Not asked at all when there is no store to choose and you could not make\none — a question with one possible answer is not worth a screen.",[288,369,370,373,374,298,377,298,380,383,384,335,387,389,390,392,394,395,398,399,335],{},[272,371,372],{},"Who should be able to reach it?"," The door, in front of the application\nitself. ",[272,375,376],{},"Anyone with the address",[272,378,379],{},"One shared password",[272,381,382],{},"People\nsign in",", or ",[272,385,386],{},"Decide later",[365,388],{},"It is asked now rather than left to Settings because it changes what gets\nbuilt: an application people sign in to needs sign-in screens and knows who\nis looking, and one behind a shared password needs neither. Finding that\nout after the screens exist means building them twice.",[365,391],{},[272,393,386],{}," is the honest answer if you do not know yet, and it is the\none selected. The builder raises it once while it works, when it can say\nwhat each answer would mean for ",[295,396,397],{},"your"," application. See\n",[333,400,129],{"href":130},[288,402,403,406,407,409,410,413],{},[272,404,405],{},"How should it look?"," A design system. Each is a different way of building —\nhow dense the screens are, whether records live in tables or cards, how much\nornament there is — not just a palette. Pick one that feels like the\nsoftware your team already uses.",[365,408],{},"None of them right? ",[272,411,412],{},"Describe it yourself",", the last tile, and write what\nit should be like in your own words. A system still supplies the colours and\nthe type; your words decide the rest and win where the two disagree. All of\nit is changeable later.",[260,415,416],{},"Press the last one and the build starts.",[264,418,420],{"id":419},"a-brief-worth-writing","A brief worth writing",[260,422,423],{},"The second question is where the quality of the result is decided. Compare:",[425,426,427],"blockquote",{},[260,428,429],{},"A tool to track proposals.",[260,431,432],{},"with:",[425,434,435],{},[260,436,437],{},"Somewhere for our four salespeople to track proposals. Each proposal has a\nclient, a value, an owner and a stage — draft, sent, in review, won, lost.\nThey need to see their own open proposals first, filter by stage, and see\nwhat the team has won this quarter. Anna needs to export the won ones to a\nspreadsheet at month end.",[260,439,440],{},"The second gets you something close on the first attempt. The first gets you\nsomething generic that then takes four rounds of correction.",[260,442,443],{},"Three things to include, in whatever order they come out:",[445,446,447,453,459],"ul",{},[288,448,449,452],{},[272,450,451],{},"Who uses it",", and whether they see different things.",[288,454,455,458],{},[272,456,457],{},"What it keeps track of"," — the records, and the fields that matter.",[288,460,461,464],{},[272,462,463],{},"What people actually do with it"," — the two or three actions that are the\npoint of the whole thing.",[260,466,467],{},"You do not need to be exhaustive. Anything you leave out you can ask for later,\nand asking later costs nothing.",[264,469,471],{"id":470},"watch-it-build","Watch it build",[260,473,474,475,298,478,298,481,484],{},"You land in the workbench: the conversation on the left, the application on the\nright. Steps appear as they happen — ",[295,476,477],{},"Setting up the database",[295,479,480],{},"Building the\nproposals list",[295,482,483],{},"Checking it builds"," — in plain language rather than as\ncommands.",[260,486,487,490],{},[272,488,489],{},"Early on it stops and shows you a table."," These are the records it has\nworked out your application needs, from your brief: one row per kind of thing,\nwhat it holds, and the fields that matter. It is filled in already, so the\nusual answer is to read it, correct a row and press the button.",[260,492,493,494,335],{},"It is worth the minute. A screen is an afternoon to change afterwards and a\ntable is not, so this is the one question where being wrong is expensive — and\nyou know things about your own business that were never going to be in a\nparagraph. See ",[333,495,77],{"href":78},[260,497,498],{},"A first build takes somewhere between five and twenty minutes depending on how\nmuch you asked for. You can leave the page and come back; it keeps going.",[500,501,502],"note",{},[260,503,504],{},"You can interrupt at any point. Type into the conversation while it is working\nand it will pick your message up. You do not have to wait for it to finish\nbefore changing your mind.",[264,506,508],{"id":507},"try-it","Try it",[260,510,511,512,515],{},"When the build finishes, the ",[272,513,514],{},"Preview"," tab shows the application running. It\nis live software, not a picture: type into it, press things, add a record.",[260,517,518],{},"Check it on a phone while you are there — the size buttons above the preview\nrender at true phone width rather than squeezing a desktop layout narrow.",[264,520,522],{"id":521},"ask-for-the-first-change","Ask for the first change",[260,524,525],{},"Something will be wrong. That is the normal case, not a failure — you are\nspecifying by reaction, which is faster than specifying by imagination.",[260,527,528],{},"Say what you want changed, in ordinary words:",[425,530,531],{},[260,532,533],{},"The list should show the newest proposals first, and I want the client name\nbefore the value.",[425,535,536],{},[260,537,538],{},"Add a note field to each proposal. Long text, optional.",[425,540,541],{},[260,542,543],{},"The stage filter should remember what I picked last time.",[260,545,546],{},"Each of those is one message. It works, it saves a version, and the preview\nupdates.",[264,548,550],{"id":549},"put-it-in-front-of-someone","Put it in front of someone",[260,552,553],{},"When it is worth showing:",[282,555,556],{},[285,557,558,564,569],{},[288,559,560,561,563],{},"Open the ",[272,562,95],{}," tab.",[288,565,270,566,335],{},[272,567,568],{},"Put the latest on Test",[288,570,571],{},"Wait for it to build — a minute or two — and the address appears.",[260,573,574,575,578,579,335],{},"That address is real and works for anyone you send it to. Before you send it,\ndecide who should be able to open it: ",[272,576,577],{},"Settings › Access"," turns on one shared\npassword, or accounts. See ",[333,580,129],{"href":130},[500,582,584],{"type":583},"warning",[260,585,586,587,590],{},"Test and live have ",[272,588,589],{},"separate data",". Records you add while testing are not in\nthe live application, and that is deliberate. Do not test with data you will\nneed afterwards.",[264,592,594],{"id":593},"then","Then",[445,596,597,602,607],{},[288,598,599,601],{},[333,600,42],{"href":43}," — how to get\na better result out of the second and third rounds.",[288,603,604,606],{},[333,605,100],{"href":101}," — what test and live actually mean.",[288,608,609,611],{},[333,610,124],{"href":125}," — putting it on a\ndomain of your own.",{"title":613,"searchDepth":614,"depth":614,"links":615},"",3,[616,618,619,620,621,622,623],{"id":266,"depth":617,"text":267},2,{"id":419,"depth":617,"text":420},{"id":470,"depth":617,"text":471},{"id":507,"depth":617,"text":508},{"id":521,"depth":617,"text":522},{"id":549,"depth":617,"text":550},{"id":593,"depth":617,"text":594},"md",false,{},null,true,{"title":19,"description":22},"0L9dzNEM7oX5gy6mtXgAiMicXzr2ECpk8dazLGjhRys",[632,633],{"title":14,"path":15,"stem":16,"description":17,"children":-1},{"title":24,"path":25,"stem":26,"description":27,"children":-1},1790202296892]