[{"data":1,"prerenderedAt":757},["ShallowReactive",2],{"content-query-gqmNESV37N":3},[4,319,432,532,647],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"date":11,"body":12,"_type":313,"_id":314,"_source":315,"_file":316,"_stem":317,"_extension":318},"/thoughts/forward-deployed-engineer","thoughts",false,"","forward deployed designer","Palantir coined the role FDE fifteen years ago for forward deployed engineer, basically an engineer embedded inside customer environments, building production systems shoulder-2-shoulder with the people who use them. this year, the role exploded. OpenAI raised $4B to launch an entire deployment company¹. Anthropic partnered with Blackstone for the same play². Google is hiring hundreds of FDEs, job postings grew 800% in under a year.","2026-05-29",{"type":13,"children":14,"toc":304},"root",[15,22,27,32,37,44,49,54,59,63,69,74,79,84,89,93,99,104,109,114,119,124,128,134,139,144,149,154,159,164,168,174,179,184,189,194,199,204,209,213],{"type":16,"tag":17,"props":18,"children":19},"element","p",{},[20],{"type":21,"value":10},"text",{"type":16,"tag":17,"props":23,"children":24},{},[25],{"type":21,"value":26},"the thesis is simple: AI made code cheap, but context is still expensive. while anyone can generate software now, the hard part is making it work inside a real company, with real data, real constraints, real humans.. who do things differently than you expected. that's what FDEs do. They sit next to the problem.",{"type":16,"tag":17,"props":28,"children":29},{},[30],{"type":21,"value":31},"wild guess about what nobody is saying yet: the same thing is about to happen to design.",{"type":16,"tag":17,"props":33,"children":34},{},[35],{"type":21,"value":36},"--",{"type":16,"tag":38,"props":39,"children":41},"h3",{"id":40},"code-got-commoditized-design-is-next",[42],{"type":21,"value":43},"code got commoditized. design is next.",{"type":16,"tag":17,"props":45,"children":46},{},[47],{"type":21,"value":48},"41% of code pushed to production globally is now AI generated³. codex, cursor, claude code turned writing software from a craft into an editing job. The engineer's value moved upstream, from syntax to judgment.",{"type":16,"tag":17,"props":50,"children":51},{},[52],{"type":21,"value":53},"i feel like design is following the exact same curve. with figma make, google stitch, v0... describe what you want, get a high fidelity UI in seconds.",{"type":16,"tag":17,"props":55,"children":56},{},[57],{"type":21,"value":58},"but producing a screen is becoming trivial. producing the right screen for the right person in the right context, that's still hard.",{"type":16,"tag":17,"props":60,"children":61},{},[62],{"type":21,"value":36},{"type":16,"tag":38,"props":64,"children":66},{"id":65},"the-tailored-enterprise",[67],{"type":21,"value":68},"the tailored enterprise",{"type":16,"tag":17,"props":70,"children":71},{},[72],{"type":21,"value":73},"something fundamental is shifting in how companies buy software, classic model: you pick a saas product, you bend your workflows to fit it, you pay per seat forever.",{"type":16,"tag":17,"props":75,"children":76},{},[77],{"type":21,"value":78},"ever heard about a CRM being so generic that it requires an army of consultants to make it work for your specific business? you pay for the software, then you pay again to make it actually yours.",{"type":16,"tag":17,"props":80,"children":81},{},[82],{"type":21,"value":83},"but when building software becomes cheap, that math breaks. why pay $300/seat/month for something that's 70% what you need when you can build 100% of what you need for less?",{"type":16,"tag":17,"props":85,"children":86},{},[87],{"type":21,"value":88},"Twenty⁶ is an early signal of this shift. as oss CRM designed to be shaped by each team that uses it. a CRM building toolkit. And it's what enterprise software starts to look like when production costs collapse toward zero.",{"type":16,"tag":17,"props":90,"children":91},{},[92],{"type":21,"value":36},{"type":16,"tag":38,"props":94,"children":96},{"id":95},"where-the-designer-sits",[97],{"type":21,"value":98},"where the designer sits",{"type":16,"tag":17,"props":100,"children":101},{},[102],{"type":21,"value":103},"forward deployed engineer exists because code needs context. someone has to understand the customer's data pipelines, their compliance rules, their legacy system that runs everything, the way their team actually works versus how they say they work.",{"type":16,"tag":17,"props":105,"children":106},{},[107],{"type":21,"value":108},"i believe design needs the exact same thing.",{"type":16,"tag":17,"props":110,"children":111},{},[112],{"type":21,"value":113},"every company I've worked with has different users, different mental models, different tolerances for complexity. a fintech dashboard and a logistics dashboard might share the same technical stack but require fundamentally different design decisions. spacing, density, hierarchy, language, the way errors are surfaced... all of is shaped by who is sitting in front of the screen and what they're trying to do under pressure.",{"type":16,"tag":17,"props":115,"children":116},{},[117],{"type":21,"value":118},"AI can generate a dashboard in seconds. tt cannot know that your ops team processes 400 orders before 9am and needs the critical exceptions to scream louder than everything else. It cannot know that your sales team ignores any metric that isn't on the first screen they see. It cannot know that your compliance officer needs an audit trail visible at all times or the tool is dead on arrival.",{"type":16,"tag":17,"props":120,"children":121},{},[122],{"type":21,"value":123},"That knowledge is the designer's job. And it lives on-site, in the room, next to the problem.",{"type":16,"tag":17,"props":125,"children":126},{},[127],{"type":21,"value":36},{"type":16,"tag":38,"props":129,"children":131},{"id":130},"generative-ui-changes-the-game",[132],{"type":21,"value":133},"generative UI changes the game",{"type":16,"tag":17,"props":135,"children":136},{},[137],{"type":21,"value":138},"CopilotKit's generative UI work⁵ is worth paying attention to. They've defined three levels of how AI can control interfaces:",{"type":16,"tag":17,"props":140,"children":141},{},[142],{"type":21,"value":143},"The first is controlled: the developer builds all the components, the agent just picks which one to show. The second is declarative: the agent returns a structured spec (a card, a list, a form), and the frontend renders it with its own styling. The third is open-ended: the agent returns an entire UI surface. Each level trades more control for more flexibility.",{"type":16,"tag":17,"props":145,"children":146},{},[147],{"type":21,"value":148},"This matters because it means the interface is no longer static. It can adapt per user, per context, per task. A support agent sees a different view than a manager. A first-time user sees a different onboarding than a power user. Not because someone designed twelve variants in Figma, but because the system generates the right interface in real time.",{"type":16,"tag":17,"props":150,"children":151},{},[152],{"type":21,"value":153},"But someone still has to define what \"right\" means. Someone has to build the component library the agent selects from. Someone has to write the design system the agent respects. Someone has to set the constraints so the generated UI doesn't feel like a slot machine.",{"type":16,"tag":17,"props":155,"children":156},{},[157],{"type":21,"value":158},"Google seems to agree. they open-sourced DESIGN.md⁷, a specification for describing your visual identity to AI agents. One file, machine-readable design tokens + human-readable rationale. You write it once, every AI tool reads it. The agent generates on-brand output automatically.",{"type":16,"tag":17,"props":160,"children":161},{},[162],{"type":21,"value":163},"The designer doesn't draw every screen anymore. The designer defines the system, the rules, the taste, then lets the machine execute within those boundaries. That's a fundamentally different job. And it's a more valuable one.",{"type":16,"tag":17,"props":165,"children":166},{},[167],{"type":21,"value":36},{"type":16,"tag":38,"props":169,"children":171},{"id":170},"the-forward-deployed-designer",[172],{"type":21,"value":173},"the forward deployed designer",{"type":16,"tag":17,"props":175,"children":176},{},[177],{"type":21,"value":178},"So here's where it lands.",{"type":16,"tag":17,"props":180,"children":181},{},[182],{"type":21,"value":183},"Enterprise software is moving from one-size-fits-all SaaS toward tailored systems built per company. The tools exist: open-source foundations like Twenty, generative UI frameworks like CopilotKit, AI builders like v0 and Lovable, design specifications like DESIGN.md. The production cost is collapsing.",{"type":16,"tag":17,"props":185,"children":186},{},[187],{"type":21,"value":188},"What's not collapsing is the cost of understanding a customer well enough to build the right thing. The cost of sitting with a team, watching them work, noticing what they ignore and what they reach for, translating that into software that fits like it was made for them, because it was.",{"type":16,"tag":17,"props":190,"children":191},{},[192],{"type":21,"value":193},"The forward deployed designer is the person who does this. Not a consultant who drops a Figma file and leaves. Not a UI designer who works from a requirements doc three layers removed from the user. Someone embedded in the customer's world, with the tools to build and ship directly, who understands that design is not about making things look good. it's about making things work for specific people in specific contexts.",{"type":16,"tag":17,"props":195,"children":196},{},[197],{"type":21,"value":198},"The FDE boom proved that code without context is worthless. The same is true for design. Maybe more so.",{"type":16,"tag":17,"props":200,"children":201},{},[202],{"type":21,"value":203},"If code is the commodity, and AI handles the production, what's left is the hard part: knowing what to build and for whom.",{"type":16,"tag":17,"props":205,"children":206},{},[207],{"type":21,"value":208},"That's design. Always has been.",{"type":16,"tag":210,"props":211,"children":212},"hr",{},[],{"type":16,"tag":214,"props":215,"children":216},"ol",{},[217,232,244,256,268,280,292],{"type":16,"tag":218,"props":219,"children":220},"li",{},[221,230],{"type":16,"tag":222,"props":223,"children":227},"a",{"href":224,"rel":225},"https://openai.com/index/openai-launches-the-deployment-company/",[226],"nofollow",[228],{"type":21,"value":229},"OpenAI launches the Deployment Company",{"type":21,"value":231},", $4B+ subsidiary backed by TPG consortium",{"type":16,"tag":218,"props":233,"children":234},{},[235,242],{"type":16,"tag":222,"props":236,"children":239},{"href":237,"rel":238},"https://www.blackstone.com/news/press/anthropic-partners-with-blackstone-hellman-friedman-and-goldman-sachs-to-launch-enterprise-ai-services-firm/",[226],[240],{"type":21,"value":241},"Anthropic partners with Blackstone, Hellman & Friedman, and Goldman Sachs",{"type":21,"value":243},", ~$1.5B enterprise AI services firm",{"type":16,"tag":218,"props":245,"children":246},{},[247,254],{"type":16,"tag":222,"props":248,"children":251},{"href":249,"rel":250},"https://designerfund.com/blog/ai-in-design-2026/",[226],[252],{"type":21,"value":253},"41% stat",{"type":21,"value":255},", AI in Design 2026",{"type":16,"tag":218,"props":257,"children":258},{},[259,266],{"type":16,"tag":222,"props":260,"children":263},{"href":261,"rel":262},"https://blog.google/innovation-and-ai/models-and-research/google-labs/stitch-ai-ui-design/",[226],[264],{"type":21,"value":265},"Google Stitch",{"type":21,"value":267},", AI-native UI design canvas",{"type":16,"tag":218,"props":269,"children":270},{},[271,278],{"type":16,"tag":222,"props":272,"children":275},{"href":273,"rel":274},"https://www.copilotkit.ai/generative-ui",[226],[276],{"type":21,"value":277},"CopilotKit generative UI",{"type":21,"value":279},", three patterns for AI-controlled interfaces",{"type":16,"tag":218,"props":281,"children":282},{},[283,290],{"type":16,"tag":222,"props":284,"children":287},{"href":285,"rel":286},"https://twenty.com/",[226],[288],{"type":21,"value":289},"Twenty",{"type":21,"value":291},", open-source CRM",{"type":16,"tag":218,"props":293,"children":294},{},[295,302],{"type":16,"tag":222,"props":296,"children":299},{"href":297,"rel":298},"https://github.com/google-labs-code/design.md",[226],[300],{"type":21,"value":301},"DESIGN.md",{"type":21,"value":303},", open-source design specification for AI agents",{"title":8,"searchDepth":305,"depth":305,"links":306},2,[307,309,310,311,312],{"id":40,"depth":308,"text":43},3,{"id":65,"depth":308,"text":68},{"id":95,"depth":308,"text":98},{"id":130,"depth":308,"text":133},{"id":170,"depth":308,"text":173},"markdown","content:thoughts:forward-deployed-engineer.md","content","thoughts/forward-deployed-engineer.md","thoughts/forward-deployed-engineer","md",{"_path":320,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":321,"description":322,"date":323,"body":324,"_type":313,"_id":429,"_source":315,"_file":430,"_stem":431,"_extension":318},"/thoughts/a-reminder-of-mindset-ethic","a reminder of mindset ethic","Watching Lewis Hamilton recently speaking so openly about his doubts this season, someone who for me embodied the growth mindset¹ so fully, really struck me.","2025-08-06",{"type":13,"children":325,"toc":426},[326,339,344,349,355,360,365,370,375,379,384,389,394,399,403,408,411,418],{"type":16,"tag":17,"props":327,"children":328},{},[329,331,337],{"type":21,"value":330},"Watching Lewis Hamilton recently speaking so openly about his doubts this season, someone who for me embodied the ",{"type":16,"tag":222,"props":332,"children":334},{"href":333},"#fixed-vs-growth-mindset",[335],{"type":21,"value":336},"growth mindset¹",{"type":21,"value":338}," so fully, really struck me.",{"type":16,"tag":17,"props":340,"children":341},{},[342],{"type":21,"value":343},"It reminded me of something important: this mindset isn’t something you achieve once and then tick off the list. It’s not a fixed trait. It needs to be maintained + sharpened + protected, especially during hard times.",{"type":16,"tag":17,"props":345,"children":346},{},[347],{"type":21,"value":348},"And right now, I’m in one of these seasons. but what’s different this time: I’m also a new parent.",{"type":16,"tag":38,"props":350,"children":352},{"id":351},"you-are-a-dad-now",[353],{"type":21,"value":354},"You are a dad now",{"type":16,"tag":17,"props":356,"children":357},{},[358],{"type":21,"value":359},"Becoming the father of a beautiful baby boy has changed how I think. While he is still in that magical phase of smiling, discovering his hands, and drooling with pride, I keep asking myself: How do I raise him to become someone who faces life’s inevitable challenges with courage, resilience, and curiosity?",{"type":16,"tag":17,"props":361,"children":362},{},[363],{"type":21,"value":364},"Discussing this, my wife and I landed on a simple but powerful truth: Kids mostly copy their parents. Not our advices. Not our lectures. Just… us.",{"type":16,"tag":17,"props":366,"children":367},{},[368],{"type":21,"value":369},"Even though he’s too young to understand any of what I’m going through, the way I show up today could quietly shape the way Nolan will one day face his own challenges.",{"type":16,"tag":17,"props":371,"children":372},{},[373],{"type":21,"value":374},"That idea alone changes how I want to move through this moment.",{"type":16,"tag":17,"props":376,"children":377},{},[378],{"type":21,"value":36},{"type":16,"tag":17,"props":380,"children":381},{},[382],{"type":21,"value":383},"In engineering, the growth mindset is core to how we build. You test. You fail. You learn. You try again. It is iteration ] not instant success [ that gets us there.",{"type":16,"tag":17,"props":385,"children":386},{},[387],{"type":21,"value":388},"Nothing is finite.",{"type":16,"tag":17,"props":390,"children":391},{},[392],{"type":21,"value":393},"Nothing is failure if you’re still learning.",{"type":16,"tag":17,"props":395,"children":396},{},[397],{"type":21,"value":398},"Everything is fuel.",{"type":16,"tag":17,"props":400,"children":401},{},[402],{"type":21,"value":36},{"type":16,"tag":17,"props":404,"children":405},{},[406],{"type":21,"value":407},"So yes, this post is a reminder to myself, But maybe it’s one you needed too. Whatever you're going through, how you respond today might shape more than just your own path. It might be the blueprint someone else follows one day.",{"type":16,"tag":210,"props":409,"children":410},{},[],{"type":16,"tag":17,"props":412,"children":413},{},[414],{"type":16,"tag":222,"props":415,"children":417},{"id":416},"fixed-vs-growth-mindset",[],{"type":16,"tag":214,"props":419,"children":420},{},[421],{"type":16,"tag":218,"props":422,"children":423},{},[424],{"type":21,"value":425},"In her book Mindset: The New Psychology of Success, Carol Dweck breaks down the difference between a fixed mindset (believing our abilities are static) and a growth mindset (believing we can develop through effort, learning, and persistence).",{"title":8,"searchDepth":305,"depth":305,"links":427},[428],{"id":351,"depth":308,"text":354},"content:thoughts:a-reminder-of-mindset-ethic.md","thoughts/a-reminder-of-mindset-ethic.md","thoughts/a-reminder-of-mindset-ethic",{"_path":433,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":434,"description":435,"date":436,"body":437,"_type":313,"_id":529,"_source":315,"_file":530,"_stem":531,"_extension":318},"/thoughts/eating-its-own-dog-food","eating it's own dog food","\"Eating your own dog food,\" a phrase that vividly captures the practice of using one's own products, is a cornerstone philosophy in the world of product development. This concept goes beyond mere quality assurance; it's about empathy, understanding, and genuine experience. It's a practice that not only improves the product but also aligns the team with the users they serve. As someone who has seen this practice in action, I can attest to its transformative power.","2023-10-12",{"type":13,"children":438,"toc":522},[439,443,448,454,459,465,470,475,481,486,491,497,502,508,513,517],{"type":16,"tag":17,"props":440,"children":441},{},[442],{"type":21,"value":435},{"type":16,"tag":17,"props":444,"children":445},{},[446],{"type":21,"value":447},"At the end of the day, the best possible QA is using it's own product, as often as possible. As stated by X in Lenny's interview, we are your most important user, we have to be delighted first.",{"type":16,"tag":38,"props":449,"children":451},{"id":450},"empathy-through-experience",[452],{"type":21,"value":453},"Empathy Through Experience",{"type":16,"tag":17,"props":455,"children":456},{},[457],{"type":21,"value":458},"Using our own product is the most direct way to understand the user experience. It goes beyond hypothetical scenarios or abstract user personas. When we use our product daily, we encounter the joys and frustrations of our users firsthand. This experience fosters a deep empathy for the user, driving improvements that are grounded in real needs and desires.",{"type":16,"tag":38,"props":460,"children":462},{"id":461},"quality-assurance-at-its-best",[463],{"type":21,"value":464},"Quality Assurance at Its Best",{"type":16,"tag":17,"props":466,"children":467},{},[468],{"type":21,"value":469},"Traditional quality assurance (QA) methods, like testing and bug tracking, are essential, but they can't capture the full user experience. Using our own product uncovers issues that might never be found in a test environment. It reveals the small, nuanced pain points that our users might face, which might otherwise go unnoticed. Note that I always felt that the silent ones are the most important, sometimes users won't complain about something, they will just stop using the product. The latter highlights the importance of making a feedback engine as seamless as possible for users, covered here.",{"type":16,"tag":17,"props":471,"children":472},{},[473],{"type":21,"value":474},"When an entire company, from engineers to marketers, uses the product, it creates a unified understanding of what the product is and what it needs to be. This alignment is crucial in making coherent and user-centric decisions. It's about ensuring that every feature, every update, aligns with the actual use case of the product.",{"type":16,"tag":38,"props":476,"children":478},{"id":477},"continuous-feedback-loop",[479],{"type":21,"value":480},"Continuous Feedback Loop",{"type":16,"tag":17,"props":482,"children":483},{},[484],{"type":21,"value":485},"As team members use the product, they generate ideas, identify issues, and suggest improvements. This ongoing process ensures that the product is always evolving, always improving. This is a proactive approach to development, where feedback is not just solicited but is an integral part of the daily workflow.",{"type":16,"tag":17,"props":487,"children":488},{},[489],{"type":21,"value":490},"Regular use of your own product can spark innovation. It's not just about fixing what's broken; it's about imagining what it could be. By experiencing the product as a user, team members can identify opportunities for new features or entirely new ways of solving problems.",{"type":16,"tag":38,"props":492,"children":494},{"id":493},"building-trust-and-credibility",[495],{"type":21,"value":496},"Building Trust and Credibility",{"type":16,"tag":17,"props":498,"children":499},{},[500],{"type":21,"value":501},"When a company uses its own product, it sends a powerful message to its users. It shows confidence in the product's quality and utility. This practice builds trust and credibility, demonstrating to users that the company stands firmly behind what it creates.",{"type":16,"tag":38,"props":503,"children":505},{"id":504},"challenges-and-considerations",[506],{"type":21,"value":507},"Challenges and Considerations",{"type":16,"tag":17,"props":509,"children":510},{},[511],{"type":21,"value":512},"However, eating your own dog food is not without its challenges. It requires a company culture that values feedback and is open to change. There needs to be a system in place to capture and prioritize feedback from internal use. Moreover, it's important to recognize that while internal use is invaluable, it's not a substitute for external user feedback. The internal team's perspective can be biased, and it's crucial to balance this with insights from a diverse range of users.",{"type":16,"tag":17,"props":514,"children":515},{},[516],{"type":21,"value":36},{"type":16,"tag":17,"props":518,"children":519},{},[520],{"type":21,"value":521},"Eating your own dog food is more than a practice; it's a philosophy. It's about creating products with empathy and insight, fostering a culture of continuous improvement, and building a deep, authentic connection with your users. As someone who has embraced this philosophy, I can affirm that the best way to understand and improve your product is to become your most important user. Delight in your product should start with you.",{"title":8,"searchDepth":305,"depth":305,"links":523},[524,525,526,527,528],{"id":450,"depth":308,"text":453},{"id":461,"depth":308,"text":464},{"id":477,"depth":308,"text":480},{"id":493,"depth":308,"text":496},{"id":504,"depth":308,"text":507},"content:thoughts:eating-its-own-dog-food.md","thoughts/eating-its-own-dog-food.md","thoughts/eating-its-own-dog-food",{"_path":533,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":534,"description":535,"date":536,"body":537,"_type":313,"_id":644,"_source":315,"_file":645,"_stem":646,"_extension":318},"/thoughts/on-design-system","on design system","creating and maintaining a design system, especially in the dynamic environment of an early-stage company, presents a unique set of challenges and opportunities. Over the years, my perspective on the role and implementation of design systems has evolved, shaped by the rapidly changing landscapes of both design and technology.","2023-08-04",{"type":13,"children":538,"toc":637},[539,543,549,554,559,565,570,575,581,586,591,597,602,607,613,618,623,627,632],{"type":16,"tag":17,"props":540,"children":541},{},[542],{"type":21,"value":535},{"type":16,"tag":38,"props":544,"children":546},{"id":545},"early-stage-challenges",[547],{"type":21,"value":548},"early stage Challenges",{"type":16,"tag":17,"props":550,"children":551},{},[552],{"type":21,"value":553},"in the early stages of a company, the product is in a state of flux, constantly evolving as it responds to user feedback, market demands, and the company's own learning curve. implementing a design system in this scenario is akin to trying to build the tracks in front of a moving train. the effort to standardize components, colors, and typography often runs into the reality of a product that is still finding its feet.",{"type":16,"tag":17,"props":555,"children":556},{},[557],{"type":21,"value":558},"Yet, the allure of a design system is strong. It promises consistency, efficiency, and a coherent user experience. The challenge is in balancing these long-term benefits with the short-term realities of a rapidly changing product.",{"type":16,"tag":38,"props":560,"children":562},{"id":561},"the-role-of-primitives",[563],{"type":21,"value":564},"The Role of Primitives",{"type":16,"tag":17,"props":566,"children":567},{},[568],{"type":21,"value":569},"One approach I've found effective is focusing on primitives in the early stages. These are the most basic building blocks of a design, such as color palettes, typography, and basic button styles. By standardizing these elements, a foundation is laid that can scale with the product. This approach is particularly beneficial for designers, allowing them to create new designs quickly and consistently.",{"type":16,"tag":17,"props":571,"children":572},{},[573],{"type":21,"value":574},"However, the impact on engineering can be quite different. While designers benefit from a library of visual primitives, engineers need a system that goes beyond the surface. Code architecture, component libraries, and scalability are paramount. In essence, while designers need a visual language, engineers require a structural one.",{"type":16,"tag":38,"props":576,"children":578},{"id":577},"the-engineering-perspective",[579],{"type":21,"value":580},"The Engineering Perspective",{"type":16,"tag":17,"props":582,"children":583},{},[584],{"type":21,"value":585},"From an engineering standpoint, the challenge lies in creating a system that is flexible enough to accommodate change, yet structured enough to provide consistency. This often involves building a component library that is modular and easily extensible.",{"type":16,"tag":17,"props":587,"children":588},{},[589],{"type":21,"value":590},"In early-stage companies, where product features might be added, removed, or significantly altered on a regular basis, this modular approach is vital. It allows engineers to rapidly adapt to changes without having to overhaul the entire system.",{"type":16,"tag":38,"props":592,"children":594},{"id":593},"semantic-design-systems",[595],{"type":21,"value":596},"Semantic Design Systems",{"type":16,"tag":17,"props":598,"children":599},{},[600],{"type":21,"value":601},"The concept of a semantic design system, resonates deeply with this experience. A semantic design system goes beyond the visual elements to encapsulate the meaning and function of components. It's about understanding the 'why' behind a button's color or a form's layout, not just the 'how'.",{"type":16,"tag":17,"props":603,"children":604},{},[605],{"type":21,"value":606},"This approach is particularly powerful in a fast-paced, early-stage environment. It allows teams to make informed decisions about changes, understanding the impact on the overall user experience, not just the visual consistency.",{"type":16,"tag":38,"props":608,"children":610},{"id":609},"collaboration-is-key",[611],{"type":21,"value":612},"Collaboration is Key",{"type":16,"tag":17,"props":614,"children":615},{},[616],{"type":21,"value":617},"One of the biggest lessons learned is the importance of collaboration in developing and maintaining a design system. It can't be the sole domain of either designers or engineers. Instead, it requires a cross-functional effort, with ongoing communication and understanding of each other's challenges and needs.",{"type":16,"tag":17,"props":619,"children":620},{},[621],{"type":21,"value":622},"Regular reviews, shared documentation, and collaborative tooling, like Figma and Linear, play a crucial role in this. They help bridge the gap between design and development, ensuring that the system remains relevant and useful for all.",{"type":16,"tag":17,"props":624,"children":625},{},[626],{"type":21,"value":36},{"type":16,"tag":17,"props":628,"children":629},{},[630],{"type":21,"value":631},"While design systems in early-stage companies face unique challenges, they also offer significant opportunities. By focusing on the fundamentals, adopting a modular and semantic approach, and fostering collaboration between designers and engineers, these systems can evolve to become a cornerstone of the product development process.",{"type":16,"tag":17,"props":633,"children":634},{},[635],{"type":21,"value":636},"It's clear that the journey of a design system is as much about the culture and processes of the team as it is about the specific design elements. It's a journey of continuous learning, adaptation, and collaboration, driving towards the ultimate goal of creating products that are not just visually appealing but also intuitive, efficient, and delightful to use.",{"title":8,"searchDepth":305,"depth":305,"links":638},[639,640,641,642,643],{"id":545,"depth":308,"text":548},{"id":561,"depth":308,"text":564},{"id":577,"depth":308,"text":580},{"id":593,"depth":308,"text":596},{"id":609,"depth":308,"text":612},"content:thoughts:on-design-system.md","thoughts/on-design-system.md","thoughts/on-design-system",{"_path":648,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":649,"description":650,"date":651,"body":652,"_type":313,"_id":754,"_source":315,"_file":755,"_stem":756,"_extension":318},"/thoughts/product-design-and-code","product, design and code","\"Product, Design and Code\" – these three elements form the fundamental triad in the creation of digital products. My journey through various roles and organizations has led me to a pivotal realization: while tools like Figma and design methodologies are crucial, the ultimate source of truth in product development is the code. This is because what users interact with daily is not the design mockups or prototypes, but the actual coded product. This understanding becomes even more critical in an early-stage environment, where agility and efficiency are paramount.","2023-02-18",{"type":13,"children":653,"toc":749},[654,658,664,669,674,680,685,729,735,740,744],{"type":16,"tag":17,"props":655,"children":656},{},[657],{"type":21,"value":650},{"type":16,"tag":38,"props":659,"children":661},{"id":660},"bridging-design-and-development",[662],{"type":21,"value":663},"Bridging Design and Development",{"type":16,"tag":17,"props":665,"children":666},{},[667],{"type":21,"value":668},"The code is what lives and breathes in the user's world. It's what they interact with, what shapes their experience, and what ultimately determines the success of a product. The challenge, then, is to bridge the gap between design and development in a way that respects both disciplines while acknowledging the primacy of code. In an early-stage company, where resources are limited and the product is evolving rapidly, this bridge is not just a convenience; it's a necessity.",{"type":16,"tag":17,"props":670,"children":671},{},[672],{"type":21,"value":673},"One effective approach is to use the actual product screens – essentially screenshots of user-facing elements – as a starting point for design updates or new features. This method ensures that design decisions are grounded in the reality of what users are currently experiencing.",{"type":16,"tag":38,"props":675,"children":677},{"id":676},"production-driven-design-process",[678],{"type":21,"value":679},"Production-Driven Design Process",{"type":16,"tag":17,"props":681,"children":682},{},[683],{"type":21,"value":684},"This production-driven design process starts with capturing parts of the existing product that need improvement or expansion. These screenshots then serve as the base for design iterations. Designers work directly on these images, proposing changes or additions. This approach has several advantages:",{"type":16,"tag":214,"props":686,"children":687},{},[688,699,709,719],{"type":16,"tag":218,"props":689,"children":690},{},[691,697],{"type":16,"tag":692,"props":693,"children":694},"strong",{},[695],{"type":21,"value":696},"Realistic Context",{"type":21,"value":698},": Designers are working with the actual interface elements that users see, ensuring that proposals are grounded in reality.",{"type":16,"tag":218,"props":700,"children":701},{},[702,707],{"type":16,"tag":692,"props":703,"children":704},{},[705],{"type":21,"value":706},"Efficient Communication",{"type":21,"value":708},": When designers and developers discuss changes based on the actual product screens, there's less room for misinterpretation. It bridges the often-encountered gap between how something is envisioned in a design tool and how it's implemented in code.",{"type":16,"tag":218,"props":710,"children":711},{},[712,717],{"type":16,"tag":692,"props":713,"children":714},{},[715],{"type":21,"value":716},"Rapid Iteration",{"type":21,"value":718},": In an early-stage environment, where changes need to be implemented quickly, this method allows for faster turnaround from design to development.",{"type":16,"tag":218,"props":720,"children":721},{},[722,727],{"type":16,"tag":692,"props":723,"children":724},{},[725],{"type":21,"value":726},"Focus on User Experience",{"type":21,"value":728},": By starting with the current user interface, the team continually focuses on improving the user experience, rather than getting caught up in abstract design concepts.",{"type":16,"tag":38,"props":730,"children":732},{"id":731},"the-evolving-role-of-design-tools",[733],{"type":21,"value":734},"The Evolving Role of Design Tools",{"type":16,"tag":17,"props":736,"children":737},{},[738],{"type":21,"value":739},"This approach doesn't diminish the role of design tools; instead, it repositions them. Tools like Figma become a part of a larger ecosystem centered around the code. They are used for what they excel at – facilitating creativity, collaboration, and communication – but always with an understanding that they are a step in the journey, not the destination.",{"type":16,"tag":17,"props":741,"children":742},{},[743],{"type":21,"value":36},{"type":16,"tag":17,"props":745,"children":746},{},[747],{"type":21,"value":748},"Design decisions are always aligned with the user's reality, fostering a product development process that is truly user-centric.",{"title":8,"searchDepth":305,"depth":305,"links":750},[751,752,753],{"id":660,"depth":308,"text":663},{"id":676,"depth":308,"text":679},{"id":731,"depth":308,"text":734},"content:thoughts:product-design-and-code.md","thoughts/product-design-and-code.md","thoughts/product-design-and-code",1783111132502]