Tohseno / DOCS

START HERE · 10 CLASSES · 10 MINUTES

Make an
iPhone app.

Start with one sentence. End with a native app on your iPhone. Tohseno keeps the work, the checks, and the way back connected.

Start class 01

CLASS 01 / 10

Install the workshop.

Put Tohseno on the Mac that will build your app.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Open tohseno.com on your Mac.

    The Mac is the workshop. This is where the app's source and history will live.

Do this

  1. On your Mac, go to tohseno.com.
  2. Download the current Mac release when the button is available.
  3. Open the DMG. Drag Tohseno into Applications.
  4. Open Tohseno from Applications.

Release truth: if the download route says it is unavailable, stop. The stable artifact has not been published. Do not work around that gate.

Read the 60-second script

Start on the Mac you want to use as your app workshop. Open tohseno.com and take the current Mac download only when the site makes it available. Open the disk image, drag Tohseno into Applications, then open it from there. That ordinary Finder step matters: the public app must be the exact signed and notarized build, and your Mac should be able to verify it. If the download is closed, do not hunt for a shortcut. It means the release gate is still closed. Tohseno is the workshop around your app. It will hold the job, call the craftsperson, check the result, and carry it to your iPhone. In the next class, you put the tools on the bench.

CLASS 02 / 10

Put tools on the bench.

Tohseno needs Xcode and one coding agent that already works on your Mac.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Install full Xcode.

    Xcode is the inspection bench and the road Apple provides to your iPhone.

Do this

  1. Install the full version of Xcode from Apple.
  2. Open Xcode. Let its components finish installing.
  3. In Xcode Settings → Accounts, add your Apple Account.
  4. Install and authenticate a coding agent Tohseno can detect, such as Codex.
  5. Return to Tohseno. Follow the one readiness action it shows.

Private boundary: enter Apple credentials only inside Xcode. Tohseno observes readiness; it does not collect your password.

Read the 60-second script

Your workshop needs two tools. First, install the full Xcode app. Open it once, accept the license, and let Apple finish adding its components. Then add your Apple Account inside Xcode Settings. Keep that boundary clear: Tohseno never needs your Apple password. Second, make sure a supported coding agent is installed and already authenticated on this Mac. Codex is one example. The coding agent is the craftsperson that edits source. Xcode is the inspector that builds and signs it. Tohseno is the foreman: it hands over one exact job, watches the bounded attempt, checks the build, and keeps the result tied to your app. Return to Tohseno and do the single readiness action shown on screen. Next, connect the real iPhone.

CLASS 03 / 10

Open the road to your iPhone.

Connect the physical phone that should receive the app.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Connect and unlock your iPhone.

    Use a cable for first setup. Keep the phone awake and beside the Mac.

Do this

  1. Connect your iPhone to the Mac with a cable.
  2. Unlock it. Tap Trust if either device asks.
  3. Follow Tohseno's prompt to enable Developer Mode on the iPhone.
  4. After any restart, unlock the iPhone and open Tohseno again.
  5. Do the one remaining readiness action on screen.

Keep it literal: connected means connected, unlocked, trusted, and visible to Apple's tools. A phone icon alone is not readiness.

Read the 60-second script

Now open a real road from the workshop to your iPhone. Connect the phone to the Mac with a cable and unlock it. If the Mac or phone asks whether to trust the other device, approve that connection. Then follow the iPhone's prompt to enable Developer Mode. Apple may restart the phone; after that, unlock it again and return to Tohseno. Tohseno checks what Apple's tools can actually see: the phone, its trust state, Developer Mode, and signing readiness. It does not call a picture of a phone a working connection. Think of the cable as the road, and Trust plus Developer Mode as the gate. When Tohseno shows the next action, do only that action. The next class installs and pairs the Companion.

CLASS 04 / 10

Give the phone a doorbell.

Install and pair Tohseno Companion with this Mac.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Let Tohseno build Companion.

    The Mac app signs and installs the real Companion on your connected iPhone.

Do this

  1. In Tohseno on the Mac, start Companion setup.
  2. Keep the iPhone connected and unlocked while it builds and installs.
  3. Open Tohseno Companion on the iPhone.
  4. Accept the short-lived pairing invitation shown by Tohseno.
  5. Wait until the Mac confirms the private workspace connection.

This is a key exchange: pairing is not an account login. The Companion holds its own device identity and proves which local workspace it belongs to.

Read the 60-second script

Let Tohseno install its Companion on the connected iPhone. This is not a disposable test app. It is the phone side of your private workspace. Keep the phone connected and unlocked while the Mac builds, signs, installs, and launches it. Open Tohseno Companion, then accept the short-lived pairing invitation shown by the Mac. Wait until Tohseno confirms that the phone has proved the connection. Pairing is not a Tohseno account and it is not a vague cloud login. The Mac and phone create device identities and agree that they belong to the same workspace. The Companion is a doorbell: later, it can carry a request from the app in your hand back to the exact workshop on your Mac. Once both sides say paired, you are ready to choose the creation path.

CLASS 05 / 10

Choose a new job.

Open the secondary Create App path and start from an empty intention.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Look at the two doors.

    Adopt Existing App connects a project you already have. Create App starts a new one.

Do this

  1. In the Mac app, click Create App in the sidebar.
  2. If Tohseno offers starting capabilities, choose one only if it matches your idea.
  3. Read the seeded intention and rewrite it in your own words.
  4. Aim for one screen or one useful loop in the first version.

Already have source? Use Adopt Existing App instead. Adoption connects an existing Xcode project without turning it into a Tohseno-created Shot.

Read the 60-second script

Tohseno gives you two honest doors. Adopt Existing App is recommended when an Xcode project already exists: it connects that project without rewriting its identity. Create App is the door for a fresh app. Choose Create App in the sidebar. You may see a few iPhone-oriented starting capabilities. Pick one only if it helps. The card simply seeds editable language; it is not a hidden template and it does not create a second factory. Now reduce the first job. One screen, one action, or one useful loop is enough. A breathing timer, a water log, a private note that disappears at midnight—small is not a compromise here. It is how you reach a real app you can hold, use, and change. Next, you will write the job card.

CLASS 06 / 10

Describe the life, not the code.

Write what the app should do for you when it is in your hand.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Say who it is for.

    “Make me…” is enough. This app can begin with one person: you.

Do this

  1. Start with: “Make me an app that…”
  2. Describe the one thing you will do in the app.
  3. Describe what you should see when that action succeeds.
  4. Add one constraint that matters: offline, private, quiet, fast, or accessible.
  5. Optionally enter the app name. Otherwise, leave the name blank.

EXAMPLE Make me a quiet breathing timer. I choose 1, 3, or 5 minutes, tap Start, and see one circle expand and contract. It works offline and saves nothing.

Read the 60-second script

Write the app as a moment in your life, not as a list of programming instructions. Start with “Make me an app that…” Then say what you do, what the app does back, and how you know the moment is complete. Add one constraint only if it matters: perhaps it works offline, saves nothing, uses large type, or makes no sound. For example: “Make me a quiet breathing timer. I choose one, three, or five minutes, tap Start, and see one circle expand and contract. It works offline and saves nothing.” That is enough. The intention is a job card, not a blueprint. It defines what must be true when the work leaves the bench. You may name the app, or leave the name blank and let the implementation choose a concise one.

CLASS 07 / 10

Show it. Then send it.

Add only the visual references that make the intention clearer.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Add an image only if it speaks.

    A sketch, screenshot, texture, or layout can make one sentence precise.

Do this

  1. Click Add reference images…, or drop images into the composer.
  2. Use PNG or JPEG only. Add no more than eight.
  3. Remove any image that does not clarify the app.
  4. Read the final intention once from top to bottom.
  5. Press plain Return or click Create App.

The send is real: plain Return submits from the focused intention box. Use Shift-Return when you actually want another line.

Read the 60-second script

If a picture says something your sentence cannot, add it now. Use a PNG or JPEG: a rough sketch, a screenshot with the right density, a texture, or a layout you want the agent to understand. Pick or drop up to eight images. Tohseno keeps the accepted bytes with this exact creation request. More images do not make a better intention, so remove anything that is merely decorative or contradictory. Read the intention once from top to bottom. Keep one clear job. Then send it. When the intention editor is focused, plain Return submits; Shift-Return inserts a new line. Clicking Create App submits the same command. This is the moment the job card moves from your hand to the workshop. There is no planning ceremony in front of the build.

CLASS 08 / 10

Let the workshop finish.

Tohseno writes, checks, signs, installs, and opens one accepted app.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 The agent writes one implementation.

    Tohseno gives one bounded job to the selected coding agent.

Do this

  1. Leave the Mac awake while the first build runs.
  2. Watch the simple state: Waiting, Building, Ready for Phone, Installing, Installed, or Failed.
  3. If asked, reconnect and unlock the iPhone. Tohseno resumes installation without rewriting the app.
  4. When the state is Installed, open the app on your iPhone.
  5. If it fails, use the single recovery action Tohseno shows.

Source is not the finish line: Tohseno records success only after deterministic checks and exact device installation. A missing phone waits instead of rerunning intelligence.

Read the 60-second script

After you send, let the workshop finish. Tohseno gives the exact intention and references to one coding agent for one bounded implementation. Xcode builds the result. If there is a concrete code or build defect, Tohseno may allow one focused repair—never an endless hidden loop. Then it verifies, development-signs, installs, and launches the accepted app on your iPhone. Watch the simple state, not internal machinery: Waiting, Building, Ready for Phone, Installing, Installed, or Failed. If the phone disconnects, reconnect and unlock it. The verified build waits and installation resumes without asking the agent to rewrite the app. A source folder is not success. Installed means the exact app passed the checks and appeared in the phone's inventory. Now open it with your own thumb.

CLASS 09 / 10

Use it before you change it.

Find one real friction, then ask for one concrete evolution.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Use the app in your hand.

    Tap through the real loop. Notice behavior, not code.

Do this

  1. Use the app on the iPhone for its full small loop.
  2. Pick the single change that would make the next use better.
  3. Open the app in Tohseno or its paired Companion workspace.
  4. Write: what happens now, then what should happen instead.
  5. Press Evolve App and follow the same build-to-phone path.

EXAMPLE The breathing circle stops without a signal. When the timer ends, make the phone give one soft haptic pulse and show “Done” for two seconds.

Read the 60-second script

Do not improve the app from imagination yet. Use it. Complete the small loop on the real iPhone and notice one point of friction. Choose only one: text that is too small, an ending that is unclear, a missing action, or behavior that is simply wrong. Describe what happens now and what should happen instead. For example: “The breathing circle stops without a signal. When the timer ends, give one soft haptic pulse and show Done for two seconds.” Open the app's workspace in Tohseno—or the paired Companion path when it is presented—and send Evolve App. Tohseno binds the request to the exact accepted base. A stale base is refused, not silently rebased. The update follows the same inspect, build, verify, sign, install, and open path back to your phone.

CLASS 10 / 10

Keep the thread.

Your app is source, history, and a repeatable path back to your iPhone.

ONE-MINUTE CLASS

01 / 04

  1. 0:00—0:15 Your source stays on the Mac.

    Tohseno-created app folders are ordinary Git repositories you can inspect.

Do this

  1. In the app workspace, open the Source tab when you want to see what changed.
  2. Keep the app folder and its integral .tohseno record together.
  3. Treat private intentions, receipts, references, and logs as private.
  4. Remember: local creation does not publish the app or create a public Claim.
  5. Use the app again. Make the next evolution only when life gives you the reason.

No invented public state: an app on this Mac is exactly that. Publication, a Claim, a Ship, and later Updates require their own verified, activated path.

Read the 60-second script

The app is now more than an icon. Its source and accepted history stay on your Mac. A Tohseno-created app folder is an ordinary Git repository, and its integral .tohseno record keeps the safe continuity material with it. Private intentions, inline private lineage, references, receipts, and logs remain separately ignored so an ordinary commit does not publish them by accident. Keep one boundary clear: creating an app on your phone does not upload it, publish it, create a Claim, or Ship it to anyone. Public actions require their own verified and activated path; Tohseno does not invent that state. The workshop allegory ends with a thread. The important thing is not one package leaving the bench. It is your ability to use the app, notice what life asks for, and bring the same app back for the next honest change.