Keith Keith

Notes to myself and others on AI & Design

Who knows where this trail goes? ~ Photo taken in Austin, 2005. This photo, and all the words here, by me.

I was asked to share some thoughts on how AI and design intersect, especially for junior designers. I thought it'd be great to expand on some notes I’ve been taking and offer some thoughts and guidance on how our design work will evolve with AI and all these new tools. The way we adapt to these tools will shape our evolution, and honestly, a lot of the advice I've shared has been relevant for quite some time. While the core principles of design still hold, they've evolved over the years and will continue to do so at a speed we’re probably not quite ready for. These notes are long, sort of rambly, and loosely organized, but I hope that by sharing them, someone will find something interesting or helpful.


Develop both Taste + Logic

Everyone using AI will need logic and taste, but it will become essential for product leaders across crafts. In a world where everyone can build, the individuals who can align and synthesize their ideas into a cohesive point of view become increasingly important. But also, those who can think and work in well-designed systems become invaluable.

Taste alone, in my opinion, will not be enough.

Understand the end-to-end

Having an end-to-end view of what should be built, how it should be built, and why it should be built will be key. This is good advice for product builders in general, but I believe it becomes even more critical as the tools become increasingly powerful—especially the why. There will need to be a strong POV directing the work, especially in larger organizations and across well-adopted consumer and enterprise spaces. Without this, we’ll see a lot of fragmented experiences, and I would imagine a loss of trust and confidence in what is built.

Embrace an experimental mindset

To get that end-to-end view, you’ll want to embrace an experimental mindset. Prototype ideas, explore, and share with others. Now more than ever, we need to feel like it’s ok to make mistakes in the early part of the process. On the other hand, that last 20% becomes doubly important, so having an eye for detail and the ability to execute the last mile is key.

Look at AI as a creative partner

AI can be scary, for sure, but it can also be powerfully creative if you let it and remain mindful and present. Sometimes, it’s a good idea to limit the information you give or be purposefully unclear and see what happens. There is a lot of freedom in embracing the chaos, leaning into the emergent creativity AI can bring, and leaving room for these tools to go wild, which can yield unexpected and interesting results. In a way, I think that’s one of the most significant benefits of AI. At the same time, it should be approached with care: hold on to the reigns and be wary. AI can amplify and assist your creativity, but it should never replace it.

For a personal project, I briefly explained the theme switcher concept and let v0 create something. What it did was not exactly what I had in mind, but I was fairly vague and expressed that I wanted to explore ideas. It selected the icons (based, I think, on seasons) and the colors, as well as developing the UI. I had to iterate to clean it up a bit, but this is a direction I liked and something I hadn’t initially thought of.

Work on soft skills

This is evergreen advice, in my opinion, but continue to work on being a good collaborator and communicator. We still haven’t figured out how to do this stuff as a team. I think learning how to work with these new tools collaboratively will be a huge unlock.

Become a master of rationale

I touched on this before, but I genuinely believe that the ability to communicate your ideas, mainly the underlying reasons, will become increasingly important. You’ll need to be able to explain decisions to others (and in your prompts) in a way that builds confidence and trust. This will be needed for both co-workers and end users (through apps and assistants), as well as for the agents themselves. I think now this is all wrapped in prompt engineering, but to me, that feels like a stopgap. Makers will need to communicate their ideas more clearly in ways that work for both themselves and the agents they work with.

Understanding the semantics and best practices of code

Even if you aren’t a coder, getting a fundamental sense of how things work will help. We’re not quite there yet, but I imagine coding agents will enable much more direct manipulation of code. If you understand how it’s supposed to work and fit together, you’ll be able to utilize that knowledge to be more effective and delve into the details of what you’re building. The more you know, the easier and less risky this will be.

Understanding of the models and what they can do

And what they can’t do. And how best to work with them. Chop things up into smaller tasks, move away from the desire to one-shot everything, try to be more specific, explore their limits, and use side projects to experiment with them. We need to lean into playing with these tools, and I’ve not only had a lot of fun doing so, but I’ve also learned a lot. They evolve so rapidly that it’s helpful to get in and experiment.

Collaborate AI to Collaborate with AI

Sometimes, the most effective way to harness the power of AI is to ask it how best to work together, whether with the model you're using or with other models. You can let it guide you and pose questions. I've discovered that encouraging it to be inquisitive or to help shape the questions you have can lead to powerful and enlightening insights. Look at AI as a teammate —one that can be taught, influenced, spoken to, and encouraged. One model to explore and try, fairly new to me but mirrors a bit how I’ve been working, is the “Stingray” model from Board of Innovation, but there is still a lot to be explored when it comes to collaboration models with AI, especially within teams.

Practice resilience and adapt well to change

The pace and rate of change, in my opinion, are literally (really) impossible to keep up with. Designers, especially, need to be curious, resilient, and adaptable. Practice fundamentals, get your time management and communication skills right, become a facilitator, and learn as much as you can, but also? Play around, make a mess, and experiment.

Think in terms of apps + assistants

We’re moving away from products. The apps will be more focused, smaller, and more straightforward; the assistants will become more intelligent, autonomous, and capable of performing more complex tasks, such as directing other, increasingly specialized agents. Over time, they will also be able to handle more natural direction. Also, breaking our products down into smaller pieces of functionality (I’ve been thinking in terms of “blocks” a lot lately) should help agents and users target and focus on what is the next best or most relevant thing. I still think there will be a need for persistent views and app functionality, but I expect users (and agents) will want to customize and expect UIs to adapt and change to meet their needs.

Trust and security will likely be a key differentiator

Table stakes will be high. It’s hard to know how things will play out, but everyone knows AI can make mistakes. Sure, sometimes it’s a bit silly, like this AI-generated summary reading list with books that don’t exist, but when it comes to enterprise data? That’s a different story, and it doesn’t take much imagination to see how things can get worse from there. It’s always best practice to review the work, and I think humans will always be involved in some way with most of what we do; however, AI brings a significant amount of risk. We’ll need to consider both the perception of trust and the real-world risks associated with using and expressing AI in our work.

On direction and working with agents

  • With current best practices around prompt engineering. Learn the rules and leverage the tools. There are many tools, such as Anthropic’s Console, that can help improve your prompts. These aren’t particularly helpful without a fundamental understanding of how the models work and the various levers and inputs that can be adjusted. Understanding how factors such as temperature, roles, and rules work and how they impact your outputs is extremely helpful. But they are getting better. Tools like v0’s “enhance prompt” can be helpful, and I think they’ll improve. However, sometimes it’s best to communicate naturally, and I predict that’ll be the future of agent interaction. Almost all of the advice for using these tools begins with some variation of “start with clear instructions.”

  • With natural language. I believe natural language will become increasingly important, both for designers to communicate with and to consider in their work. I’ve heard the terms NLX and NLE for natural language experience, and I think there is something there. This is how we will interact with assistants. And, frankly, I believe that prompt engineering will become less important as the tools become smarter, and we’ll need more natural ways to interact. Even now, there are many tools, some built-in, that can help you engineer and improve your prompts. You still need to be clear and concise going in. Practice writing, improve your writing skills, and work on expressing your ideas as a foundational skill.

  • Tip: when in doubt, just ask. I’ve found that asking an agent to teach me, or tell me, what it needs has been surprisingly effective. I also do a fair amount of typing something and then asking the agent to make it helpful for itself, and to ask me questions if needed. I’ve got real concerns about the loss of knowledge in craft in light of AI, but there are ways these tools can be used to learn, and hone, craft and sometimes it’s as simple as asking them to teach.

Regarding the future of configuration and personalization

How will personalization work in the app and assistant world? Will the assistant handle this, or will there still be a need for user config? There will still be a need for persistent views, such as dashboards and UI-based interactions that are learned and mastered, but there will likely be more fluid, dynamically generated views. We’ll have configuration that goes beyond simple show/hide/config and more into rule sets and, maybe a ways into the future, the assistant adapting to the user via their usage, making suggestions and tweaks to the experience automatically (if the user wants that).

Regarding growth in a world of AI

A note to leaders and those who are working towards design leadership.

As you move forward (and up) in your career, it can become a little isolating, especially with the rise of remote working. Having solid partners--cross-functional partners, a good craft or IC partner--helps a lot, but it’s not always something you’re going to have. Scaling yourself and your skills is hard on so many levels. Finding time to improve your skills while also mentoring others is…haha…well, it feels impossible sometimes. AI can both help with this and add a tremendous amount of pressure. Things are changing, and we need to adapt. Our teams look to leaders for support and guidance. It’s one of the reasons I’m writing this right now. It feels both daunting and exciting at the same time, and at least in my own experience, AI has made my work more complicated when viewed holistically. However, I believe there is hope, and it starts with leadership, sharing, and exploring together, as well as bringing others along for the ride and working as a team. And while I’ve found that while an AI partner can’t replace another person, it can help in some meaningful ways. With the ever-growing mountain of tasks and things to learn, with organization and time management, but also as a way to bounce ideas around when nobody is around. I can’t say it’s helped at all with isolation, and there is a part of it that I think makes it feel a little worse, but in time, I think there is an opportunity for designers and the people we serve to free up valuable time to connect with others. I, for one, am looking for AI to eventually take some of the load I have so that I can spend more time with people.

Regarding the ethical concerns of using AI

I have a lot of concerns and more questions than it’s easy to hold in my head. To say I’m conflicted would be an understatement. I believe the tech industry has a significant amount of work to do in reducing the impact of AI on both people and the environment. But it seems clear that these tools are here to stay and will continue to evolve, which creates a gnarly dilemma. I think one thing we can all do is work with them mindfully and with restraint. I don’t personally think we should be asking AI technology to do everything we don’t want to do. I don’t think that’s a smart or sustainable approach. For one thing, it should not replace fundamentals: writers need to know how to write to get the most out of AI, for example. It shouldn’t replace writing for writers or art for artists. There is also the joy of learning and making things yourself. For me, this is a positive of these tools; I can now do things that I couldn’t before. At the same time, I don’t want to outsource my brain or creativity to them. And then there is the environmental impact. There is a lot of conflicting information about it, but it’s safe to say that it’s worth considering. We should think carefully about using AI for trivial tasks as much as possible. Yes, there is a nice promise in taking out the drudgery of work, but there are also costs associated with it. At least for me, I’m trying to reduce my usage down to things that have real value. Yes, I think playing with these tools is a good way to learn, but I want to put as much of my own effort into it as possible and not use them for entertainment, if that makes sense. Don’t use AI, collaborate with AI. I think we have some large, complicated questions to answer with this massive shift, and we’re just at the start. I hope design can contribute to that in positive and meaningful ways.

Regarding the speed and pressure of…everything

If all of this stresses you out and feels like a lot, know that you’re not alone. I feel it too. At times, it’s energizing, but just as often, it’s draining. Take it slow, take a nap, take a walk…take time for whatever you need.

Read More
Keith Keith

Vibing with some Vibe Coding Tools

I’ve been playing around with some AI coding and prototyping tools and wanted to record and share out some of what has been working for me and how they’re connected.

I’ve been playing around with some AI coding and prototyping tools and wanted to record and share out some of what has been working for me and how they’re connected.

FWIW - I’m trying a lot of different things and trying to be curious and open-minded to these tools, so there is a bit of overlap in what they do and I’m not yet looking for the best possible tool, it’s more about getting a feel for them. There is a LOT of overlap between these tools, and the nature of how the agents and prompting makes them a bit hard to compare.

I think these tools are going to change how we work. I’m not going to touch on all the implications of that, though I do have thoughts and concerns. Lots of them. For the purposes of this post, though, I recommend reading with a beginner’s curious mind.

The tl;dr: so far my favs “core” tools are:

  • Cursor - for local editing, fine tuning and when you need control

  • v0/Vercel - for prototyping and smaller app ideas (Bolt, FWIW seems very comparable, but I have had a bit more luck with v0.)

  • Replit - for mobile workflows, for a full-stack AI agent help

Cursor - Local IDE and Coding Agent

Best for working locally, more advanced control and iteration. Taking a text-to-prototype to the next level.


~Cursor~ is the best IDE I’ve found for AI coding and the built in agent is also very good. I’ve found it works better implementing specific UI, and if you know how to code, it works just like VSCode or another text editor.

What it’s used for: Prototyping and sketching (vibe coding) with the agent, direct code editing (it’s a fork of VSCode and works much the same) and anything else you’d do with an IDE.

What’s cool about it? It’s a nice, standard IDE and the agent is powerful and easy to use. If you’re new to working with AI coding agents, it’s fairly easy to get started and is a great place to play around while you’re learning.

Cursor has been really helpful getting environments set up. This is something I’ve often struggled with, and having that AI pal there to chat with has been a bit of a game-changer. (This also applies to the online tools as well, have had a lot of luck with v0 setting up dependencies, data bases, storage, APIs etc.)

~https://www.cursor.com/ ~

Vercel and v0 - Deployments and AI-powered UI generation

Very good for text-to-prototype generation, when used in conjunction with Vercel’s backend and hosting capabilities it’s a full-featured service you can use to build lightweight apps. The stack seems a little locked in (next.js, shadcn, etc.) and inflexible when compared to Bolt or Replit. Another thing I’ve noticed is v0 will take some liberties that the others don't, sometimes this is a good thing, sometimes it’s…inexplicable.

~Vercel~ is a cloud platform for deploying and hosting websites and web applications, while ~v0~ is Vercel's AI-powered UI generation tool that helps developers create and prototype user interfaces using natural language prompts.

What it’s used for: Vercel is used for deploying applications and prototypes to the web, and it’s really great for that. v0, on the other-hand, can be used to sketch out UI, build prototypes and more with the help of an agent.

v0 has a great UI and is great for UI, but it struggles a bit when it comes to doing more complicated things. If it starts to “debug” or build test pages, you’re likely going down a path you don’t want to spend time on. Still, these tools are early, so I expect it to get better.

What’s cool about it? I really like Vercel’s UI and hosting dashboards, they’re very clean and well laid out. Getting something deployed to Vercel from something I built in Cursor was very easy and things just seem to work.

~https://vercel.com/ ~
~https://v0.dev/ ~

Replit - Powerful, full-stack agent and hosting

Replit is the best I’ve tried for more complicated, full-stack work. It’s text-to-prototype is good, but it’s a bit heavy for that, IME. If I were looking to build a fully functional app I think I might start with Replit, but it’s not as good with more simple prototyping.

  • Replit feels more complete than all of these tools. Which, frankly, isn’t always needed.

  • Replit is the only one (that I know of) that has a viable mobile interface and it works pretty well.

  • Sadly, the above two bullet points are a little at odds. for some of these more light weight tools building better mobile interfaces.

Replit~ combines cloud-based deployments and hosting with a built in AI agent. Kind of like Vercel+v0 in one package. So there is some overlap there. Replit is really great for rapidly exploring ideas or generating quick prototypes or sketches using it’s built-in agent.

What it’s used for: Prototyping and sketching (vibe coding) via the agent, especially in an “on the go” context. It can set up databases, environments, dependencies just by interacting with the agent.

What’s cool about it? I’ve found their agent(s) to be really easy (and fun) to work with, and they have a nice mobile app interface. I built the first draft of a personal project I’m working on over the course of a Saturday afternoon, just by chatting with the agent on my phone. As well, the web IDE works pretty well, for if/when you need to get into the code on-the-go, and they have nice documentation.

😎 Watching the visual preview build your UI. It’s fun to give Replit a detailed prompt and then just watch it go.
😛 The ability to target an element (say a button) in the agent is really helpful when prompting.

~https://replit.com/ ~

Lovable - Cloudbased AI prototyping agent

My trialing of Lovable has been underwhelming. It doesn’t seem as good as either Replit or v0 and has some limitations, the big one being that it’s more difficult to make direct edits to the code.

What it’s used for? Similar to v0, it’s a web-based assistant that helps get you started with a prototype or app idea.

What’s cool about it? It seems very similar to v0 and Replit. So can be used in the same way.

What’s different about it? In my experience, it’s a little slower than both of those, and the results, while similar are a little less accurate when using an image reference. I’ve done several experiments with it and so far see nothing that would put it over v0 or Replit.

Bolt - Flexible Cloud-based Prototyping

Bolt is interesting. I’d put it on par, or maybe even better than v0 for UI work. It’s more flexible as well, as you can mix up the stack if you’re looking for something that falls outside of the next.js/shadcn situation that seems fairly ubiquitous. One thing to note, I’ve noticed it takes some short-cuts when using screenshot/Figma import that v0 doesn’t. So it looks more accurate, but the code isn’t as good.

Also, anecdotal but I’ve had it run into issues that seem trivial but it can’t seem to resolve. So far it’s been a bit frustrating.

What it’s used for? Similar to v0 and Lovable, it’s a web-based assistant that helps get you started with a prototype or app idea. At first glance it’s more like v0 and seems to offer a lot of similar features and a similar workflow.

What’s cool about it? Similar to v0, it does a good job getting a first cut, especially with more static, one page views and micro-explorations.

What’s different about it? Can’t see much different to v0 so far, with the big exception that you can easily specify different tech stacks and frameworks.

When using the import from Figma feature, it made a few short cuts that I really didn’t like. Turning core UI and visualizations into images, for example. This might not matter, but I wanted to try and make some direct refinements to some things and realized I couldn’t when looking at the code.

~https://bolt.new/ ~

Figma MCP

So I’ve been playing around with this Figma MCP for a bit, and it’s pretty interesting, if somewhat limited. MCP stands for Model Context Protocol and it’s a way to connect LLMs (and agents) to tools that add context and information to help they do what you want them too. (That’s my rough layman’s overview.) In this case? It can have a peek at your Figma designs. I’ve found this works pretty well at the component, or isolated UI level, and so-so at the “full page” level.

What it’s used for? Giving agents and LLMs (like Cursor’s agent) access to have a look at your Figma files. Many tools now have Figma import, and now, with Figma Make coming along, I’m not sure this will be all that useful going forward. Especially since the results have been mixed, IME.

What’s cool about it? It does a pretty good job of recreating designs, and can be used as a big time-saver, especially when looking at more isolated things like smaller components.

https://github.com/GLips/Figma-Context-MCP

A note about Figma’s latest releases

I’ve not been able to play with these tools (specifically Sites and Make) but I’m very excited to check them out. From what I can gather, reading up on them and watching the deep dives at Config, they’ll be a gateway and game-changer for designers. If they can nail the round trip workflow (into and out of Figma to Code via a git repo, etc.) and handle existing codebases somewhat elegantly, I think they’ll be a no-brainer for a lot of teams. Even without that, they’ll be extremely valuable.

Their principles of 0 to 1 and 1:1 really resonated with me. All of the tools I’m talking about here have been a bit of an unlock for the maker in me, allowing me to do things I would have struggled to do before, and take my ideas to something tangible much quicker, which is key in my work. I love the prompt to prototype workflow, but I have struggled nailing the details and I think that this is where Figma’s tools can really shine: getting that last 10% just right. Nailing the 1:1.

Tips and advice

  • Knowing how to code helps a lot with these tools. There have been many times when a change you want to make would be much easier just jumping into the code, as opposed to trying to vibe with an agent. NOTE: The code these tools write can vary from really good to terrible. I’ve been pretty disappointed with a lot of the front end code specifically. It works, but if you’re looking for semantic code, or clean implementation, these tools are not it.

  • Knowing how to use version control (Git) and having a good understanding of the concepts of git can help a lot, even if you’re not connecting your work to Github or coding locally. It’s really easy. for these agents to go off the rails, and knowing the ramifications and risks of going backwards, is important.

  • Be careful when things start to go sideways. While most of these tools offer some way to move backwards, I’ve noticed that it’s really tricky and gets more and more tricky as you go. v0 has been the best for this, but if you decide to move things locally (to Cursor, for example) it’s a one-way street and there is no going back.

  • Knowing how to talk to the agents in “technical” terms helps. So knowing the language of UI, or how to structure apps and views, etc. Example: if I want to change the data model, being specific about that as opposed to just referring to the view, helps. But using other agents, like asking Claude or Chat GPT outside of these tools for helps, is a good thing to try when you're not seeing what you want. I’ve had some luck asking for another agent to help me develop an idea an prompt before getting into the actual making process.

  • Keep those designer soft skills sharp! Soft skills and design fundamentals are going to be more important than they’ve ever been. Being able to articulate and defend design decisions, having solid, clear and thoughtful rationale and being able to communicate and present your work well will be key. We’ll be doing more work via text, and our skills around collaboration, problem-framing and sense making will be front and center.

  • If you’re designing in Figma: organize your file and name your layers semantically. I’ve noticed this has helped quite a bit. I need to explore more, but I think there might be something there to help these tools implement things correctly. I expect this will hold true going forward. These tools can leverage that context and organization to fill in context and gaps. They’ve got internal rule sets that, at least right now, you can’t change, and giving them the proper context, along with visuals, can help break through those rules when needed.

  • Speaking of rules, learn how to use rules and instruction in prompting. This is especially helpful in Cursor, which allows for both global rules and project-based rules. Having the right prompt and the right rule set can really make a difference. Most of the time. Sometimes it’s a good idea to just let the agents do whatever they do with minimum instructions, I’ve been surprised quite a few times with how creative the solution is.

Read More
Reflection Keith Reflection Keith

Milestone Reflections and Unsolicited Advice for Designers

Over the holiday break, I took a little time to reflect on my journey as an individual contributor (IC) designer in leadership. The career path for IC designers is something near and dear to my heart. Now that I’m closer to retirement than I am to starting out I wanted to share some thoughts and reflections about what it’s like to be an IC in leadership and some tips and ideas for what’s kept me sane and allowed me to keep at it for so long. I’ve collected many great moments, and while my path has not been typical, along the way I think I’ve learned a lot.

Isn’t it our job as humans to be collecting great moments? Photo taken in Reykjavik, Nov, 2024. Mural by Herakut

Ten years ago today I started a new job working for Atlassian.

I was one of two designers working on Bitbucket. This quickly became one designer—me—and then our PMs left the company. Just me and a bunch of excellent engineers for a while. I miss those days. For most of my first couple of years, I was one of 50-ish designers in a company that was only just getting its mind around how to work with design. We grew quickly; it was a wild and rewarding ride. In those ten years, a lot has changed. I’ve grown, the company has grown, and we’ve had a few ups and a few downs.

But Atlassian—the people, the products, our customers—has been the best place I’ve ever worked, I’m eternally grateful for the opportunity and I’m looking forward to many more great years there. Like many reading this, I’m sad and concerned with the direction many tech companies are heading, and while Atlassian isn’t perfect by any means, and some of those concerns apply there as well, I’m mostly proud of the work we’re doing and the way in which we’re doing it.

What follows is a slightly altered reflection I posted on our internal Confluence, primarily for other Atlassian designers. Still, I figured I’d share these thoughts and the unsolicited advice here, too.


Over the holiday break, I took a little time to reflect on my journey as an individual contributor (IC) designer in leadership. The career path for IC designers is something near and dear to my heart. Now that I’m closer to retirement than I am to starting out I wanted to share some thoughts and reflections about what it’s like to be an IC in leadership and some tips and ideas for what’s kept me sane and allowed me to keep at it for so long. I’ve collected many great moments, and while my path has not been typical, along the way I think I’ve learned a lot.

As with most things, your mileage will vary, and you might even disagree with some of these, but I hope they get you thinking.


Ask a lot of questions.

That’s it—that’s my number one piece of advice. It’s a wonderful opportunity not to know something. I like to think my primary responsibility as a designer is to ask questions and consider the answers.

Actively look for problems and opportunities.

Stick your fingers into other people’s pies; just be friendly and helpful about it. Ask to help, ask questions, and dig into the work to find ways to improve it and yourself.

“Share early; share often” is fantastic advice. Do that.

Be proactive and seek feedback whenever you can. Don’t be afraid to show messy work and be sure to include outside perspectives if you can.

Soft skills are more important than technical skills most of the time, and they become more important the longer your career goes.

It’s particularly important to become a good, clear communicator and know how to manage your time.

Get comfortable with ambiguity and being able to shift altitude.

This means learning about product, business, and strategy and being close with your leadership teams while at the same time getting and staying as close to the work as possible. As you move up and your responsibility and influence increase, it’ll be more challenging to stay close to the work, for good reason, but do what you can to remain as close to the work as possible.

Specialist vs generalist? Why not both?

(Yes, I realize that doesn’t make sense. But sometimes things just don’t add up.)

Either can work and often, your work will push you toward one or the other. I’m more of a generalist, but I have the mindset that I can specialize when needed. I like to say my design specialization is design.

If you identify as an introvert like me, you might want to practice being extroverted.

Design is a team sport most of the time, so practice playing as and with a team. I fully believe you can get more comfortable with people if you’re introverted, but it takes practice.

Practice all of the crafts. Color outside of the lines and be flexible.

Become part engineer, lean into product management or research. Exposing yourself to many other skills and work is a good idea, even if you are a specialist. Practice that beginner’s mindset throughout your career.

Learn how to facilitate and bring others into the design process.

Look for opportunities to run workshops or help with design sprints or strategy sessions. Volunteer for these things if they come up; don’t wait to be asked.

Work on your rationale and understand why you’re doing things. Also, examine the rationale of others.

I often think of design as similar to legal practice. You need to research and investigate, have hypotheses to test and learn from, and build and present a case for your ideas and solutions.

Work on your writing.

Written communication will always be a part of what you do. Don’t let AI do too much. People can often tell, even if they don’t say anything and too much reliance on AI prevents some of the personal benefits you get from writing. (AI can be helpful; just don’t let it do all the thinking and phrasing for you.)

Find a way of working that works for you, but don’t be afraid to keep trying other things.

It’s good to mix it up. I find my perfect process is the one that’s working for me at the moment. Sometimes, I write to think; sometimes, I sketch; sometimes, I prototype; sometimes, I explore and make a big mess; sometimes, I’m analytical and dive into research and data. Some people have very solid processes they go to, but even then, in a collaborative environment, you need to be flexible. There is no one right way to do things.

An iterative process is usually best when shipping a great product to customers.

Build relationships with PM and ENG so you can move fast, get better at prototyping, and do enough research so your team can test to learn and get the next iteration over the line. Lean into working this way when you can.

Develop a sense of quality but don’t let unknowns and a quest for perfection slow you down too much.

A Good, better, best approach (something we embrace at Atlassian) is an excellent framework for this. We should build at a level of quality we can be proud of and not rely on our customers to tell us where that bar is.

Practice and growth never stop, but they do get trickier as responsibilities pile up.

It’s terrific to have side projects and hobbies for those times when you don’t have time or energy for “on-the-job” growth. This is doubly important as you naturally move from implementation to influence. Keeping sharp will not only benefit the work, it’ll be more fun.

Practice giving direction and leveraging the work of others.

Even if you stay an IC, you’ll do less and less “hands” work as you move into leadership, and it can be a tricky transition. Not always being the one doing the work is more difficult then you’re probably thinking. I know it was/is very difficult for me. But as many manager-types will tell you, there is a lot of value, and a lot of reward, in facilitating and supporting the work of others. The shift is challenging, but you’ll likely to find that leaning into it will free you up to do more overall, and increase your impact.

Don’t fear mistakes.

Failure isn’t fun. I’ve never been a fan of glorified failure, and it’s not the only way to learn. In my experience, what's essential is being resilient and willing to experiment and take risks. So don’t see out mistakes, but don’t let fear of them hold you back.

Stay humble, helpful, and easy to work with, but protect your energy.

Don’t shy away from pushing back when you need to, and ask questions when things don’t seem right; sometimes, things are not correct, and you might be the only one who sees it. We’re all in this together, so don’t be afraid to be the squeaky wheel. Having said that…

Sometimes, it’s best to dive into the work and see what happens.

We’re not always going to know the best way to do things, and sometimes the best way to move forward is to jump in—together, as a team—and figure it out.

Read More
Keith Keith

Hello 2025: On Resonance

I’ve had a bit more free time the last couple of weeks than I usually do, and in that time, I’ve done a fair amount of thinking, planning, and scheming for the new year. This is something I’ve done almost every year throughout my adult life. I look forward to it, in a way I think I’m kind of addicted to it. There is something about the act of planning self-improvement that makes me feel good and productive. I’m also one of those who is able, most years anyway, to keep my plans and schemes going through the year.

A scenic sunrise taken somewhere in my neighborhood.

I’ve had a bit more free time the last couple of weeks than I usually do, and in that time, I’ve done a fair amount of thinking, planning, and scheming for the new year. This is something I’ve done almost every year throughout my adult life. I look forward to it, in a way I think I’m kind of addicted to it. There is something about the act of planning self-improvement that makes me feel good and productive. I’m also one of those who is able, most years anyway, to keep my plans and schemes going through the year.

So, yeah, for the most part, I feel good about it.

But in recent years I’ve realized that what I’m feeling is more around the progress towards the goal. It’s about ticking off the days, the tasks, the objectives, the measurements and counts, and the impact. And I’ve come to question whether or not I’m interested and feeling good about the right things.

I’m not sure I know the answer yet. But what I do think I’ve realized is that I’m putting more effort into the systems I’m creating and the order and control those systems seem to provide me than I am into the things that I want to get out of them.

Don’t get me wrong; there is a huge benefit in these systems and in the structure they provide. But as they relate to my life, I think they are more on the “means” side of things than the “ends” side. And I’m hoping to shift that balance. To what? I’m not entirely sure, but the word I think I will go with to describe what I’m looking for is “resonance.”

I like the idea of a theme word to help guide me through the year, especially when I’m feeling a little lost, which happens. So this year, I’m going with resonance as my theme word.

I didn’t come up with it on my own. As life sometimes does, it provides clues and waypoints to guide yourself, and this one I found in the intro to a book I’m working through: Meditations for Mortals by Oliver Burkeman. This book is about embracing our imperfections in ourselves and our lives. And letting go of the drive to be perfectly productive. It’s about learning that life as an imperfect human being isn’t something that needs to be solved. I read this intro, and it instantly resonated (heh) with me. This is double-bonus cool because a section of the intro was about resonance, specifically, and how we might find it.

Burkeman writes that when we lack resonance, life feels empty and meaningless. He describes it cleverly as a contrast to how we should feel when we’re “productive” and doing all the “right things” but still feeling unsatisfied. We’re doing things, but they’re not filling our cup.

Reading this made me feel instantly sad, as it spoke to something I think has been lurking at the edge of my mind for many years. I feel this way sometimes, not all the time, but enough. I’ll not bore you—or myself—recounting all the ways why that is; I’ll just say that it resonated with me.

But it also excited me in a few ways. Understanding, even just a little, this feeling, this lack of resonance, triggered a strong desire to find out why and how I could change things, at least try something new. I realize it might be a trap. It could be just another self-improvement carrot to dangle in front of my gob as I run through the motions, resulting in feeling the same way on the other side. But maybe it’s not. Maybe there is something to it. I’m motivated to find out.

It was nice to see Burkeman speak to that very feeling and admit that he, like me, sometimes struggles with productivity addiction and a desire to design and implement systems to help bring life into control. Yep, that’s what I do all the time. I’m a huge fan of systems.

Like most new years, I see this new year as a reset. I’m not going to bin the systems I’ve got in place, but I’m also not going to try to improve them. They’re there, they work. I don’t need to justify their existence or my ability to be even more productive by putting more work into them.

Instead, I will take a step back and focus on looking for resonance in the things I do. I’ve got things I want to do, but plans and goals are a bit looser than usual. I’ll follow the energy wherever it leads me, trying not to impose too much order and control over where life goes, working on doing one thing (work, play, exercise, reading, etc.) that feels like the best next thing to do.

We’ll see how it goes. I’m excited to return to work and my job benefits from a fair amount of structure. At the same time, I’m often told that I try and do too much, so maybe a slight pullback will be good.

Read More
Reflection Keith Reflection Keith

Goodbye 2024

I didn’t do any blogging during 2024. This was mainly because I was head-down-focused on the first draft of my first novel. I made some good progress on that, too. Not so much that I’m going to let anyone read it, but enough that I’m very proud of my work and the things I’ve learned along the way.

I didn’t do any blogging during 2024. This was mainly because I was head-down-focused on the first draft of my first novel. I made some good progress on that, too. Not so much that I’m going to let anyone read it, but enough that I’m very proud of my work and the things I’ve learned along the way.

2024 was, in most ways, a good year. I traveled a lot—spent some weeks in the spring in Germany and Switzerland, which was beyond incredible, and had a few trips along the way to San Francisco—my old home—and a trip to Iceland for Iceland Airwaves. That was fantastic. SXSW was also great this year and Kerri and I had a lot of fun at Bottlerock Festival in Napa.

Lots of good music this year. If you’re into long, eclectic Spotify playlists, here’s what I have for you:

I also went to Sydney—my favorite city—a whopping four times, which was great. Most of that time down under was for work, but I enjoy connecting with my co-workers in person, and I feel so much better about work in general when I’m face-to-face with people.

I don’t have much to say at the moment. I’m feeling fairly exhausted even though I’ve had a lovely week or so off to celebrate the holidays. 2024 has been great, but it’s taken a lot out of me. I don’t think I’d go as far as to say I’m feeling the dreaded burnout, but this time of year is usually a nice pick-me-up, and in years past, I’ve come into the new year feeling energized. Not so this go ‘round.

Still, I’ve had enough energy to do some blog tinkering and get this thing up and running again. I’m not 100% sure what I plan to do with it, but I need some alternative to social media, which completely drains me to engage with, let alone keep up with, in any tangible way.

More to come, but for now, here are some of the many photos from this year.

Read More
Book Keith Book Keith

Kagen The Damned by Jonathan Maberry

This book was bonkers in many ways, lacking in subtlety and slipping some sneaky/interesting ideas between blood, gore, and horror. The tone falls between a hacker flick and an epic fantasy novel, which I didn't expect and liked more than I would have guessed. Most of the over-the-top violence here serves a purpose, but sometimes I felt it was a bit much.

⭐⭐⭐⭐

File under: Cosmic Horror meets Epic Fantasy, with a side of a lot of other stuff

Wizard-level reading challenge: A book written by a new-to-you author

This book was bonkers in many ways, lacking in subtlety and slipping some sneaky/interesting ideas between blood, gore, and horror. The tone falls between a hacker flick and an epic fantasy novel, which I didn't expect and liked more than I would have guessed. Most of the over-the-top violence here serves a purpose, but sometimes I felt it was a bit much.

Jonathan Maberry is a “new-to-me” author (which marks one off my list), and—I didn’t know this going in—he’s most well-known for horror, which explains a lot.

Overall, though, I liked it. But I also like grimdark, cosmic horror, and bonkers-kitchen-sink-type novels, so this was right in my wheelhouse. YMMV, for sure, and I expect some people to hate this one.

Oh, an aside: I would have loved a better map. :)

Read More
Song Keith Song Keith

Images of Heaven by Peter Godwin

Throwing it back to a classing 80s dance cut.

Hey Journal, it’s your lucky day. Yep, that’s right—it’s Throwback Thursday! I don’t do this every Thursday, but when I do, you know you’re in for a treat. This time, it’s a simple share of a particular song that I’ve loved for many a year. It was recently reminded to me, as the melody in “Faded State” by Home Front is a bit similar.

“Images of Heaven” by Peter Godwin. Released in 1982 on the EP Dance Emotions, this was a frequent dance-floor banger, popular amongst wavers and goths alike as it had both haunting melodies and an excellent, simple, and danceable beat. “Torch Songs,” also from Dance Emotions, was also good.

Read More
Artist Keith Artist Keith

James Jean

A few words about my favorite artist.

James Jean - Pinocchio Move Poster

I think James Jean might be my favorite artist. I saw his art first, I think, on the cover of Fables, the magnificent comic series by Bill Willingham. James Jean is a Taiwanese-American artist who works across mediums and, I think it’s safe to say, is prolific. His Instagram is something to behold; the volume, speed, and quality on display are inspiring.

His style is so unique and his imagination so wild, it’s…well, it’s hard to imagine a single conduit for so much. I’m in awe of his talent and find myself impressed over and over with his latest and greatest. My favorite work of his might is one of the most simple: Maze from 2008.

Read More
Tool Keith Tool Keith

Lifetracking with Notion

For a few years now, I’ve been tracking goals, aspirations, projects, and a lot of other things in a fairly complex Notion-based setup.

For a few years now, I’ve been tracking goals, aspirations, projects, and a lot of other things in a fairly complex Notion-based setup.

Over the years, I’ve modified, tweaked, and designed my way to an easy-to-use and robust system that works well. It’s flexible and useful and requires limited input, except where I’ve designed it to do more heavy lifting.

I used to track things day-by-day, but after a couple of years doing that, I decided the value was not worth the effort. Now I’ve got a weekly/monthly/quarterly/yearly set up that covers mostly the highlights and essential markers, leaving the minutiae to automated things. This has freed up a fair amount of time and brainpower to spend on other things while still allowing for a regular cadence of learning from reflection, which I think is highly valuable.

While it’s a low priority, I would like to share the system. Either in template form or via write-ups. It took quite awhile to build, both initially and as it was refined over time, and I think it could be of great use to others. The seeds of my system were built from scratch, following guides and advice provided by August Bradley, Marie Poulin, and others, and over the years, I’ve changed it a lot. If anyone stumbles across this journal and wants to learn more, I highly recommend checking those two out. In the mean-time, here’s a shot of what it looks like. The front door, so-to-speak. I’ve got one of my projects—my novel work—exploded. That’s another template I’d like to share at some point. It’s based off of something I found via Reddit a while back, but I’ve heavily modified it and will continue to do so.

My Notion set up

Read More
Artist Keith Artist Keith

Robert Gould

Appreciating the work of fantasy artist Robert Gould.

Elric of Melniboné by Robert Gould

One of the things I love the most about many of the books I read as a youth is the covers. I’m still a sucker for a great cover, but something about the artwork and design of books from the 1970s and 1980s sticks with me. Among my favorites, one artist stands out, and, in many ways, I think shaped and inspired my interest in both art and design. That artist is Robert Gould.

Sadly, I couldn't find a lot of info on him. I did, however, find a lot of his work, so much so that I got a little lost looking for info about him. I’m a reasonably talented internet sleuth, but this one has me stumped. And it’s odd, right? His art is so fucking good, and there is a lot of it out there. He did a lot of covers back in the 80s, and I can find all sorts of ephemera from him, but not a lot about who him. I’m alright with that; I’ll chalk it up as a mystery. Having said that, I’m not done, I now have a goal to own some of his work, and I think I might need to put considerable effort into that.

Read More