The Personal Computer Needs Both Memory and Hands

Malcolm Mason Rodriguez

Hatched by Malcolm Mason Rodriguez

Aug 12, 2026

13 min read

93%

0

What if the most important app on your phone is not an app at all, but a private layer that remembers what matters to you and lets you reshape every other tool around it?

Most software assumes that people should adapt themselves to fixed interfaces. We learn where the buttons are, accept the categories we are given, and work around the limitations developers decided were reasonable for everyone. The result is convenient in the short term, but strangely impoverished: our devices know enormous amounts about us, yet they rarely let us turn that knowledge into tools of our own.

This reveals a deeper tension between personalization and agency. Personalization makes software behave as though it knows us. Agency lets us decide what software should do. The first without the second produces an attentive servant that remains fundamentally unaccountable. The second without the first produces a powerful workshop that forgets everything as soon as we leave it.

The next great step in personal computing may come from combining both: a personal knowledge graph that serves as memory, joined to an end user programming environment that serves as hands. One remembers the relationships in a person’s life. The other lets the person act on those relationships without becoming a professional programmer.

The truly personal computer is not merely a computer that recognizes you. It is a computer you can teach, reshape, and govern.

The missing bridge between using software and making it

There is a familiar story about software progress. First, computers were reserved for specialists. Then graphical interfaces made them usable by ordinary people. The implicit promise was that the next stage would make them adaptable too: anyone could modify an existing tool or create a new one for a particular situation.

That promise has only partly arrived. The web came remarkably close. A person could publish a page with simple markup, adjust its appearance with styles, add behavior with scripts, and host the result cheaply. Blogging platforms and site builders extended this accessibility. They created a broad middle ground between consuming software and engineering software from scratch.

Yet most modern applications have moved in the opposite direction. They resemble appliances. You can turn them on, choose from the available settings, and perhaps install an extension, but you cannot easily reach inside them. To customize a tool through code, you typically cross a sharp boundary: install a development environment, learn a programming language, understand an interface, obtain credentials, manage data formats, and debug failures that the original application never expected you to encounter.

This is not simply a matter of technical difficulty. It is a category error in the design of computing. The interface treats a person as either a consumer or a developer, even though real life contains countless intermediate roles. A teacher may want to make a grading assistant without becoming a software engineer. A caregiver may need a medication tracker shaped around one family member’s unusual routine. A researcher may want a reading environment that distinguishes ideas to revisit from ideas to test. These are not generic feature requests. They are local, personal needs that no product team can anticipate completely.

The missing bridge is a form of programming that feels less like writing a program and more like arranging a thought. Instead of asking a person to translate a need into technical syntax, the system should let them state a rule, connect a few meaningful objects, inspect the result, and revise it in place.

For example, consider a calendar. A conventional calendar knows dates, titles, locations, and invitees. A personal calendar connected to a person’s knowledge graph might also know that a particular meeting concerns a long running project, that the project depends on a decision in an old document, that one participant prefers a short agenda, and that the user usually needs thirty minutes of preparation beforehand. End user programming would let the person turn these relationships into a working behavior: before meetings connected to this project, assemble the relevant decisions, identify unresolved questions, and reserve preparation time.

The difference is not that the second calendar has more features. It is that the user can create a new feature from personal meaning.

Memory is not personalization until it can be used

A personal knowledge graph can be understood as a structured map of a person’s world. It may contain people, places, projects, documents, preferences, commitments, observations, and the relationships among them. The crucial point is not merely that it stores facts. It stores context.

A conventional database might record that a person owns a guitar. A personal knowledge graph could distinguish the guitar they bought from a particular shop, the songs they are learning, the friend who recommended a teacher, the recording they want to reproduce, and the fact that they prefer practice sessions under twenty minutes on weekdays. These connections allow a system to interpret ambiguous requests. “Find my guitar” does not necessarily mean “find every object labeled guitar.” It may mean “show me the instrument I am currently learning on,” or “locate the recording associated with this practice plan.”

This kind of context is often presented as the foundation for a better assistant. That is true, but incomplete. Memory by itself can make software more intimate without making it more useful or more controllable. A system may know that you are planning a trip, have dietary restrictions, and dislike crowded tourist destinations. If you cannot inspect how those facts were connected, correct them, or compose them into a process, the system’s intelligence remains opaque.

The important distinction is between personalization as prediction and personalization as construction.

Personalization as prediction says: infer what I probably want and rank the options accordingly. This can make search results, recommendations, and conversations feel smoother. But the user remains dependent on the system’s hidden model. When it gets something wrong, the person may not know why.

Personalization as construction says: let me build the concepts and rules that shape the system’s behavior. I can say that “my guitar” means the instrument connected to my current practice project. I can define a “not too popular route” as one with fewer crowds, even if it takes longer. I can decide that a health reminder should consider sleep, travel, and medication timing together rather than treating each as an isolated notification.

The second form turns personal knowledge into a material for making things.

A knowledge graph without user programming is a memory that cannot fully act. User programming without personal memory is a tool that cannot fully understand. Together, they form a personal medium.

This medium would not be a single super application. It would be a layer beneath or across applications, much as the web became a shared layer for publishing and linking information. The user’s data and relationships would persist while the visible tools changed. A calendar, search system, health application, and writing environment could all draw from the same personal context, subject to explicit permissions.

From apps to personal instruments

The most useful analogy may not be the assistant, but the musical instrument. An instrument does not decide what music you should make. It provides a structured space in which your intentions can become sound. It is constrained enough to be learnable, yet expressive enough to support results its maker could not predict.

Today’s applications are often like sealed machines. They are optimized for a predefined workflow. A personal instrument would expose meaningful parts of that workflow for modification. The user could add a connection, define a transformation, or create a small action that becomes part of the environment.

Imagine a writer’s research tool. It knows that a set of notes concerns a book, that some claims depend on primary sources, that certain quotations have not been verified, and that several ideas recur across unrelated projects. The writer might create a view called “claims at risk,” which gathers statements lacking a source, ranks them by importance to the current draft, and opens the relevant evidence. Another person might create “return paths,” which shows notes not touched in six months but connected to active questions.

Neither view needs to be a permanent feature designed for millions of users. It is a small tool made for one person’s way of thinking. Its value comes precisely from being specific.

A caregiver offers another example. Suppose a parent is coordinating appointments, symptoms, school notes, insurance forms, and medication changes for a child. A generic health application may record each item, but the family’s actual need is relational: show what changed after a dosage adjustment, identify which symptoms appeared during travel, and prepare a concise summary before the next appointment. With a personal knowledge graph, these facts can be connected. With an accessible programming layer, the caregiver can create a “doctor visit brief” that gathers the relevant timeline and flags uncertainty.

The system should not require the caregiver to write loops and data queries. It might offer a visual rule builder, a natural language description that can be inspected as structured logic, or a set of small editable actions. The key is not hiding computation. The key is making computation understandable enough to participate in.

This suggests four design requirements for personal software:

First, local meaning. The system must work with concepts that matter to the user, not only categories imposed by a product. “People I owe a reply” may be more useful than “unread messages.”

Second, visible relationships. When the system makes a recommendation or takes an action, the user should be able to see which facts and connections produced it.

Third, reversible composition. Small automations should be easy to test, pause, edit, and undo. A person should be able to experiment without fearing that one mistake will corrupt their life.

Fourth, portable memory. Personal context should not disappear when a user changes applications. If the calendar owns the knowledge of a project, every other tool becomes a stranger to that project.

These requirements shift the goal from making applications smarter to making people more capable within applications.

The governance problem: whose model of you is this?

There is an obvious danger in giving software a persistent map of personal life. A knowledge graph can be powerful because it connects facts, but those connections can also expose sensitive patterns. A system that knows your relationships, routines, health concerns, financial pressures, and unfinished plans is not merely a convenient database. It is an intimate model of a person.

This makes control a central design question, not a privacy footnote. Who is allowed to add a fact? Who can change a relationship? Which applications can read a project’s context? Can the user distinguish an observation from an inference? Can they delete a conclusion without deleting the underlying evidence?

End user programming intensifies these questions in a productive way. If a person can see and modify the rules governing their tools, they can also challenge the assumptions built into those tools. A recommendation might say, in effect, “I ranked this route highly because you have marked crowded places as undesirable and accepted a longer travel time.” That explanation is not decorative. It gives the person an opportunity to say, “That preference was true for vacations, not for commuting.”

Personal software therefore needs a provenance discipline. Every important fact should have an origin. Was it entered directly by the user, imported from another service, inferred from behavior, or generated by an assistant? Every important action should have a reason. Every rule should have a scope. A preference for quiet restaurants should not silently become a universal preference for quiet workplaces.

The best personal knowledge graph would not be a perfect portrait of its owner. It would be a negotiable portrait, full of uncertainty labels, expiration dates, and competing interpretations. People change. Context changes. A fact can remain true while its relevance disappears.

This is where a new kind of literacy becomes necessary. In the same way that people learned to read and write on the web, they may need to learn how to shape their computational environment: how to define concepts, inspect connections, test rules, and manage permissions. The goal is not to turn everyone into a programmer in the professional sense. It is to make everyone somewhat fluent in the logic that increasingly mediates daily life.

A practical model for building personal tools

The intersection of memory and programmability can be made concrete through a five step loop:

Capture. Record useful facts, decisions, preferences, and observations in a form that preserves their source and time. “I prefer early meetings” is less useful than “I prefer early meetings on days when I work from home,” if that is the actual pattern.

Connect. Link facts to people, projects, places, and situations. A note about a book should be connected to the question it informs, the draft it might affect, and the person who recommended it.

Compose. Turn connections into a view, query, or rule. “Show unresolved decisions related to tomorrow’s meeting” is a composition of project, meeting, document, and status.

Execute. Let the system produce something useful: a briefing, reminder, filtered list, draft, route, or sequence of actions.

Revise. Inspect the result and change the underlying facts or rules. If the briefing is noisy, the user should be able to discover whether the problem is an incorrect relationship, a vague category, or a poorly designed rule.

This loop is more important than any particular interface. It describes a cycle in which the person remains an active participant. They are not merely feeding data into an algorithm or accepting its outputs. They are cultivating a small computational environment that reflects their evolving purposes.

You can begin without waiting for a perfect platform. Keep a structured note for one recurring problem. Give important concepts consistent names. Record why a decision was made. When a task repeats, write down the conditions that make it useful and the information it needs. Then look for ways to turn that description into a reusable view, checklist, or automation.

The immediate benefit is modest but significant: you start distinguishing between information and relationships, between a task and the context that gives it meaning. That distinction is the foundation of more capable personal software.

Key Takeaways

  • Treat personalization and programmability as complementary. A system that knows you but cannot be reshaped by you is attentive without being truly personal.

  • Build around relationships, not isolated records. Connect people, projects, decisions, preferences, and events so that tools can operate on context rather than labels alone.

  • Demand inspectable intelligence. You should be able to see why a system made a recommendation or took an action, and correct the assumptions behind it.

  • Start with one recurring friction. Create a small personal view or rule for a real problem, such as preparing for meetings, reviewing research, or coordinating care.

  • Preserve provenance and permission. Track where personal facts came from, distinguish inference from direct input, and decide which tools are allowed to use which parts of your context.

The dominant model of software asks a person to enter the world of an application. The emerging alternative could let a person bring their own world with them: their concepts, history, relationships, and ways of deciding. Applications would become instruments played by a persistent personal context rather than isolated rooms with separate memories.

That would change what it means to own a computer. Ownership would not mean merely possessing a device or paying for access to a service. It would mean having a living layer of knowledge and rules that you can inspect, carry, and revise.

The deepest promise is not that machines will finally understand us. Machines will always misunderstand us in some ways. The promise is that their misunderstandings will become visible and correctable, because the person will have a hand in shaping the model.

A truly personal computer, then, is not one that predicts your next click with uncanny accuracy. It is one that helps you turn your own understanding into working tools. The future of computing may belong less to apps that know everything about us than to environments in which we can decide what that knowledge means, and what it should make possible.

Sources

← Back to Library

Hatch New Ideas with Glasp AI 🐣

Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)

Start Hatching 🐣