[{"data":1,"prerenderedAt":1809},["ShallowReactive",2],{"navigation":3,"blog-page":42,"blogs":52,"categories":1793},[4],{"title":5,"path":6,"stem":7,"children":8,"page":41},"Blog","\u002Fblog","blog",[9,13,17,21,25,29,33,37],{"title":10,"path":11,"stem":12},"Corporate Memories from the Early 2000s","\u002Fblog\u002F001-corporate-memories-from-2007","blog\u002F001-corporate-memories-from-2007",{"title":14,"path":15,"stem":16},"TextRoots: A New Root System for the Digital Individual","\u002Fblog\u002F501-a-new-root-system-for-the-digital-individual","blog\u002F501-a-new-root-system-for-the-digital-individual",{"title":18,"path":19,"stem":20},"TextRoots: Beyond the Editor: Anatomy of a Content OS","\u002Fblog\u002F502-beyond-the-editor","blog\u002F502-beyond-the-editor",{"title":22,"path":23,"stem":24},"TextRoots: Living Inside Your Tools: What Emacs Teaches Us About Software","\u002Fblog\u002F503-living-inside-your-tools-what-emacs-teaches-us","blog\u002F503-living-inside-your-tools-what-emacs-teaches-us",{"title":26,"path":27,"stem":28},"TextRoots: Management Committee Status Update for February 2026","\u002Fblog\u002F504-mc-status-update-feb-2026","blog\u002F504-mc-status-update-feb-2026",{"title":30,"path":31,"stem":32},"TextRoots: Management Committee Status Update for March 2026","\u002Fblog\u002F505-mc-status-update-mar-2026","blog\u002F505-mc-status-update-mar-2026",{"title":34,"path":35,"stem":36},"TextRoots: The Long Road to 'Just Text'","\u002Fblog\u002F506-the-long-road-to-just-text","blog\u002F506-the-long-road-to-just-text",{"title":38,"path":39,"stem":40},"TextRoots: What is TextRoots?","\u002Fblog\u002F507-the-elevator-pitch","blog\u002F507-the-elevator-pitch",false,{"id":43,"title":44,"body":45,"description":46,"extension":47,"links":45,"meta":48,"navigation":49,"path":6,"seo":50,"stem":7,"__hash__":51},"pages\u002Fblog.yml","Latest Articles",null,"Some of my recent thoughts on software architecture, code development, and the tech industry.","yml",{},true,{"title":44,"description":46},"Movi3Z1dt8ADoNiOGcyZDirHdnY6Xu_3B2uvnN4D6uY",[53,106,618,739,1111,1297,1585,1668],{"id":54,"title":38,"author":55,"body":59,"category":98,"date":99,"description":100,"extension":101,"image":102,"meta":103,"minRead":92,"navigation":49,"path":39,"seo":104,"stem":40,"__hash__":105},"blog\u002Fblog\u002F507-the-elevator-pitch.md",{"name":56,"avatar":57},"Simon Challinor",{"src":58,"alt":56},"\u002Fprofile\u002Fsimon-hk01-1000x1000.jpg",{"type":60,"value":61,"toc":90},"minimark",[62,67,71,74,78,81,83,87],[63,64,66],"h3",{"id":65},"the-elevator-pitch","The Elevator Pitch",[68,69,70],"p",{},"Your digital life is currently scattered across apps and \"clouds\" you don't control. If those companies change their rules or shut down, your notes and tasks can disappear or become trapped. TextRoots changes this by giving your information a home that exists wherever you want it to—on your phone, your laptop, or your own private storage. It’s a system designed to pass the \"100-year test\": because your thoughts are kept in simple, open files that aren't tied to any single company or server, they will remain readable for decades to come, regardless of what happens to the tech industry. You are building a private digital estate that belongs only to you. It’s as simple as a notebook, but as powerful as a modern computer.",[72,73],"hr",{},[63,75,77],{"id":76},"the-refined-pitch-freedom-from-lock-in","The Refined Pitch: Freedom from Lock-In",[68,79,80],{},"Most software today quietly locks you into its way of working. Your notes, tasks, and ideas live inside systems you can’t fully control, and leaving often means starting over. TextRoots takes a different approach. It keeps your information in simple, open formats that work across tools, devices, and storage options—so you’re never tied to a single app or provider. You can switch interfaces, move your data, or change how your system works without losing anything. It’s built on the idea that your digital life should adapt to you—not the other way around.",[72,82],{},[63,84,86],{"id":85},"the-refined-pitch-beyond-a-single-tool","The Refined Pitch: Beyond a Single Tool",[68,88,89],{},"Most software tries to be the one tool that does everything. But your digital life isn’t one thing—it’s writing, planning, organising, exploring, and more. TextRoots isn’t a single app trying to replace them all. It’s a flexible ecosystem of simple tools that work together around your data. You can use different interfaces for different tasks, swap parts in and out, and shape the system to fit how you think and work. Instead of forcing everything into one rigid tool, TextRoots gives you a set of building blocks that grow with you over time.",{"title":91,"searchDepth":92,"depth":92,"links":93},"",2,[94,96,97],{"id":65,"depth":95,"text":66},3,{"id":76,"depth":95,"text":77},{"id":85,"depth":95,"text":86},"textroots","2026-04-27","Ok so here's the Elevator Pitch ... give me just 2 minutes","md","\u002Fimages\u002Farticle-501-tr-pcos-01.png",{},{"title":38,"description":100},"4F7ZWZjyRddVJK3A_GZovvICpc0XjIGOzeM-kHhyhmA",{"id":107,"title":34,"author":108,"body":110,"category":98,"date":614,"description":118,"extension":101,"image":102,"meta":615,"minRead":92,"navigation":49,"path":35,"seo":616,"stem":36,"__hash__":617},"blog\u002Fblog\u002F506-the-long-road-to-just-text.md",{"name":56,"avatar":109},{"src":58,"alt":56},{"type":60,"value":111,"toc":603},[112,116,119,126,141,145,148,151,167,170,173,176,185,195,198,204,207,215,219,222,225,228,239,242,257,260,263,267,270,273,278,281,295,298,301,306,309,322,325,329,332,335,338,341,344,358,361,364,375,387,391,394,397,404,407,424,427,438,441,445,448,453,467,470,477,480,483,489,493,496,502,509,512,526,529,543,546,551,555,558,578,581,584,587,590,593,596,601],[63,113,115],{"id":114},"the-long-road-to-just-text","The Long Road to “Just Text”",[68,117,118],{},"For many years now I’ve kept digital notes.",[68,120,121,122,125],{},"And for most of those years, I’ve had the same quiet frustration:",[123,124],"br",{},"\nthere must be a better way to manage all of this.",[68,127,128,129,131,132,136,137,140],{},"Not more features. Not more AI.",[123,130],{},"\nJust something ",[133,134,135],"em",{},"more flexible",". More ",[133,138,139],{},"mine",".",[63,142,144],{"id":143},"the-illusion-of-the-tool","The Illusion of the Tool",[68,146,147],{},"Around 2010, I started using Evernote.",[68,149,150],{},"At the time, it felt like magic.",[152,153,154,158,161,164],"ul",{},[155,156,157],"li",{},"Desktop and web apps",[155,159,160],{},"Seamless syncing",[155,162,163],{},"Notes available everywhere",[155,165,166],{},"Fast, reliable, polished",[68,168,169],{},"I even paid for it.",[68,171,172],{},"And for a while, it genuinely improved how I worked.",[68,174,175],{},"But slowly, something became clear:",[177,178,179],"blockquote",{},[68,180,181,182,184],{},"The value wasn’t in the software.",[123,183],{},"\nThe value was in my notes.",[68,186,187,188,191,192,194],{},"Evernote didn’t ",[133,189,190],{},"create"," anything for me.",[123,193],{},"\nIt just made my own thoughts more accessible.",[68,196,197],{},"And once I saw that, it was hard to unsee.",[68,199,200,201,203],{},"Because if that’s true…",[123,202],{},"\nthen what am I really paying for?",[68,205,206],{},"At some point, a simple idea took hold:",[177,208,209],{},[68,210,211,212,214],{},"I could probably get most of this from a folder of text files",[123,213],{},"\nand a decent editor.",[63,216,218],{"id":217},"back-to-simplicity","Back to Simplicity",[68,220,221],{},"That realization pulled me in a different direction.",[68,223,224],{},"I started spending more time in the terminal.",[68,226,227],{},"There’s something grounding about the CLI:",[152,229,230,233,236],{},[155,231,232],{},"no distractions",[155,234,235],{},"no hidden layers",[155,237,238],{},"no ambiguity",[68,240,241],{},"You always know where you are.",[68,243,244,245,247,248,252,253,256],{},"I explored Linux more deeply.",[123,246],{},"\nI used tools like ",[249,250,251],"code",{},"vim",", ",[249,254,255],{},"nano",", and other terminal editors.",[68,258,259],{},"It felt… honest.",[68,261,262],{},"But still, something was missing.",[63,264,266],{"id":265},"the-emacs-moment","The Emacs Moment",[68,268,269],{},"Then I discovered Emacs.",[68,271,272],{},"And for a while, I thought:",[177,274,275],{},[68,276,277],{},"This is it. This is the answer.",[68,279,280],{},"The power was unbelievable.",[152,282,283,286,289,292],{},[155,284,285],{},"Fully programmable",[155,287,288],{},"Deeply customizable",[155,290,291],{},"Keyboard-driven everything",[155,293,294],{},"Org-mode for tasks, notes, calendars, planning",[68,296,297],{},"No mouse. No friction. Total control.",[68,299,300],{},"And the most surprising part?",[177,302,303],{},[68,304,305],{},"This problem had already been solved… in the 1980s.",[68,307,308],{},"I spent weeks configuring it.",[68,310,311,312,314,315,317,318,321],{},"Tweaking keybindings.",[123,313],{},"\nLearning bits of Lisp.",[123,316],{},"\nBuilding what felt like a ",[133,319,320],{},"personal operating system"," for my life.",[68,323,324],{},"It was incredible.",[63,326,328],{"id":327},"the-reality-check","The Reality Check",[68,330,331],{},"But then reality set in.",[68,333,334],{},"I still love Emacs.",[68,336,337],{},"But…",[68,339,340],{},"It’s just too complicated.",[68,342,343],{},"Every time I come back to it, there’s a ramp-up cost:",[152,345,346,349,352,355],{},[155,347,348],{},"forgotten keybindings",[155,350,351],{},"obscure commands",[155,353,354],{},"config drift",[155,356,357],{},"“how did I set this up again?”",[68,359,360],{},"It’s powerful—but fragile.",[68,362,363],{},"And beyond that:",[152,365,366,369,372],{},[155,367,368],{},"It’s not designed for multiple devices",[155,370,371],{},"It’s not built for mobile",[155,373,374],{},"Syncing feels bolted on, not native",[68,376,377,378,381,383,384,140],{},"It started to feel less like a tool I could ",[133,379,380],{},"live in",[123,382],{},"\nand more like a system I had to constantly ",[133,385,386],{},"maintain",[63,388,390],{"id":389},"the-missing-piece","The Missing Piece",[68,392,393],{},"That’s when the real gap became obvious.",[68,395,396],{},"There wasn’t a single tool missing.",[68,398,399,400,403],{},"There was an entire ",[133,401,402],{},"ecosystem"," missing.",[68,405,406],{},"What I actually wanted was something like this:",[152,408,409,412,415,418,421],{},[155,410,411],{},"Seamless sync across devices",[155,413,414],{},"Works offline and online",[155,416,417],{},"Multiple storage options (local, cloud, decentralized)",[155,419,420],{},"Multiple interfaces (CLI, desktop, mobile, web)",[155,422,423],{},"Modular, extensible, adaptable",[68,425,426],{},"But most importantly:",[177,428,429],{},[68,430,431,432,434,435,437],{},"No proprietary formats",[123,433],{},"\nNo vendor lock-in",[123,436],{},"\nNo hidden constraints",[68,439,440],{},"Just text.",[63,442,444],{"id":443},"everything-is-text","Everything is Text",[68,446,447],{},"At the core of it all is a very simple idea:",[177,449,450],{},[68,451,452],{},"Everything is just text.",[152,454,455,458,461,464],{},[155,456,457],{},"Your notes → text",[155,459,460],{},"Your tasks → text",[155,462,463],{},"Your configuration → text",[155,465,466],{},"Your system → text",[68,468,469],{},"The system doesn’t need to “understand” your data in a proprietary way.",[68,471,472,473,140],{},"It just needs to ",[474,475,476],"strong",{},"orchestrate it",[68,478,479],{},"That’s the shift.",[68,481,482],{},"Not from one app to another…",[68,484,485,486],{},"…but from ",[474,487,488],{},"apps → systems",[63,490,492],{"id":491},"enter-textroots","Enter TextRoots",[68,494,495],{},"TextRoots comes from that exact realization.",[68,497,498,499,501],{},"Not as “another editor”",[123,500],{},"\n—but as something closer to a:",[177,503,504],{},[68,505,506],{},[474,507,508],{},"Personal Content Operating System",[68,510,511],{},"A system where:",[152,513,514,517,520,523],{},[155,515,516],{},"content is modular",[155,518,519],{},"storage is interchangeable",[155,521,522],{},"interfaces are flexible",[155,524,525],{},"and everything flows through simple text",[68,527,528],{},"Where you can:",[152,530,531,534,537,540],{},[155,532,533],{},"edit locally",[155,535,536],{},"sync globally",[155,538,539],{},"switch interfaces",[155,541,542],{},"compose your own workflows",[68,544,545],{},"And most importantly:",[177,547,548],{},[68,549,550],{},"You own your data. Completely.",[63,552,554],{"id":553},"closing-thought","Closing Thought",[68,556,557],{},"Looking back, the journey makes sense:",[152,559,560,566,572],{},[155,561,562,563],{},"Evernote showed the ",[133,564,565],{},"convenience",[155,567,568,569],{},"The CLI showed the ",[133,570,571],{},"simplicity",[155,573,574,575],{},"Emacs showed the ",[133,576,577],{},"power",[68,579,580],{},"But none of them combined all three.",[68,582,583],{},"That’s the gap TextRoots is trying to fill.",[68,585,586],{},"Not by replacing everything…",[68,588,589],{},"…but by sitting underneath it all.",[68,591,592],{},"Quietly.",[68,594,595],{},"As the system that lets you finally feel like:",[177,597,598],{},[68,599,600],{},"your thoughts are truly yours again.",[72,602],{},{"title":91,"searchDepth":92,"depth":92,"links":604},[605,606,607,608,609,610,611,612,613],{"id":114,"depth":95,"text":115},{"id":143,"depth":95,"text":144},{"id":217,"depth":95,"text":218},{"id":265,"depth":95,"text":266},{"id":327,"depth":95,"text":328},{"id":389,"depth":95,"text":390},{"id":443,"depth":95,"text":444},{"id":491,"depth":95,"text":492},{"id":553,"depth":95,"text":554},"2026-04-23",{},{"title":34,"description":118},"Pyozj4D9DKpa0aI4NqI2Yvo_dOn1ks6AGA2mSQ14RVw",{"id":619,"title":10,"author":620,"body":622,"category":731,"date":732,"description":733,"extension":101,"image":734,"meta":735,"minRead":736,"navigation":49,"path":11,"seo":737,"stem":12,"__hash__":738},"blog\u002Fblog\u002F001-corporate-memories-from-2007.md",{"name":56,"avatar":621},{"src":58,"alt":56},{"type":60,"value":623,"toc":723},[624,627,630,635,640,643,650,654,657,663,666,672,676,679,685,690,694,697,704,708,711,717],[68,625,626],{},"I've many fond memories of my early career in the corporate world but it also provided a dose of realism regarding unchecked capatalism that led to my ethos in later life.  I was indeed given fantasic opportunities to travel and to meet talented colleagues in diverse parts of the world and I'm greatful for those chapters.",[68,628,629],{},"In this article, I walk through some of my career and what was happening on the global stage at the time.  This story, I believe, shaped who I am and what I stand for now, as a software engineer and developer, with a hope that technology can be used to impact lives in positive ways.",[177,631,632],{},[68,633,634],{},"\"One of my bosses once called me a Cororate Backpacker, I've always taken it as a compliment but I'm not sure if it was meant as one at the time\"",[636,637,639],"h2",{"id":638},"abn-amro-london-and-amsterdam","ABN Amro, London and Amsterdam",[68,641,642],{},"I worked at ABN AMRO from 2003 to 2007 and I wrote software that helped the bank produce Management Information \u002F Analytics at all levels.  It was a period defined by the abundant liquidity and supreme confidence of the pre-crisis era. I took the photo below of the ABN Amsterdam office in Amsterdam South just before I left in 2007. By that time, the first cracks were already forming in the machinery of modern finance, though the prevailing optimism had not yet broken. It is a striking irony that a bank which had thrived so thoroughly during the credit boom became part of a transaction that amplified exposure just as the cycle turned: the massive consortium takeover where Fortis, RBS, and Santander each took pieces of ABN AMRO, a deal that would soon be remembered as one of the most ill-timed in banking history.",[68,644,645],{},[646,647],"img",{"alt":648,"src":649,"title":648},"ABN Amro, Amsterdam in 2007","\u002Fhero\u002Fabn-amro-in-2007.jpg",[63,651,653],{"id":652},"hsbc-hong-kong","HSBC, Hong Kong",[68,655,656],{},"I joined HSBC in Hong Kong writing software to help measure capital adequacy and report this to the Hong Kong Monetary Authority (HKMA), at a time when the city was riding a powerful wave of growth and reintegration with mainland China. The post-SARS rebound had given way to renewed confidence, capital was flowing freely, and Hong Kong’s role as a gateway to China was becoming more entrenched by the year. Beneath that momentum, though, regulators were steadily sharpening their focus, aligning with Basel frameworks and paying closer attention to the resilience of banks in an increasingly interconnected system — a quiet acknowledgement that the calm conditions of the mid-2000s might not last forever.",[68,658,659],{},[646,660],{"alt":661,"src":662,"title":661},"Simon, with HSBC, Hong Kong in 2007","\u002Fhero\u002Fsimon-with-hsbc-2008.jpg",[68,664,665],{},"The skyline looked very different in 2007, far less cramped than it is today. Although from this photo you can see the International Finance Centre (IFC2), which stood as the undisputed tallest building in the city at that time. It wouldn't be eclipsed until 2010, when the International Commerce Centre (ICC) was completed across the water in West Kowloon. Standing at 484 metres, the ICC finally shifted the skyline’s center of gravity, but in 2007, the view was still dominated by the sheer verticality of the IFC2—a perfect glass-and-steel symbol of the pre-crisis peak.",[68,667,668],{},[646,669],{"alt":670,"src":671,"title":670},"Hong Kong, Admiralty in 2007","\u002Fhero\u002Fhk-in-2007.jpg",[63,673,675],{"id":674},"aon-asia-hong-kong","Aon Asia, Hong Kong",[68,677,678],{},"The Global Financial Crisis had reshaped the entire financial services landscape by the time I joined Aon in 2010. Insurance — long seen as the quieter, more conservative cousin of banking — had been thrust into the spotlight. AIG's near-collapse had made clear that the industry was far more entangled with systemic risk than anyone had comfortably admitted. It was against this backdrop that I arrived at Aon, then the world's largest insurance brokerage, tasked once again with improving reporting and analytics. The brief was familiar: make sense of the data, build the tools, surface the insights. I set to work writing the software.",[68,680,681],{},[646,682],{"alt":683,"src":684,"title":683},"Simon, with Aon Asia in Hong Kong 2012","\u002Fimages\u002Fsimon-Aon-China-2012.jpg",[68,686,687],{},[646,688],{"alt":683,"src":689,"title":683},"\u002Fimages\u002Fsimon-Aon-China-2012-(2).jpg",[63,691,693],{"id":692},"aon-global-risk-insights-asia-pacific-syndney-australia","Aon Global Risk Insights, Asia Pacific, Syndney Australia",[68,695,696],{},"In 2013, Aon gave me the opportunity to work with their Australian Global Risk Insights team in Sydney. It felt like a pivot in every sense: a new city, a different rhythm, and a front-row seat to how “risk” looks when you zoom out beyond one balance sheet or one market. I built databases and delivered a heavy lift of reporting and analytics for Aon’s strategic insurance partners at the time—turning messy, fragmented information into something you could actually use in conversations about exposure, resilience, and where the next shock might come from. And 2013 had no shortage of reminders, from major floods and severe storms to the growing realisation that business interruption and supply chains were becoming board-level risks, not operational footnotes.",[68,698,699],{},[646,700],{"alt":701,"src":702,"title":703},"My Desk, with Aon Australia 2013","\u002Fimages\u002Fmy-desk-aon-syndney.jpg","My Desk, with Aon Australia in 2013",[63,705,707],{"id":706},"aon-inpoint-asia-pacific-hong-kong-syndney-and-singapore","Aon Inpoint, Asia Pacific, Hong Kong, Syndney and Singapore",[68,709,710],{},"I had missed Hong Kong while I was in Australia—the density, the pace, the sense that everything important seemed to pass through the city at some point. In 2014, Aon gave me the chance to return in a consultancy role within Aon Inpoint, based back in Hong Kong but travelling frequently to Sydney and Singapore. It was a period of quiet geographic shift in the insurance world, with more activity and decision-making gradually moving toward Singapore, drawn by its regulatory clarity and growing status as a regional hub. My work followed that flow: airports, hotel lobbies, and client offices becoming a kind of extended workplace, the same conversations about risk and analytics playing out across different cities and contexts. There were moments of contrast too—flying in from Hong Kong’s vertical intensity to Singapore’s more ordered calm, and staying in places like the Fullerton, where the pace slowed just enough to take stock before the next meeting or the next flight.",[68,712,713],{},[646,714],{"alt":715,"src":716,"title":715},"Singapore, with Aon Inpoint 2014","\u002Fimages\u002Fsingapore-with-aon-01.jpg",[68,718,719],{},[646,720],{"alt":721,"src":722,"title":721},"Living in Hong Kong, 2014","\u002Fimages\u002Fliving-in-hk-2014.jpg",{"title":91,"searchDepth":92,"depth":92,"links":724},[725],{"id":638,"depth":92,"text":639,"children":726},[727,728,729,730],{"id":652,"depth":95,"text":653},{"id":674,"depth":95,"text":675},{"id":692,"depth":95,"text":693},{"id":706,"depth":95,"text":707},"sdc","2026-04-20","After finding a stash of old photos I was inspired to reminisce on the nostagia of corporate life at the turn of the century.","\u002Fimages\u002Fhk-skyline-in-2007.jpg",{},4,{"title":10,"description":733},"a4COcuwp3frCoMLglCkaY8iBWBbILsI4zGcKXflmJsQ",{"id":740,"title":22,"author":741,"body":743,"category":98,"date":732,"description":1107,"extension":101,"image":102,"meta":1108,"minRead":92,"navigation":49,"path":23,"seo":1109,"stem":24,"__hash__":1110},"blog\u002Fblog\u002F503-living-inside-your-tools-what-emacs-teaches-us.md",{"name":56,"avatar":742},{"src":58,"alt":56},{"type":60,"value":744,"toc":1096},[745,749,752,758,761,767,770,772,776,779,782,785,810,813,818,821,823,827,830,833,847,850,853,856,861,867,873,875,879,882,904,907,913,915,919,922,925,936,939,942,945,958,960,964,967,970,984,987,1001,1004,1006,1010,1013,1016,1030,1033,1036,1043,1045,1049,1052,1055,1058,1061,1066,1068,1072,1075,1086,1089],[63,746,748],{"id":747},"a-different-kind-of-software","A Different Kind of Software",[68,750,751],{},"There are tools you use…",[68,753,754,755,140],{},"…and then there are tools you ",[474,756,757],{},"live inside",[68,759,760],{},"For decades, Emacs has been one of the clearest examples of the latter. Not just an editor, but an environment — one that users shape, extend, and inhabit over years.",[68,762,763,764,766],{},"It is not the most modern tool.",[123,765],{},"\nIt is not the easiest to learn.",[68,768,769],{},"And yet, it endures.",[72,771],{},[63,773,775],{"id":774},"why-people-love-emacs","Why People Love Emacs",[68,777,778],{},"To understand Emacs, you have to look beyond features.",[68,780,781],{},"People don’t love Emacs because it edits text well. Many tools do that.",[68,783,784],{},"They love it because:",[152,786,787,793,798,804],{},[155,788,789,790],{},"It is ",[474,791,792],{},"infinitely extensible",[155,794,789,795],{},[474,796,797],{},"transparent and hackable",[155,799,800,801],{},"It becomes ",[474,802,803],{},"personal over time",[155,805,806,807],{},"It allows users to build workflows that ",[133,808,809],{},"don’t exist yet",[68,811,812],{},"At its core, Emacs is built around a simple but powerful idea:",[177,814,815],{},[68,816,817],{},"The user should be able to reshape the tool while using it.",[68,819,820],{},"Through Emacs Lisp, almost every part of the system can be inspected, modified, or replaced. The boundary between “user” and “developer” becomes blurred.",[72,822],{},[63,824,826],{"id":825},"org-mode-when-text-becomes-a-system","Org Mode: When Text Becomes a System",[68,828,829],{},"Org mode takes this even further.",[68,831,832],{},"A plain text file becomes:",[152,834,835,838,841,844],{},[155,836,837],{},"a task manager",[155,839,840],{},"a calendar",[155,842,843],{},"a knowledge base",[155,845,846],{},"a programming environment",[68,848,849],{},"All within the same document.",[68,851,852],{},"But the real breakthrough isn’t the features.",[68,854,855],{},"It’s this:",[177,857,858],{},[68,859,860],{},"The structure and behaviour of the system are embedded directly in the text.",[68,862,863,864,866],{},"A heading isn’t just a heading.",[123,865],{},"\nA checkbox isn’t just a checkbox.",[68,868,869,870,140],{},"They are ",[474,871,872],{},"interfaces into a larger system",[72,874],{},[63,876,878],{"id":877},"the-philosophy-behind-it","The Philosophy Behind It",[68,880,881],{},"Emacs follows a philosophy that feels increasingly rare in modern software:",[152,883,884,889,894,899],{},[155,885,886],{},[474,887,888],{},"Longevity over trendiness",[155,890,891],{},[474,892,893],{},"User control over convenience",[155,895,896],{},[474,897,898],{},"Transparency over abstraction",[155,900,901],{},[474,902,903],{},"Text as the universal interface",[68,905,906],{},"This is why Emacs users stay for years — even decades.",[68,908,909,910,140],{},"Not because it’s perfect, but because it becomes ",[133,911,912],{},"theirs",[72,914],{},[63,916,918],{"id":917},"the-trade-off","The Trade-Off",[68,920,921],{},"Of course, this power comes at a cost.",[68,923,924],{},"Emacs is known for:",[152,926,927,930,933],{},[155,928,929],{},"a steep learning curve",[155,931,932],{},"complex configuration",[155,934,935],{},"an interface that can feel dated",[68,937,938],{},"For many people, it is simply too much.",[68,940,941],{},"And that’s important.",[68,943,944],{},"Because it highlights a tension that still exists today:",[177,946,947],{},[68,948,949,950,953,954,957],{},"How do you build a system that is both ",[474,951,952],{},"powerful"," and ",[474,955,956],{},"approachable","?",[72,959],{},[63,961,963],{"id":962},"a-parallel-path","A Parallel Path",[68,965,966],{},"TextRoots did not start as an Emacs-inspired project.",[68,968,969],{},"But over time, similar ideas began to emerge:",[152,971,972,975,978,981],{},[155,973,974],{},"Content as structured, living objects",[155,976,977],{},"Multiple views over the same underlying data",[155,979,980],{},"A system that can be extended from within",[155,982,983],{},"Logic that can be attached directly to content",[68,985,986],{},"What Emacs achieves through Lisp, TextRoots approaches through:",[152,988,989,992,995,998],{},[155,990,991],{},"pipelines",[155,993,994],{},"registries",[155,996,997],{},"content objects",[155,999,1000],{},"and a modular runtime",[68,1002,1003],{},"Different tools. Same direction.",[72,1005],{},[63,1007,1009],{"id":1008},"not-replacing-translating","Not Replacing — Translating",[68,1011,1012],{},"TextRoots is not trying to replace Emacs.",[68,1014,1015],{},"Instead, it is exploring a similar philosophy in a different context:",[152,1017,1018,1021,1024,1027],{},[155,1019,1020],{},"Local-first, but web-native",[155,1022,1023],{},"Programmable, but structured",[155,1025,1026],{},"Extensible, but modular",[155,1028,1029],{},"Powerful, but incrementally discoverable",[68,1031,1032],{},"If Emacs is a “Lisp Machine for text”…",[68,1034,1035],{},"Then TextRoots is an attempt at a:",[177,1037,1038],{},[68,1039,1040],{},[474,1041,1042],{},"Content Operating System for the modern web",[72,1044],{},[63,1046,1048],{"id":1047},"looking-forward","Looking Forward",[68,1050,1051],{},"There is a reason Emacs has lasted.",[68,1053,1054],{},"It treats users not as consumers, but as participants.",[68,1056,1057],{},"It assumes that over time, people want more control, not less.",[68,1059,1060],{},"TextRoots is built on a similar belief:",[177,1062,1063],{},[68,1064,1065],{},"Your tools should adapt to you — not the other way around.",[72,1067],{},[63,1069,1071],{"id":1070},"what-comes-next","What Comes Next",[68,1073,1074],{},"So far, we’ve explored:",[152,1076,1077,1080,1083],{},[155,1078,1079],{},"Why data ownership matters",[155,1081,1082],{},"What a Content Operating System looks like",[155,1084,1085],{},"Where our inspiration comes from",[68,1087,1088],{},"Next, we turn to infrastructure.",[68,1090,1091,1092,1095],{},"We’ll explore how protocols like ",[474,1093,1094],{},"IPFS"," allow content to exist independently of any single machine, server, or provider — and why that changes everything.",{"title":91,"searchDepth":92,"depth":92,"links":1097},[1098,1099,1100,1101,1102,1103,1104,1105,1106],{"id":747,"depth":95,"text":748},{"id":774,"depth":95,"text":775},{"id":825,"depth":95,"text":826},{"id":877,"depth":95,"text":878},{"id":917,"depth":95,"text":918},{"id":962,"depth":95,"text":963},{"id":1008,"depth":95,"text":1009},{"id":1047,"depth":95,"text":1048},{"id":1070,"depth":95,"text":1071},"Why Emacs has endured for decades, what makes its community unique, and how its philosophy is shaping the evolution of TextRoots.",{},{"title":22,"description":1107},"fpTw0RgYv8pmGSzCzUP9rkYtuLdkb2ZeJ_ce5Zz6jhY",{"id":1112,"title":18,"author":1113,"body":1115,"category":98,"date":1292,"description":1293,"extension":101,"image":102,"meta":1294,"minRead":92,"navigation":49,"path":19,"seo":1295,"stem":20,"__hash__":1296},"blog\u002Fblog\u002F502-beyond-the-editor.md",{"name":56,"avatar":1114},{"src":58,"alt":56},{"type":60,"value":1116,"toc":1284},[1117,1121,1124,1127,1130,1132,1136,1139,1146,1167,1170,1172,1176,1182,1185,1205,1208,1210,1214,1217,1220,1240,1251,1253,1257,1263,1266,1269,1271,1275,1278],[63,1118,1120],{"id":1119},"the-tip-of-the-iceberg","The Tip of the Iceberg",[68,1122,1123],{},"When you look at TextRoots for the first time, it looks like an editor. You see a cursor, some Markdown text, and perhaps a file tree.",[68,1125,1126],{},"But in a Personal Content Operating System (pCOS), the editor is just one \"Surface.\" It is the tip of an iceberg.",[68,1128,1129],{},"To understand why TextRoots is different, we have to look below the waterline—at the orchestration layer that makes true data sovereignty possible.",[72,1131],{},[63,1133,1135],{"id":1134},"decoupling-the-great-separation","Decoupling: The Great Separation",[68,1137,1138],{},"Traditional apps are \"Monolithic.\" The database, the logic, and the UI are all tightly knotted together. If you want to use the data in a different UI, you can't. If you want to move the data to a different database, the UI breaks.",[68,1140,1141,1142,1145],{},"TextRoots follows the ",[474,1143,1144],{},"Headless"," philosophy. We’ve enforced a strict decoupling between three distinct layers:",[1147,1148,1149,1155,1161],"ol",{},[155,1150,1151,1154],{},[474,1152,1153],{},"The Storage Layer (The Roots):"," Where the bytes actually sit—whether that’s your local hard drive, a WebDAV server, or a decentralized IPFS node.",[155,1156,1157,1160],{},[474,1158,1159],{},"The Orchestration Layer (The Kernel):"," The \"brain\" that manages how content is parsed, transformed, and cached.",[155,1162,1163,1166],{},[474,1164,1165],{},"The UI Surface (The Interaction):"," The specific \"mini-app\" or editor you are using right now.",[68,1168,1169],{},"By separating these, we ensure that the \"Truth\" of your content never changes, regardless of how you choose to look at it or where you choose to store it.",[72,1171],{},[63,1173,1175],{"id":1174},"the-buffer-stack-data-in-motion","The Buffer Stack: Data in Motion",[68,1177,1178,1179,140],{},"One of the core technical innovations in TextRoots is the ",[474,1180,1181],{},"Buffer Stack",[68,1183,1184],{},"Inspired by the \"Buffers\" in Emacs, we don't just open a file; we create a living representation of that content in memory. As data moves from the disk to your screen, it passes through a series of \"Hydration\" steps:",[152,1186,1187,1193,1199],{},[155,1188,1189,1192],{},[474,1190,1191],{},"The Sidecar Cache:"," Provides instant metadata (summaries, word counts) without needing to load the whole file.",[155,1194,1195,1198],{},[474,1196,1197],{},"The Parser:"," Breaks a raw text file into a hierarchy of \"Content Objects.\"",[155,1200,1201,1204],{},[474,1202,1203],{},"The Reactive Layer:"," Ensures that if you edit a title in one view, it updates instantly across every other open lens.",[68,1206,1207],{},"This \"Stack\" architecture means we can add new features—like encryption, auto-tagging, or AI summarization—simply by sliding a new layer into the stack.",[72,1209],{},[63,1211,1213],{"id":1212},"abstract-elt-personal-data-pipelines","Abstract ELT: Personal Data Pipelines",[68,1215,1216],{},"In the enterprise world, \"ELT\" (Extract, Load, Transform) is how big companies manage massive data sets. In TextRoots, we apply this to the individual.",[68,1218,1219],{},"Think about a single Markdown file that contains a project plan, five tasks, and a meeting note. To a normal editor, that’s just one long string of text. To the TextRoots pCOS:",[1147,1221,1222,1228,1234],{},[155,1223,1224,1227],{},[474,1225,1226],{},"Extract:"," The system identifies those five tasks as unique \"Content Objects.\"",[155,1229,1230,1233],{},[474,1231,1232],{},"Load:"," It loads them into a unified task registry.",[155,1235,1236,1239],{},[474,1237,1238],{},"Transform:"," It presents those tasks in a specialized \"Shopping List\" UI, while the meeting note stays in the \"Markdown Editor.\"",[68,1241,1242,1243,1246,1247,1250],{},"This is the power of a Content OS: the system understands the ",[133,1244,1245],{},"structure"," of your thoughts, not just the ",[133,1248,1249],{},"location"," of your files.",[72,1252],{},[63,1254,1256],{"id":1255},"infrastructure-over-interface","Infrastructure Over Interface",[68,1258,1259,1260],{},"The tech world is obsessed with \"UX\" and \"UI.\" While we care about those things, the Management Committee at TextRoots prioritizes ",[474,1261,1262],{},"Infrastructure.",[68,1264,1265],{},"A beautiful UI is a temporary coat of paint. A robust infrastructure is a permanent asset.",[68,1267,1268],{},"By building a system that treats content as a first-class citizen—independently of how it's viewed—we are building a tool that doesn't just help you write; it helps you manage the entire lifecycle of your digital estate.",[72,1270],{},[63,1272,1274],{"id":1273},"whats-next-the-protocol-pivot","What’s Next: The Protocol Pivot",[68,1276,1277],{},"Now that we've seen the \"Anatomy\" of the system, it's time to talk about the \"Network.\"",[68,1279,1280,1281,1283],{},"In our next article, we will go deep into ",[474,1282,1094],{}," and why content-addressing (the \"What\") is fundamentally superior to location-addressing (the \"Where\") for a sovereign digital life.",{"title":91,"searchDepth":92,"depth":92,"links":1285},[1286,1287,1288,1289,1290,1291],{"id":1119,"depth":95,"text":1120},{"id":1134,"depth":95,"text":1135},{"id":1174,"depth":95,"text":1175},{"id":1212,"depth":95,"text":1213},{"id":1255,"depth":95,"text":1256},{"id":1273,"depth":95,"text":1274},"2026-04-10","Why the Markdown editor is just the tip of the iceberg. A look inside the orchestration layer, the Buffer Stack, and the decoupling of interface from infrastructure.",{},{"title":18,"description":1293},"onG_VCPTDC_EglsiYIJQXLZFBgwxIdMaC7Zl6b1nBxc",{"id":1298,"title":14,"author":1299,"body":1301,"category":98,"date":1580,"description":1581,"extension":101,"image":102,"meta":1582,"minRead":92,"navigation":49,"path":15,"seo":1583,"stem":16,"__hash__":1584},"blog\u002Fblog\u002F501-a-new-root-system-for-the-digital-individual.md",{"name":56,"avatar":1300},{"src":58,"alt":56},{"type":60,"value":1302,"toc":1571},[1303,1306,1309,1312,1315,1317,1321,1324,1331,1340,1343,1346,1352,1354,1358,1361,1368,1371,1374,1377,1384,1387,1390,1396,1398,1402,1405,1417,1423,1426,1429,1437,1440,1464,1467,1469,1473,1480,1483,1486,1489,1496,1507,1509,1513,1516,1519,1525,1528,1534,1536,1538,1541,1544,1558,1561,1566,1569],[63,1304,14],{"id":1305},"textroots-a-new-root-system-for-the-digital-individual",[68,1307,1308],{},"We don’t usually think about where our thoughts live.",[68,1310,1311],{},"We open an app, type something down, maybe organise it into folders or tags, and move on. Notes, ideas, plans, fragments of thinking — all captured in tools that feel permanent.",[68,1313,1314],{},"But they aren’t.",[72,1316],{},[63,1318,1320],{"id":1319},"the-trap-we-dont-see","The Trap We Don’t See",[68,1322,1323],{},"Modern software has trained us into a quiet dependency.",[68,1325,1326,1327,1330],{},"Our personal knowledge — journals, research, tasks, creative work — increasingly lives inside ",[474,1328,1329],{},"closed systems",". These systems are convenient, polished, and powerful… but they come with an unspoken condition:",[177,1332,1333],{},[68,1334,1335,1336,1339],{},"Your data exists ",[133,1337,1338],{},"within"," the application, not independently of it.",[68,1341,1342],{},"If the product changes direction, introduces restrictions, raises prices, or disappears entirely, your data becomes harder to access, harder to move, and in some cases, effectively trapped.",[68,1344,1345],{},"Even when export options exist, they are often partial, lossy, or impractical at scale.",[68,1347,1348,1349,140],{},"We’ve outsourced not just storage, but ",[474,1350,1351],{},"control",[72,1353],{},[63,1355,1357],{"id":1356},"the-100-year-test","The 100-Year Test",[68,1359,1360],{},"There’s a simple question we can ask of any system that holds our thoughts:",[177,1362,1363],{},[68,1364,1365],{},[133,1366,1367],{},"Will this still be readable in 100 years?",[68,1369,1370],{},"Not just technically accessible — but understandable, portable, and independent of any single company or runtime.",[68,1372,1373],{},"Most modern tools fail this test.",[68,1375,1376],{},"But one format consistently passes:",[177,1378,1379],{},[68,1380,1381],{},[474,1382,1383],{},"Plain text.",[68,1385,1386],{},"Markdown. Plain Text. JSON. Org Mode. Simple, human-readable structures.",[68,1388,1389],{},"These formats don’t require a specific app to exist. They don’t depend on a vendor. They can be opened, parsed, transformed, and understood by any future system.",[68,1391,1392,1393,140],{},"Plain text is not just a format — it is a ",[474,1394,1395],{},"survival strategy",[72,1397],{},[63,1399,1401],{"id":1400},"from-app-to-system","From App to System",[68,1403,1404],{},"TextRoots began with a simple frustration:",[177,1406,1407],{},[68,1408,1409,1410,1413,1414,957],{},"Why does every tool try to ",[133,1411,1412],{},"own"," the content instead of just ",[133,1415,1416],{},"working with it",[68,1418,1419,1420,140],{},"What started as a modular editor quickly revealed a deeper problem. The issue wasn’t the editor — it was the ",[474,1421,1422],{},"lack of an underlying system",[68,1424,1425],{},"So the perspective shifted.",[68,1427,1428],{},"Instead of building another note-taking app, TextRoots is evolving into something else entirely:",[177,1430,1431],{},[68,1432,1433,1434],{},"A ",[474,1435,1436],{},"Personal Content Operating System (pCOS)",[68,1438,1439],{},"An environment where:",[152,1441,1442,1448,1455,1461],{},[155,1443,1444,1445],{},"Your data is ",[474,1446,1447],{},"independent of any single interface",[155,1449,1450,1451,1454],{},"Storage is ",[474,1452,1453],{},"pluggable"," (local, IPFS, decentralized networks)",[155,1456,1457,1458],{},"Content is ",[474,1459,1460],{},"structured, composable, and transformable",[155,1462,1463],{},"The system adapts to your workflows — not the other way around",[68,1465,1466],{},"In this model, the editor is just one surface. The real value lives underneath — in the orchestration layer that manages how content is stored, transformed, and presented.",[72,1468],{},[63,1470,1472],{"id":1471},"planting-the-seed","Planting the Seed",[68,1474,1475,1476,1479],{},"The name ",[133,1477,1478],{},"TextRoots"," is intentional.",[68,1481,1482],{},"A root system is not visible. It sits beneath the surface, quietly supporting everything above it. It connects, nourishes, stabilises, and allows growth over time.",[68,1484,1485],{},"That’s the role TextRoots aims to play.",[68,1487,1488],{},"Not a destination app. Not a platform to lock you in.",[68,1490,1491,1492,1495],{},"But a ",[474,1493,1494],{},"foundation",":",[152,1497,1498,1501,1504],{},[155,1499,1500],{},"where your notes can evolve without being rewritten",[155,1502,1503],{},"where your tools can change without breaking your data",[155,1505,1506],{},"where your digital life grows from something you actually own",[72,1508],{},[63,1510,1512],{"id":1511},"a-different-direction","A Different Direction",[68,1514,1515],{},"We are at an inflection point.",[68,1517,1518],{},"The past decade has been defined by convenience — fast, connected, cloud-first tools. And they’ve delivered real value.",[68,1520,1521,1522,140],{},"But the next phase is about ",[474,1523,1524],{},"ownership, longevity, and control",[68,1526,1527],{},"TextRoots is an exploration of that direction.",[68,1529,1530,1531,140],{},"A system where your content is not just stored — but ",[474,1532,1533],{},"rooted",[72,1535],{},[63,1537,1071],{"id":1070},[68,1539,1540],{},"This is the beginning.",[68,1542,1543],{},"In the next articles, we’ll explore:",[152,1545,1546,1552,1555],{},[155,1547,1548,1549],{},"What it actually means to build a ",[133,1550,1551],{},"Content Operating System",[155,1553,1554],{},"How content can be broken down into structured, reusable objects",[155,1556,1557],{},"Why protocols like IPFS change how we think about storage entirely",[68,1559,1560],{},"For now, the idea is simple:",[177,1562,1563],{},[68,1564,1565],{},"Your thoughts should outlive your tools.",[68,1567,1568],{},"And that requires a different kind of system.",[72,1570],{},{"title":91,"searchDepth":92,"depth":92,"links":1572},[1573,1574,1575,1576,1577,1578,1579],{"id":1305,"depth":95,"text":14},{"id":1319,"depth":95,"text":1320},{"id":1356,"depth":95,"text":1357},{"id":1400,"depth":95,"text":1401},{"id":1471,"depth":95,"text":1472},{"id":1511,"depth":95,"text":1512},{"id":1070,"depth":95,"text":1071},"2026-04-01","Why your data should outlive your apps. Introducing the philosophy behind TextRoots and the vision for a Personal Content Operating System (pCOS) built on the 100-year test.",{},{"title":14,"description":1581},"pi4Dv0ih6W5nLdbrSaOe4RWWKz2xAtsZVNBVlcJKDyI",{"id":1586,"title":30,"author":1587,"body":1589,"category":98,"date":1664,"description":1599,"extension":101,"image":102,"meta":1665,"minRead":92,"navigation":49,"path":31,"seo":1666,"stem":32,"__hash__":1667},"blog\u002Fblog\u002F505-mc-status-update-mar-2026.md",{"name":56,"avatar":1588},{"src":58,"alt":56},{"type":60,"value":1590,"toc":1661},[1591,1595,1600,1614,1619,1651],[63,1592,1594],{"id":1593},"management-committee-status-march-2026-initial","Management Committee Status: March 2026 (Initial)",[1596,1597,1599],"h4",{"id":1598},"research-phase-the-programmable-kernel","Research Phase: The Programmable Kernel",[68,1601,1602,1605,1606,1609,1610,1613],{},[474,1603,1604],{},"Strategic Summary","\nThe focus for March has shifted from architectural structure to ",[474,1607,1608],{},"Runtime Intelligence",". We are researching how to bridge the gap between a \"Static Editor\" and a \"Living Environment\" by exploring the integration of ",[474,1611,1612],{},"Content-Driven Logic",". Inspired by the Emacs \"Lisp Machine\" philosophy, we are investigating how to allow individual pieces of content to carry their own functional instructions—enabling a Markdown file to not only store data but to actively configure the system’s behavior (e.g., custom event hooks or metadata transformation) at runtime.",[68,1615,1616],{},[474,1617,1618],{},"Key Research Pillars",[152,1620,1621,1631,1641],{},[155,1622,1623,1626,1627,1630],{},[474,1624,1625],{},"Conflict-Free Synchronization (CRDTs & Yjs):"," We have evaluated the state of distributed data consistency. By potentially integrating CRDT-based engines like ",[474,1628,1629],{},"Yjs",", TextRoots can move toward a \"Multi-Master\" sync model where concurrent edits across local storage, WebDAV, and ICP canisters merge seamlessly without manual conflict resolution.",[155,1632,1633,1636,1637,1640],{},[474,1634,1635],{},"The \"Sandbox within a Sandbox\" (WASM Scripting):"," To overcome browser security restrictions (CORS\u002FCSP), we are researching the use of ",[474,1638,1639],{},"QuickJS via WebAssembly",". This would allow users to run \"Active Content\" scripts in a secure, isolated environment, providing the extensibility of a Lisp-like system without compromising the stability of the host \"Content OS.\"",[155,1642,1643,1646,1647,1650],{},[474,1644,1645],{},"Legacy Protocol Optimization (WebDAV 2026):"," Our research into modern WebDAV implementations confirms that while it remains a \"Sovereign Standard,\" it requires a sophisticated ",[474,1648,1649],{},"Sidecar Caching Layer"," to overcome inherent latency and fragility when handling the high-frequency, small-file transactions typical of a personal text ecosystem.",[68,1652,1653,1656,1657,1660],{},[474,1654,1655],{},"Committee Verdict","\nThe \"Research\" phase is reinforcing the project's moat. By solving the \"Programmable Content\" problem safely within a web sandbox, TextRoots is moving beyond being a simple tool and becoming a truly ",[474,1658,1659],{},"Malleable Environment",". We are currently weighing the \"drip\" of a simple scoped-function evaluator versus a full WASM-based VM for the next technical milestone.",{"title":91,"searchDepth":92,"depth":92,"links":1662},[1663],{"id":1593,"depth":95,"text":1594},"2026-03-30",{},{"title":30,"description":1599},"hPfsYJVBYohEVH0ZRg0e28avALlMnSPFek5FpHIEDK0",{"id":1669,"title":26,"author":1670,"body":1672,"category":98,"date":1788,"description":1789,"extension":101,"image":102,"meta":1790,"minRead":92,"navigation":49,"path":27,"seo":1791,"stem":28,"__hash__":1792},"blog\u002Fblog\u002F504-mc-status-update-feb-2026.md",{"name":56,"avatar":1671},{"src":58,"alt":56},{"type":60,"value":1673,"toc":1782},[1674,1684,1688,1696,1701,1716,1722,1746,1752,1772],[68,1675,1676,1677,1680,1681,1495],{},"Here is the ",[474,1678,1679],{},"Management Committee Status Update"," for ",[474,1682,1683],{},"February 2026",[63,1685,1687],{"id":1686},"management-committee-status-february-2026","Management Committee Status: February 2026",[68,1689,1690,1693,1694,140],{},[474,1691,1692],{},"Project Vision:"," Transitioning from a \"Modular Editor\" to a ",[474,1695,1436],{},[63,1697,1699],{"id":1698},"strategic-summary",[474,1700,1604],{},[68,1702,1703,1704,1707,1708,1711,1712,1715],{},"The project has reached a critical conceptual milestone. We have identified that the true value of TextRoots lies not in the UI of the editor, but in the ",[474,1705,1706],{},"Orchestration Layer","—the \"Kernel\" that manages abstract storage, hierarchical content objects, and transformation pipelines. By framing the project as a ",[474,1709,1710],{},"Personal Content OS",", we differentiate ourselves from \"Note-Taking Apps\" and position TextRoots as a ",[474,1713,1714],{},"Local-First, Headless CMS for the Individual",". This shift allows us to market \"Data Sovereignty\" and \"Zero Vendor Lock-in\" as infrastructure-level features rather than just privacy settings.",[63,1717,1719],{"id":1718},"key-strategic-pillars",[474,1720,1721],{},"Key Strategic Pillars",[152,1723,1724,1730,1740],{},[155,1725,1726,1729],{},[474,1727,1728],{},"Abstract ELT (Extract, Load, Transform):"," We are treating personal data as a series of hierarchical objects. The system \"Extracts\" raw text (Markdown\u002FOrg\u002FJSON), \"Loads\" it into a unified shell, and \"Transforms\" it into interactive UI components via registered pipelines.",[155,1731,1732,1735,1736,1739],{},[474,1733,1734],{},"Hydration-Aware Architecture:"," To ensure performance across decentralized (ICP) and local backends, we are utilizing a ",[474,1737,1738],{},"Sidecar Cache"," to provide \"Non-Hydrated\" metadata (summaries\u002Flists) instantly, only \"Hydrating\" full content objects when required for editing.",[155,1741,1742,1745],{},[474,1743,1744],{},"Composable Backend VFS:"," We are moving toward a model where backends can be layered and aggregated (e.g., a local cache sitting in front of a decentralized canister), providing a transparent, unified interface to the Shell.",[63,1747,1749],{"id":1748},"immediate-roadmap-the-drip-feed",[474,1750,1751],{},"Immediate Roadmap (The \"Drip\" Feed)",[152,1753,1754,1760,1766],{},[155,1755,1756,1759],{},[474,1757,1758],{},"The \"System Pulse\" Dashboard:"," Enhancing the Home screen to act as an OS Control Center, displaying \"Content Health\" and \"Storage Summaries\" derived from the Sidecar Cache.",[155,1761,1762,1765],{},[474,1763,1764],{},"Capacitor MVP Focus:"," Prioritizing the stability of the Android\u002FCapacitor \"Native Bridge\" as the first potential commercial entry point into the App Store.",[155,1767,1768,1771],{},[474,1769,1770],{},"Refining the \"Content Object\" Spec:"," Formalizing how parsers break down a single file into a hierarchy of addressable objects (e.g., a Todo item within a Markdown file).",[68,1773,1774,1777,1778,1781],{},[474,1775,1776],{},"Committee Verdict:"," The \"Seed\" is strong. The technical flexibility of the architecture is now being matched by a high-level business narrative that emphasizes ",[474,1779,1780],{},"Infrastructure over Interface",". We will continue to move slowly, ensuring each \"drip\" of development reinforces the user's ownership of their \"Digital Estate.\"",{"title":91,"searchDepth":92,"depth":92,"links":1783},[1784,1785,1786,1787],{"id":1686,"depth":95,"text":1687},{"id":1698,"depth":95,"text":1604},{"id":1718,"depth":95,"text":1721},{"id":1748,"depth":95,"text":1751},"2026-02-28","Project Vision: Transitioning from a Modular Editor to a Personal Content Operating System (pCOS)",{},{"title":26,"description":1789},"ZKpt7ktrmZWAWP2EOQq_IyUqCJQzU27fYGZdd-aGvyo",[1794],{"id":1795,"extension":1796,"meta":1797,"stem":1807,"__hash__":1808},"blogCategories\u002FblogCategories.json","json",{"body":1798},[1799,1803],{"slug":731,"title":1800,"description":1801,"icon":1802},"Simons Blog","Articles about software development, architecture and code.","lucide:code",{"slug":98,"title":1804,"description":1805,"icon":1806},"TextRoots Blog","Articles related to the TextRoots project.","lucide:brain","blogCategories","JPtrDmNPrl7puTapuVYSiJesTygQfFoG221Bj2dhUns",1783786190109]