{"slug": "i-built-a-study-operating-system-so-ai-would-stop-doing-my-learning-for-me", "title": "I built a study operating system so AI would stop doing my learning for me", "summary": "A developer built a 'study operating system' to ensure AI-assisted learning produces genuine understanding rather than shortcut-driven output. The system structures learning into four stages—fundamentals, academic theory, certification, and hiring challenges—and includes three execution modes for varying energy levels. The developer also uses an AI learning log to document problems, hypotheses, AI suggestions, and verification steps, emphasizing that outputs only count as learning if they can be explained, reproduced, and verified.", "body_md": "**AI disclosure:** This article is based on my real study logs and workflow. I used AI to help research DEV's publishing format, organize the draft, and revise the English. The cover image was also AI-generated under my direction. I reviewed every technical claim and made the final editorial decisions.\n\nAI made me faster at producing code. It did not automatically make me better at engineering.\n\nThat distinction became obvious when I looked at my GitHub: many repositories, several promising starts, and too few projects I could explain from database constraint to error response without reopening a chat.\n\nSo I stopped treating AI as a shortcut generator and designed a small **study operating system** around one rule:\n\nAn output only counts as learning if I can explain, reproduce, and verify the reasoning behind it.\n\nThis post describes the workflow as a system you can copy, modify, and run.\n\nMy daily learning pipeline has four stages:\n\n``` php\nfundamentals -> academic theory -> market context -> real implementation\n```\n\nIn practice:\n\n``` php\nmath -> software engineering degree -> certification -> hiring challenge\n```\n\nEach stage has a specific responsibility.\n\n| Stage | Responsibility | Example | \n|---|---|---|\n| Fundamentals | Build the mental model | Sets, relations, Boolean logic, statistics | \n| Academic theory | Name and structure the concept | Normalization, CPU architecture, distributed processing | \n| Certification | Connect theory to industry vocabulary | SQL, cloud, project management, lakehouse | \n| Hiring challenge | Produce evidence under constraints | API, tests, database schema, deployment | \n\nThe important part is not the list. It is the dependency between stages.\n\nOn a database day, for example, I can move from mathematical relations to functional dependencies, from functional dependencies to normalization, and from normalization to constraints in PostgreSQL. One concept crosses four contexts instead of becoming four disconnected study sessions.\n\nMost study plans assume a constant amount of energy. Humans do not have one.\n\nI use three execution modes:\n\n```\ntype StudyMode = {\n  duration: string;\n  goal: string;\n  evidence: string;\n};\n\nconst modes: Record<\"minimum\" | \"standard\" | \"deep\", StudyMode> = {\n  minimum: {\n    duration: \"10-15 minutes\",\n    goal: \"keep continuity\",\n    evidence: \"one recalled concept or answered question\",\n  },\n  standard: {\n    duration: \"50-60 minutes\",\n    goal: \"learn, close the source, and retrieve\",\n    evidence: \"an explanation in my own words\",\n  },\n  deep: {\n    duration: \"90 minutes\",\n    goal: \"implement and integrate\",\n    evidence: \"working code, tests, or deployment\",\n  },\n};\n```\n\nThe minimum mode is not a fake version of studying. It is fault tolerance.\n\nIf a bad day forces the system from `standard` to `minimum`, the process degrades gracefully instead of crashing to zero. Deep work remains important, but continuity protects the next session from the cost of a complete restart.\n\nUsing two AI tools without boundaries creates duplicated noise. I assign them different roles.\n\nI use it to organize:\n\nIts job is context recovery. When I return to a subject, I should not spend the first 20 minutes reconstructing the previous session.\n\nI use ChatGPT to:\n\nIts job is interaction, not authority.\n\nThe most useful file in each project may not be part of the application at all:\n\n```\ndocs/ai-log.md\n```\n\nThis is the template I use:\n\n```\n# AI Learning Log\n\n## Problem\nWhat behavior am I trying to implement or understand?\n\n## My hypothesis before asking\nWhat do I think the solution is? Where am I uncertain?\n\n## AI suggestion\nSummarize the proposed approach. Do not paste an entire conversation.\n\n## What was wrong or incomplete?\nMissing edge cases, invalid assumptions, outdated APIs, weak architecture, etc.\n\n## Verification\n- Documentation consulted:\n- Test written:\n- Manual experiment:\n- Result:\n\n## Retrieval check\nCan I explain the solution without reopening the chat?\n```\n\nThis changes the interaction. Before asking, I must state a hypothesis. After receiving an answer, I must find a way to falsify it.\n\nThe log also creates interview material. Instead of saying “I used AI to build this,” I can explain a concrete decision, a failed suggestion, the evidence that changed my mind, and the final trade-off.\n\nMy old workflow looked like this:\n\n``` php\ntask -> prompt -> generated code -> commit\n```\n\nThe new workflow is:\n\n``` php\ntask\n  -> inspect the existing system\n  -> write my hypothesis\n  -> ask a bounded question\n  -> compare the answer with docs\n  -> write or adapt the code\n  -> test the behavior\n  -> explain it from memory\n  -> commit\n```\n\nThe extra steps feel slower locally. They are faster globally because they reduce copied mistakes, architectural drift, and the need to relearn the same concept.\n\nI route each weekday to a concept family:\n\n| Day | Core theme | Implementation target | \n|---|---|---|\n| Monday | Web and dynamic logic | DOM, events, async APIs | \n| Tuesday | Databases | modeling, constraints, SQL | \n| Wednesday | Computer architecture | memory, processing, I/O | \n| Thursday | Data and distributed systems | batch, streaming, fault tolerance | \n| Friday | Project engineering | scope, risk, estimates, Definition of Done | \n| Saturday | Integration | 90-minute build/test/deploy block | \n| Sunday | Recovery | rest plus light weekly planning | \n\nThe schedule is a routing table, not a prison. If one topic needs another week, it keeps its slot. I do not add a new active project to manufacture the feeling of progress.\n\nMy biggest operational change was freezing secondary projects.\n\nI now work through real hiring challenges in sequence. Each challenge has a concept target and a Definition of Done.\n\nFor a menu and promotions API, for example, “done” does not mean that `POST /products` returned `201` once. It means:\n\nThis is where a study project begins to resemble engineering evidence.\n\nHours are easy to count and weak as a measure of learning. I track:\n\nCommits still matter, but a commit is an event. Understanding is a capability.\n\nThis system is still an experiment. My current challenge sequence increases complexity deliberately:\n\nThe hypothesis is simple: if each project reuses old fundamentals while adding one hard constraint, the portfolio becomes evidence of progression instead of a gallery of unrelated demos.\n\nAI can produce a plausible answer before I have formed a useful question. That is exactly why the workflow needs friction.\n\nThe goal is not to avoid AI. The goal is to make its contribution observable, bounded, and testable.\n\nMy current rule is:\n\n```\nAI may accelerate the feedback loop.\nIt may not silently own the reasoning.\n```\n\nIf you are also learning with AI, try adding only one thing this week: write your hypothesis before your next prompt. The quality of the question changes, and so does the ownership of the answer.\n\n**Suggested discussion prompt:** What evidence do you use to distinguish “I shipped it” from “I learned it” when AI helped write the code?", "url": "https://wpnews.pro/news/i-built-a-study-operating-system-so-ai-would-stop-doing-my-learning-for-me", "canonical_source": "https://dev.to/luisbotelho/i-built-a-study-operating-system-so-ai-would-stop-doing-my-learning-for-me-mf5", "published_at": "2026-09-08 10:04:33+00:00", "updated_at": "2026-09-08 10:33:06.241944+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "machine-learning"], "entities": ["GitHub", "PostgreSQL", "ChatGPT"], "alternates": {"html": "https://wpnews.pro/news/i-built-a-study-operating-system-so-ai-would-stop-doing-my-learning-for-me", "markdown": "https://wpnews.pro/news/i-built-a-study-operating-system-so-ai-would-stop-doing-my-learning-for-me.md", "text": "https://wpnews.pro/news/i-built-a-study-operating-system-so-ai-would-stop-doing-my-learning-for-me.txt", "jsonld": "https://wpnews.pro/news/i-built-a-study-operating-system-so-ai-would-stop-doing-my-learning-for-me.jsonld"}}