[{"data":1,"prerenderedAt":463},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fbuilding\u002Fstarting-from-what-you-have":254,"surround-\u002Fbuilding\u002Fstarting-from-what-you-have":460},[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":82,"body":256,"description":85,"extension":453,"hidden":454,"meta":455,"navTitle":456,"navigation":457,"path":83,"seo":458,"stem":84,"__hash__":459},"docs\u002F2.building\u002F9.starting-from-what-you-have.md",{"type":257,"value":258,"toc":443},"minimark",[259,263,271,276,345,353,357,360,388,399,405,409,417,420,424,430,436,440],[260,261,262],"p",{},"Almost nothing is built from nothing. There is a spreadsheet the business has\nbeen run out of for three years, a PDF of the form being replaced, a page on\nyour own site that already says what you do.",[260,264,265,266,270],{},"Describing any of that in a sentence throws most of it away. So attach it\ninstead. It is read before a line is written, and it is ",[267,268,269],"strong",{},"the single biggest\ndifference to what comes back first time",".",[272,273,275],"h2",{"id":274},"what-you-can-attach","What you can attach",[277,278,279,290],"table",{},[280,281,282],"thead",{},[283,284,285,288],"tr",{},[286,287],"th",{},[286,289],{},[291,292,293,315,325,335],"tbody",{},[283,294,295,301],{},[296,297,298],"td",{},[267,299,300],{},"Spreadsheets",[296,302,303,307,308,307,311,314],{},[304,305,306],"code",{},".xlsx",", ",[304,309,310],{},".ods",[304,312,313],{},".csv",". The most useful by a distance — see below",[283,316,317,322],{},[296,318,319],{},[267,320,321],{},"Documents",[296,323,324],{},"PDF, Word, Markdown, plain text",[283,326,327,332],{},[296,328,329],{},[267,330,331],{},"Pictures",[296,333,334],{},"A screenshot of what it should look like, a photo of the paper form",[283,336,337,342],{},[296,338,339],{},[267,340,341],{},"A website",[296,343,344],{},"A page of your own, read the way a person would read it",[260,346,347,348,352],{},"Up to twelve things, 25MB each. Attach them on the last question when creating\nan application — ",[349,350,351],"em",{},"Is there something to start from?"," — or drop them into the\nconversation afterwards.",[272,354,356],{"id":355},"why-a-spreadsheet-is-the-interesting-one","Why a spreadsheet is the interesting one",[260,358,359],{},"A spreadsheet is the most honest statement of how a business actually works,\nincluding the parts nobody thinks to mention. So it gets read properly:",[361,362,363,370,376,382],"ul",{},[364,365,366,369],"li",{},[267,367,368],{},"Every sheet",", with the headings found wherever they are. A title row, a\nblank line and a logo above them is the normal case, and it is skipped.",[364,371,372,375],{},[267,373,374],{},"Every column",", and what it holds — text, a number, a date, a yes or no —\nworked out from the values rather than the heading.",[364,377,378,381],{},[267,379,380],{},"Which columns look like identifiers",", so the application knows what makes\na record that record.",[364,383,384,387],{},[267,385,386],{},"A few real rows",", so what the values actually look like is visible.",[260,389,390,391,394,395,398],{},"Then two things happen. The application is built around ",[267,392,393],{},"your structure"," —\nyour tables, your fields, your names. And your ",[267,396,397],{},"actual records come across",",\nso the first version opens with your own data in it rather than invented\nexamples.",[400,401,402],"note",{},[260,403,404],{},"It reads the first few hundred rows to work out the shape, then brings the\nwhole sheet across when it imports. A large spreadsheet is not a problem; it\njust arrives in batches.",[272,406,408],{"id":407},"it-will-ask-before-it-commits","It will ask before it commits",[260,410,411,412,416],{},"Where the structure is genuinely ambiguous — which sheets matter, what\nidentifies a record, whether two sheets are related — you get a\n",[413,414,415],"a",{"href":78},"screen to confirm it",", with its own answer\nalready filled in. Correct anything wrong and press the button.",[260,418,419],{},"It should not ask about the parts that are obvious.",[272,421,423],{"id":422},"what-it-does-not-do","What it does not do",[260,425,426,429],{},[267,427,428],{},"It does not keep your spreadsheet in step."," The records are copied once.\nAfter that the application is where they live, and the spreadsheet is a\nhistorical document. That is the point of having the application.",[260,431,432,435],{},[267,433,434],{},"It does not read a file that needs signing in to."," A page behind a login\ncannot be fetched — save it as a document and attach that.",[272,437,439],{"id":438},"removing-one","Removing one",[260,441,442],{},"Attached things are listed under the brief in the workbench. Removing one\nstops later builds seeing it; what was already built stays as it is.",{"title":444,"searchDepth":445,"depth":445,"links":446},"",3,[447,449,450,451,452],{"id":274,"depth":448,"text":275},2,{"id":355,"depth":448,"text":356},{"id":407,"depth":448,"text":408},{"id":422,"depth":448,"text":423},{"id":438,"depth":448,"text":439},"md",false,{},null,true,{"title":82,"description":85},"nBo2XXS7t9F0j4qNG4_YG0KDPktZJtU8DqsSODiwfNg",[461,462],{"title":77,"path":78,"stem":79,"description":80,"children":-1},{"title":87,"path":88,"stem":92,"description":93,"children":-1},1790202296894]