2022 Q4 Planning

There’s a lot still on the list for annual goals, and I’m more than a little hopelessly behind on most of it.

2022 Q4 Planning
Photo by Kelly Sikkema / Unsplash

Goal Modifications ✏️

There’s a lot still on the list for annual goals, and I’m more than a little hopelessly behind on most of it.

Longer list be damned, I think I’d be pretty happy with myself if I accomplished the following this quarter:

  • Make steady progress every day on work that matters and feel generally inspired to do it.
  • Continue training hard to feel good about my fitness and in preparation for another Olympic triathlon in April of next year.
  • Get back into an exercise and diet routine that consistently moves my body metrics in the right direction.
  • Recover and stick to my Anki habit, even if I’m only reviewing a handful of cards each day and not adding anything new.
  • Take some version of the TOCFL this year, even if it’s at a lower level than I had set out to do, even if I don’t do any extra studying before taking the test, even if I rationalize that it’s a waste of time and money, and especially because I don’t want to do it.
  • Get my Taiwanese driver’s license, for cars and motorcycles.
  • Prepare whatever I need to prepare to apply for permanent residency in Taiwan.

In terms of actual modifications to goals this quarter, I’m going to go ahead and remove anything not totally relevant to the above, and I am going to remove supporting habits in favor of giving myself the flexibility to figure it out. I’ll check in on each of these high-level intentions at the end of the quarter.

Work-wise, below are a few more specific milestones I’m aiming for. It’s hard to say exactly how long all of this work is going to take, since so much of it is conceptual and not fully scoped yet.

  • Holocron
    • Support at least two underlying libraries from the ecosystem for the backend, though I only need to support the subset of their functionality that I intend to use.
      • Right now I’m targeting MikroORM and either Prisma or TypeORM.
    • Experiment with how much code sharing I can get for data modeling between the frontend and backend in realistic scenarios.
      • This is one of those capabilities that I find intriguing, but which is out of the scope of many (but not all) frameworks, and is out of the scope of most libraries.
    • Support at least one library for the frontend.
      • Right now I’m targeting WatermelonDB.
    • Thorough end-to-end testing for all plugins, where I check to make sure the underlying database gets configured properly and consistently.
    • Stretch: Experiment enough with data syncing between the frontend and backend to define a potential future API for it.
      • This piece doesn’t need to be completely fleshed out right now, I just need to know I haven’t made it impossible for the future.
  • Solari
    • Support mobile purchases using RevenueCat.
    • Enough of a proof of concept for supporting web purchases with Stripe that I can feel confident that Solari’s core API is general enough to cover both use cases.
    • Create an adapter that plugs Solari into NestJS and serves Solari’s API via GraphQL.
      • For compatibility with Midana’s existing technology.
    • Thorough testing suite for Solari, with integration tests with sandbox APIs where possible.
  • Primero (working title, for permissions)
    • Create an API that can granularly define permissions for objects and actions in the system, down to field level on an entity.
      • This API should ideally work on both the client and the server, with plugins to define how permissions are granted based on runtime context.
    • Support at least one underlying library from the ecosystem for the backend.
    • Get a clearer picture of how Primero will interact with and restrict access to entity-based services provided by Holocron.
    • Thorough testing suite for all of Primero’s functionality.
  • Genesis
    • Scaffold a React Native library, which potentially includes dependent native modules for install through Cocoa Pods.
      • I’ll likely need this in order to build out the client-side components for Solari as it will plug into Midana.
    • Stretch: Scaffold a React library, with exported components to use across projects.
      • This is for future web-based projects.
    • Stretch: Scaffold an Electron app.
      • This is for a side project I have in mind that may require a desktop client.
  • Midana
    • Integrate Solari, Primero, and Holocron into Midana to power in-app purchases.
    • Resolve reports that the receipt scanner gets slower after each receipt and eventually crashes.

There’s a lot here, and I don’t want to put more pressure on myself than is productive. That said, I am excited enough about this work that I suspect I’ll naturally find myself working hard on it, sometimes during odd hours, and sometimes over weekends. Hopefully never at the expense of life balance. I’ll get through as much as I can in the next 3 months without burning myself out.

Risk Mitigation 🛠️

Summarize the risks identified in quarterly review. Outline actions that need to be taken to mitigate those risks. Deep dive into any new methodologies that need to be explained or thought out using sub-headings.

Normally this is the part where I come up with some clever new strategies to get back on track, or I give myself a pep talk, or I insist that everything will work if I just try harder.

I’m not going to do any of those things this quarter. The intentions are set pretty clearly, and given my gradual recovery from travel burnout, I don’t want to put too much pressure on myself—I suspect doing so would backfire. I’m also curious to see what happens if I give myself the space to be creative about how I express those intentions.

That said, there are a few things I know are helping, that I think may be good focal points for risk mitigation.

The first is meditation. Meditation generally leaves me feeling less stressed and anxious, and few things give me better value for time in terms of making space for calm, creative flow. I also notice that when I take time to meditate, I am much more likely to have space to proactively choose my response to certain triggers—a craving, for example, or laziness. My meditation habit has fallen off in recent months, but it’s already been proven time and again that this habit helps to bring all others into focus.

The second is working out of cafes. Sometimes I find flow more easily when I spend time at a cafe. It helps build momentum to physically “get started” with my day, and the occasional change of scenery helps more than I had realized—without it, I can sometimes literally go days without leaving my apartment. This is a tool, just like pomodoros are a tool—use it as often as is helpful, and not a smidgen more.

The third is getting plenty of sleep, as much as my body feels it needs. If I’m waking up tired instead of rested and energized, I’m doing myself a disservice. When I feel tired, I’m more prone to getting stressed out and I find flow less often. Being rested >>> being awake early, though the two aren’t mutually exclusive.

Summarized Habits and OKRs 🎯

Habits 📅

  • Daily
    • Morning
      • Meditate
  • Weekly
    • Exercise 5-6 times each week

OKRs 🎯

  • Launch Midana to the general public
    • Resolve long-term scaling issues for the Midana mobile client
    • Resolve long-term scaling issues for the Midana backend
    • Resolve stability issues in registration and onboarding flows
    • Implement backend infrastructure to track receipts for in-app purchases and subscriptions
    • Implement backend infrastructure to gate access to features based on purchase status
    • Implement at least one premium feature to ship with the app on launch
  • Holocron
    • Support at least two underlying libraries from the ecosystem for the backend, though I only need to support the subset of their functionality that I intend to use.
      • Right now I’m targeting MikroORM and either Prisma or TypeORM.
    • Experiment with how much code sharing I can get for data modeling between the frontend and backend in realistic scenarios.
      • This is one of those capabilities that I find intriguing, but which is out of the scope of many (but not all) frameworks, and is out of the scope of most libraries.
    • Support at least one library for the frontend.
      • Right now I’m targeting WatermelonDB.
    • Thorough end-to-end testing for all plugins, where I check to make sure the underlying database gets configured properly and consistently.
    • Stretch: Experiment enough with data syncing between the frontend and backend to define a potential future API for it.
      • This piece doesn’t need to be completely fleshed out right now, I just need to know I haven’t made it impossible for the future.
  • Solari
    • Support mobile purchases using RevenueCat.
    • Enough of a proof of concept for supporting web purchases with Stripe that I can feel confident that Solari’s core API is general enough to cover both use cases.
    • Create an adapter that plugs Solari into NestJS and serves Solari’s API via GraphQL.
      • For compatibility with Midana’s existing technology.
    • Thorough testing suite for Solari, with integration tests with sandbox APIs where possible.
  • Primero (working title, for permissions)
    • Create an API that can granularly define permissions for objects and actions in the system, down to field level on an entity.
      • This API should ideally work on both the client and the server, with plugins to define how permissions are granted based on runtime context.
    • Support at least one underlying library from the ecosystem for the backend.
    • Get a clearer picture of how Primero will interact with and restrict access to entity-based services provided by Holocron.
    • Thorough testing suite for all of Primero’s functionality.
  • Genesis
    • Scaffold a React Native library, which potentially includes dependent native modules for install through Cocoa Pods.
      • I’ll likely need this in order to build out the client-side components for Solari as it will plug into Midana.
    • Stretch: Scaffold a React library, with exported components to use across projects.
      • This is for future web-based projects.
    • Stretch: Scaffold an Electron app.
      • This is for a side project I have in mind that may require a desktop client.
  • Midana
    • Integrate Solari, Primero, and Holocron into Midana to power in-app purchases.
    • Resolve reports that the receipt scanner gets slower after each receipt and eventually crashes.
  • Get my Taiwanese driver’s license for both cars and motorcycles
  • Prepare to apply for Permanent Residency in Taiwan
  • Get my weight back down to the ~145-150 lbs range
  • Reach 10% body fat
  • Go on 100+ bike rides
  • Clear out my backlog of old Anki cards
  • Register for a TOCFL test in early November
  • Read 40 books

Metrics 📊

  • % compliance for daily, weekly, and bi-weekly habits
  • Body weight
  • Body fat percentage
  • Pomodoros completed each day
  • Average number of pomodoros completed per week
  • Midana average star ratings from Apple App Store and Google Play Store
  • Midana profit per month
  • Weekly active users across all products
  • Number of bike rides completed
  • Number of rejection challenges completed
  • Minutes of Chinese active immersion
  • Number of new Chinese Anki flashcards learned
  • Number of backlogged Anki cards remaining

Subscribe to Daniel Chiu

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe