> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oakminder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Who built this

> Meet the person behind Oakminder.

I needed a reminder app that didn't make me open it just to snooze. That's it. That's why Oakminder exists. I've been using productivity tools every day since 2016, and I've tried nearly every reminder app out there. They all share the same problem: they assume you have time to open an app when you're already busy. So I built something that works differently.

If you're curious about the person behind the app, here's the story.

<Check>Oakminder is a solo project. One person designed it, built it, and ships it. Everything on this page is my actual background, not a team bio or a company origin story.</Check>

## The long version

<Frame>
  <img src="https://mintcdn.com/oakminder/tnITK7iWdnAURgwG/images/SteveOak.png?fit=max&auto=format&n=tnITK7iWdnAURgwG&q=85&s=d1d4e45ec5532f7eb3e88b84148cdb44" alt="SteveOak" width="1410" height="1057" data-path="images/SteveOak.png" />
</Frame>

<Steps>
  <Step title="Drawing in MS Paint (2003)" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M19.5591 2.48953C18.9146 2.17016 18.1579 2.17016 17.5134 2.48953C17.1713 2.65908 16.875 2.95604 16.5275 3.30449L8.87047 10.9615C8.67047 11.1615 8.57047 11.2615 8.57047 11.3858C8.57047 11.5101 8.67047 11.6101 8.87047 11.8101L12.1899 15.1295C12.3899 15.3295 12.4899 15.4295 12.6142 15.4295C12.7384 15.4295 12.8384 15.3295 13.0384 15.1295L20.6955 7.47253C21.044 7.12494 21.3409 6.82872 21.5105 6.48657C21.8298 5.84207 21.8298 5.08538 21.5105 4.44087C21.3409 4.09872 20.9687 3.72735 20.6202 3.37976C20.2726 3.03131 19.9013 2.65909 19.5591 2.48953Z" fill="currentColor"/><path d="M11.1292 17.0387C11.3292 16.8387 11.4292 16.7387 11.4292 16.6145C11.4292 16.4902 11.3292 16.3902 11.1292 16.1902L7.80982 12.8707C7.60982 12.6707 7.50982 12.5707 7.38555 12.5707C7.26129 12.5707 7.16129 12.6707 6.96129 12.8707L6.37048 13.4616C6.17048 13.6616 6.07048 13.7616 6.07048 13.8858C6.07048 14.0101 6.17048 14.1101 6.37048 14.3101L9.6899 17.6295C9.8899 17.8295 9.9899 17.9295 10.1142 17.9295C10.2384 17.9295 10.3384 17.8295 10.5384 17.6295L11.1292 17.0387Z" fill="currentColor"/><path d="M9.01902 19.1489C9.03806 19.1299 9.03806 19.099 9.01902 19.08L4.92004 14.981C4.901 14.9619 4.87013 14.9619 4.85109 14.981C3.96884 15.8628 3.40326 16.4282 3.04749 17.1397C2.69173 17.8512 2.57881 18.6429 2.40268 19.8778L2.25753 20.8939C2.22415 21.1276 2.30274 21.3634 2.46966 21.5303C2.63659 21.6973 2.87236 21.7758 3.10606 21.7425L4.12228 21.5973C5.35713 21.4212 6.1488 21.3083 6.86031 20.9525C7.57184 20.5967 8.13717 20.0312 9.01902 19.1489Z" fill="currentColor"/></svg>}>
    I was three years old, sitting in front of an old computer, drawing Mickey Mouse and Donald Duck in MS Paint. I didn't know what "design" or "software" meant. I just knew I liked making things on a screen. That feeling hasn't changed in over twenty years.
  </Step>

  <Step title="Art and design awards (2006-2009)" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M5.25 8C5.25 4.27208 8.27208 1.25 12 1.25C15.7279 1.25 18.75 4.27208 18.75 8C18.75 8.06385 18.75 8.09578 18.7446 8.12394C18.7154 8.27516 18.574 8.38066 18.4208 8.36566C18.3922 8.36287 18.3541 8.35157 18.278 8.32899C17.556 8.11492 16.7914 8 16 8C12.6711 8 9.81706 10.0333 8.61206 12.9256C8.46403 13.281 8.39001 13.4586 8.24327 13.4949C8.09654 13.5312 7.96484 13.4223 7.70145 13.2046L7.70144 13.2046C6.20411 11.9665 5.25 10.0947 5.25 8ZM9.25 16C9.25 12.2721 12.2721 9.25 16 9.25C19.7279 9.25 22.75 12.2721 22.75 16C22.75 19.7279 19.7279 22.75 16 22.75C12.2721 22.75 9.25 19.7279 9.25 16ZM8.02538 15.36C8.00857 15.5717 8 15.7858 8 16.0019C8 18.12 8.82313 20.0458 10.167 21.477L10.167 21.477C10.472 21.8019 10.6246 21.9643 10.5817 22.1254C10.5387 22.2865 10.3498 22.3441 9.97199 22.4593C9.34819 22.6496 8.68605 22.7519 8 22.7519C4.27208 22.7519 1.25 19.7298 1.25 16.0019C1.25 13.9072 2.20418 12.0353 3.70161 10.7972C3.965 10.5795 4.0967 10.4706 4.24343 10.5069C4.39016 10.5432 4.46416 10.7208 4.61215 11.076C5.2393 12.5812 6.3127 13.8533 7.66512 14.7266L7.7468 14.7794C7.89871 14.8775 7.97467 14.9265 8.01134 15.0007C8.04802 15.0749 8.04047 15.1699 8.02538 15.36Z" fill="currentColor" fillRule="evenodd"/></svg>}>
    I started learning painting and art properly. Won several awards for it. Then I discovered graphic design, animation, and 3D concepts. I ended up working on four national-level education projects before I was a teenager. The pattern was already there: I liked building things that other people could use.
  </Step>

  <Step title="Computer science (2016)" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M9.5 2C10.0523 2 10.5 2.44772 10.5 3V5.5C10.5 6.60457 9.60457 7.5 8.5 7.5H3C2.44772 7.5 2 7.05228 2 6.5C2 5.94772 2.44772 5.5 3 5.5H8.5V3C8.5 2.44772 8.94772 2 9.5 2Z" fill="currentColor"/><path d="M14.5 2C13.9477 2 13.5 2.44772 13.5 3V5.5C13.5 6.60457 14.3954 7.5 15.5 7.5H21C21.5523 7.5 22 7.05228 22 6.5C22 5.94772 21.5523 5.5 21 5.5H15.5V3C15.5 2.44772 15.0523 2 14.5 2Z" fill="currentColor"/><path d="M2.25 10.5C2.25 9.80964 2.80964 9.25 3.5 9.25H20.5C21.1904 9.25 21.75 9.80964 21.75 10.5V18C21.75 20.0711 20.0711 21.75 18 21.75H6C3.92893 21.75 2.25 20.0711 2.25 18V10.5ZM9 14C9 13.4477 9.44772 13 10 13H14C14.5523 13 15 13.4477 15 14C15 14.5523 14.5523 15 14 15H10C9.44772 15 9 14.5523 9 14Z" fill="currentColor" fillRule="evenodd"/></svg>}>
    Where I'm from, the "smart" path is medicine. I picked computer science instead. Started a bachelor's in CS and got into competitive programming contests. It was the first time I realized that writing code and designing interfaces were two sides of the same thing. You're solving someone's problem either way.
  </Step>

  <Step title="Full-stack development (2019)" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M9.5 2C10.0523 2 10.5 2.44772 10.5 3V5.5C10.5 6.60457 9.60457 7.5 8.5 7.5H3C2.44772 7.5 2 7.05228 2 6.5C2 5.94772 2.44772 5.5 3 5.5H8.5V3C8.5 2.44772 8.94772 2 9.5 2Z" fill="currentColor"/><path d="M14.5 2C13.9477 2 13.5 2.44772 13.5 3V5.5C13.5 6.60457 14.3954 7.5 15.5 7.5H21C21.5523 7.5 22 7.05228 22 6.5C22 5.94772 21.5523 5.5 21 5.5H15.5V3C15.5 2.44772 15.0523 2 14.5 2Z" fill="currentColor"/><path d="M2.25 10.5C2.25 9.80964 2.80964 9.25 3.5 9.25H20.5C21.1904 9.25 21.75 9.80964 21.75 10.5V18C21.75 20.0711 20.0711 21.75 18 21.75H6C3.92893 21.75 2.25 20.0711 2.25 18V10.5ZM8.46967 13.4697C8.17678 13.7626 8.17678 14.2374 8.46967 14.5303L9.68934 15.75L8.46967 16.9697C8.17678 17.2626 8.17678 17.7374 8.46967 18.0303C8.76256 18.3232 9.23744 18.3232 9.53033 18.0303L11.2803 16.2803C11.5732 15.9874 11.5732 15.5126 11.2803 15.2197L9.53033 13.4697C9.23744 13.1768 8.76256 13.1768 8.46967 13.4697ZM13 17.25C12.5858 17.25 12.25 17.5858 12.25 18C12.25 18.4142 12.5858 18.75 13 18.75H15.5C15.9142 18.75 16.25 18.4142 16.25 18C16.25 17.5858 15.9142 17.25 15.5 17.25H13Z" fill="currentColor" fillRule="evenodd"/></svg>}>
    I built full-stack programs and apps from scratch. Pure HTML/CSS, JavaScript, Java, Python, PHP. No frameworks, no shortcuts. Just raw code and a lot of Stack Overflow. It was painful and slow, but I understood how everything worked underneath. That matters more than most people think.
  </Step>

  <Step title="UX design and modern tools (2020)" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M17.3229 2.75907C17.1886 2.74698 17.0535 2.74698 16.9192 2.75907C16.4453 2.80176 16.0632 3.01869 15.718 3.29014C15.3942 3.54479 15.0364 3.90259 14.6214 4.31766L14.6214 4.31768L13.4997 5.43938L18.5603 10.5L19.682 9.37835C20.0971 8.9633 20.4549 8.60554 20.7096 8.2817C20.981 7.9365 21.198 7.55443 21.2407 7.08053C21.2527 6.94624 21.2527 6.81112 21.2406 6.67682C21.198 6.20292 20.981 5.82086 20.7096 5.47566C20.4549 5.15182 20.0971 4.79405 19.682 4.37901C19.267 3.96393 18.8479 3.5448 18.5241 3.29014C18.1789 3.01869 17.7968 2.80176 17.3229 2.75907ZM17.4997 11.5607L12.439 6.50004L4.62588 14.3131C3.85634 15.0819 3.32155 15.6162 3.03517 16.3076C2.7488 16.999 2.74916 17.7549 2.74968 18.8427L2.74972 20.5C2.74972 20.9142 3.08551 21.25 3.49972 21.25L5.15704 21.25C6.24482 21.2506 7.00077 21.2509 7.69214 20.9645C8.38352 20.6782 8.9178 20.1434 9.6866 19.3738L9.68661 19.3738L9.68662 19.3738L17.4997 11.5607Z" fill="currentColor" fillRule="evenodd"/></svg>}>
    I found UX design and Figma, and something clicked. I also picked up modern dev frameworks and mastered Webflow. Started helping small and medium businesses worldwide build their web presence. Design and code stopped being separate disciplines for me. They became the same craft.
  </Step>

  <Step title="Lead designer and developer (2024)" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M8.48709 2.39137C9.98525 1.69829 10.9543 1.25 12 1.25C13.0457 1.25 14.0147 1.69829 15.5129 2.39137L15.6717 2.4648L17.4361 3.28038L17.4362 3.28039C18.6983 3.86376 19.7228 4.33731 20.425 4.7951C21.1276 5.25313 21.75 5.84942 21.75 6.75C21.75 7.65058 21.1276 8.24687 20.425 8.7049C19.7228 9.16269 18.6983 9.63625 17.4361 10.2196L15.6717 11.0352L15.5129 11.1086C14.0147 11.8017 13.0457 12.25 12 12.25C10.9543 12.25 9.98524 11.8017 8.48707 11.1086L8.3283 11.0352L6.56388 10.2196C5.30174 9.63625 4.27718 9.16269 3.57495 8.7049C2.87237 8.24687 2.25 7.65058 2.25 6.75C2.25 5.84942 2.87237 5.25313 3.57495 4.7951C4.27718 4.33731 5.30174 3.86375 6.56388 3.28038L8.3283 2.4648L8.48709 2.39137Z" fill="currentColor"/><path d="M4.59541 15.3926C4.93089 15.8246 4.8614 16.4538 4.4402 16.7979C4.29438 16.917 4.23479 16.9964 4.21238 17.0346C4.19921 17.0571 4.19963 17.0622 4.19992 17.0657C4.19996 17.0662 4.2 17.0667 4.2 17.0672C4.2 17.0742 4.20055 17.0756 4.20099 17.0767C4.20094 17.0766 4.20105 17.0769 4.20099 17.0767C4.20207 17.0798 4.20941 17.0995 4.23715 17.1364C4.29989 17.2199 4.43529 17.3512 4.71204 17.5336C5.27828 17.9069 6.15898 18.3213 7.46898 18.9335L9.13118 19.7103C10.8225 20.5007 11.4045 20.7495 12 20.7495C12.5955 20.7495 13.1775 20.5007 14.8688 19.7103L16.531 18.9335C17.841 18.3213 18.7217 17.9068 19.288 17.5336C19.5647 17.3512 19.7001 17.2199 19.7629 17.1364C19.7906 17.0995 19.7978 17.0802 19.7989 17.0771C19.7988 17.0773 19.7989 17.077 19.7989 17.0771C19.7993 17.076 19.8 17.0742 19.8 17.0672C19.8 17.0667 19.8 17.0662 19.8001 17.0657C19.8004 17.0622 19.8008 17.0571 19.7876 17.0346C19.7652 16.9964 19.7056 16.917 19.5598 16.7979C19.1386 16.4538 19.0691 15.8246 19.4046 15.3926C19.7401 14.9606 20.3535 14.8894 20.7747 15.2335C21.2978 15.6608 21.75 16.2484 21.75 17.0672C21.75 18.1017 21.0384 18.7572 20.3422 19.2162C19.6427 19.6772 18.6305 20.1502 17.4138 20.7188L15.6774 21.5302C15.6143 21.5597 15.5522 21.5888 15.4908 21.6175C14.0619 22.2862 13.0718 22.7495 12 22.7495C10.9282 22.7495 9.93809 22.2862 8.50921 21.6175C8.44785 21.5888 8.38567 21.5597 8.32264 21.5302L6.58625 20.7188C5.3695 20.1502 4.35731 19.6772 3.65782 19.2162C2.96157 18.7572 2.25 18.1017 2.25 17.0672C2.25 16.2484 2.70221 15.6608 3.22531 15.2335C3.64651 14.8894 4.25992 14.9606 4.59541 15.3926Z" fill="currentColor" fillRule="evenodd"/><path d="M4.59541 10.2637C4.93089 10.6957 4.8614 11.3249 4.4402 11.669C4.29438 11.7881 4.23479 11.8675 4.21238 11.9057C4.19921 11.9281 4.19963 11.9332 4.19992 11.9368C4.19996 11.9373 4.2 11.9378 4.2 11.9383C4.2 11.9453 4.20055 11.9467 4.20099 11.9478C4.20094 11.9477 4.20105 11.948 4.20099 11.9478C4.20207 11.9509 4.20941 11.9706 4.23715 12.0075C4.29989 12.091 4.43529 12.2223 4.71204 12.4047C5.27828 12.7779 6.15898 13.1923 7.46898 13.8046L9.13118 14.5814C10.8225 15.3718 11.4045 15.6206 12 15.6206C12.5955 15.6206 13.1775 15.3718 14.8688 14.5814L16.531 13.8046C17.841 13.1923 18.7217 12.7779 19.288 12.4047C19.5647 12.2223 19.7001 12.091 19.7629 12.0075C19.7906 11.9706 19.7978 11.9513 19.7989 11.9482C19.7988 11.9484 19.7989 11.9481 19.7989 11.9482C19.7993 11.9471 19.8 11.9453 19.8 11.9383C19.8 11.9378 19.8 11.9373 19.8001 11.9368C19.8004 11.9332 19.8008 11.9281 19.7876 11.9057C19.7652 11.8675 19.7056 11.7881 19.5598 11.669C19.1386 11.3249 19.0691 10.6957 19.4046 10.2637C19.7401 9.83174 20.3535 9.76047 20.7747 10.1045C21.2978 10.5319 21.75 11.1195 21.75 11.9383C21.75 12.9728 21.0384 13.6283 20.3422 14.0872C19.6427 14.5483 18.6305 15.0213 17.4138 15.5899L15.6774 16.4013C15.6143 16.4308 15.5522 16.4599 15.4908 16.4886C14.0619 17.1573 13.0718 17.6206 12 17.6206C10.9282 17.6206 9.93809 17.1573 8.50921 16.4886C8.44785 16.4599 8.38567 16.4308 8.32264 16.4013L6.58625 15.5899C5.3695 15.0213 4.35731 14.5483 3.65782 14.0872C2.96157 13.6283 2.25 12.9728 2.25 11.9383C2.25 11.1195 2.70221 10.5319 3.22531 10.1045C3.64651 9.76047 4.25992 9.83174 4.59541 10.2637Z" fill="currentColor" fillRule="evenodd"/></svg>}>
    Started a master's in CS. Joined Uhttention as lead designer, lead Webflow developer, and staff web developer, working with US and European brands and startups. This is where I learned what production software actually means. Not just "it works," but "it works for thousands of people who don't care how you built it."
  </Step>

  <Step title="AI-assisted development (2025-2026)" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M15 1.25C15.3507 1.25 15.6546 1.49305 15.7317 1.83518L16.2704 4.22676C16.6637 5.97278 18.0272 7.33629 19.7732 7.7296L22.1648 8.26833C22.507 8.3454 22.75 8.64929 22.75 9C22.75 9.35071 22.507 9.6546 22.1648 9.73167L19.7732 10.2704C18.0272 10.6637 16.6637 12.0272 16.2704 13.7732L15.7317 16.1648C15.6546 16.507 15.3507 16.75 15 16.75C14.6493 16.75 14.3454 16.507 14.2683 16.1648L13.7296 13.7732C13.3363 12.0272 11.9728 10.6637 10.2268 10.2704L7.83518 9.73167C7.49305 9.6546 7.25 9.35071 7.25 9C7.25 8.64929 7.49305 8.3454 7.83518 8.26833L10.2268 7.7296C11.9728 7.33629 13.3363 5.97278 13.7296 4.22676L14.2683 1.83518C14.3454 1.49305 14.6493 1.25 15 1.25Z" fill="currentColor"/><path d="M7 11.25C7.35071 11.25 7.6546 11.493 7.73167 11.8352L8.11647 13.5435C8.37923 14.7099 9.29012 15.6208 10.4565 15.8835L12.1648 16.2683C12.507 16.3454 12.75 16.6493 12.75 17C12.75 17.3507 12.507 17.6546 12.1648 17.7317L10.4565 18.1165C9.29012 18.3792 8.37923 19.2901 8.11647 20.4565L7.73167 22.1648C7.6546 22.507 7.35071 22.75 7 22.75C6.64929 22.75 6.3454 22.507 6.26833 22.1648L5.88353 20.4565C5.62077 19.2901 4.70988 18.3792 3.54345 18.1165L1.83518 17.7317C1.49305 17.6546 1.25 17.3507 1.25 17C1.25 16.6493 1.49305 16.3454 1.83518 16.2683L3.54345 15.8835C4.70988 15.6208 5.62077 14.7099 5.88353 13.5435L6.26833 11.8352C6.3454 11.493 6.64929 11.25 7 11.25Z" fill="currentColor"/></svg>}>
    Claude Code, Cursor, custom agent configurations, LLMs, RAG pipelines, knowledge graphs. I went deep. Not as a curiosity, but as a way to build better software, faster, without cutting corners on quality. Oakminder is the result of that approach.
  </Step>
</Steps>

If you count it up, that's roughly two decades of making things on screens. The medium changed (MS Paint to Figma to Expo) but the impulse didn't. I like building tools that solve real problems.

## My take on AI

I've been designing since 2009 and coding since 2016. I care about this stuff. But when I started using AI seriously, everything changed. My productivity didn't just improve, it multiplied. What used to take me months now takes weeks. What used to take days takes hours. The learning curve for new frameworks, the speed of prototyping, the ability to ship a full cross-platform app as one person, all of that became possible because AI 10x'd what I could already do.

Before Oakminder, I'd already been building with React and React Native through AI-assisted projects. I helped a friend prototype a React Native app and worked through the patterns myself on side projects. So when I decided to go all-in on a native app, I wasn't starting from zero. I had the reps. AI just let me move through the unfamiliar parts faster.

<Frame>
  <img src="https://mintcdn.com/oakminder/dgkxa5wknyJIH-J9/images/ClaudePower.jpg?fit=max&auto=format&n=dgkxa5wknyJIH-J9&q=85&s=02b3002e71f1fcec9608899ba684b60b" alt="ClaudePower" width="5504" height="3072" data-path="images/ClaudePower.jpg" />
</Frame>

I use Claude Code (Opus) as my main coding agent. I wrote a 60+ rule CLAUDE.md file that teaches the AI how my codebase works. Custom agent skills. Custom MCP integrations. It's not about asking the AI to do the thinking for me. It's about having a tool that keeps up with how fast I want to move.

Oakminder was built in about three weeks, from first commit to TestFlight, by one person. The design decisions, the UX instincts, the "this doesn't feel right, fix it" moments? Those come from years of caring about the details. AI didn't give me taste. It gave me speed. And that combination is why I think everyone should be exploring AI, whether you're a designer, a developer, or both.

<Callout icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M15 1.25C15.3507 1.25 15.6546 1.49305 15.7317 1.83518L16.2704 4.22676C16.6637 5.97278 18.0272 7.33629 19.7732 7.7296L22.1648 8.26833C22.507 8.3454 22.75 8.64929 22.75 9C22.75 9.35071 22.507 9.6546 22.1648 9.73167L19.7732 10.2704C18.0272 10.6637 16.6637 12.0272 16.2704 13.7732L15.7317 16.1648C15.6546 16.507 15.3507 16.75 15 16.75C14.6493 16.75 14.3454 16.507 14.2683 16.1648L13.7296 13.7732C13.3363 12.0272 11.9728 10.6637 10.2268 10.2704L7.83518 9.73167C7.49305 9.6546 7.25 9.35071 7.25 9C7.25 8.64929 7.49305 8.3454 7.83518 8.26833L10.2268 7.7296C11.9728 7.33629 13.3363 5.97278 13.7296 4.22676L14.2683 1.83518C14.3454 1.49305 14.6493 1.25 15 1.25Z" fill="currentColor"/><path d="M7 11.25C7.35071 11.25 7.6546 11.493 7.73167 11.8352L8.11647 13.5435C8.37923 14.7099 9.29012 15.6208 10.4565 15.8835L12.1648 16.2683C12.507 16.3454 12.75 16.6493 12.75 17C12.75 17.3507 12.507 17.6546 12.1648 17.7317L10.4565 18.1165C9.29012 18.3792 8.37923 19.2901 8.11647 20.4565L7.73167 22.1648C7.6546 22.507 7.35071 22.75 7 22.75C6.64929 22.75 6.3454 22.507 6.26833 22.1648L5.88353 20.4565C5.62077 19.2901 4.70988 18.3792 3.54345 18.1165L1.83518 17.7317C1.49305 17.6546 1.25 17.3507 1.25 17C1.25 16.6493 1.49305 16.3454 1.83518 16.2683L3.54345 15.8835C4.70988 15.6208 5.62077 14.7099 5.88353 13.5435L6.26833 11.8352C6.3454 11.493 6.64929 11.25 7 11.25Z" fill="currentColor"/></svg>} color="#79B33B">AI didn't teach me how to build good software. It let me build it 10x faster. That's a difference worth understanding.</Callout>

## How I found Expo and RevenueCat

I spend a lot of time on X keeping up with tech founders and developers. That's where I first came across Expo. I had React and React Native experience from earlier projects, plus years of design work, but I hadn't gone all-in on building and shipping a native app myself. This was the first time I committed to taking something from zero to the App Store. Expo kept showing up in conversations I trusted, and it looked like the right way to do it.

What I didn't expect was the sheer volume of platform-specific gotchas. iOS has its own rules about what notifications are allowed to do, which background tasks can run, how billing integrations behave, and what libraries actually work. Some frameworks handle these differences for you. Some just silently break. You don't find out which is which until you're deep into a build and something stops working. Expo simplified that discovery process significantly. It didn't eliminate the complexity, but it gave me a sane path through it.

<Frame>
  <img src="https://mintcdn.com/oakminder/dgkxa5wknyJIH-J9/images/Saviors.jpeg?fit=max&auto=format&n=dgkxa5wknyJIH-J9&q=85&s=2c9ffdfc73e6002c97dd239c51ee9f74" alt="Saviors" width="4800" height="3584" data-path="images/Saviors.jpeg" />
</Frame>

RevenueCat came later. Subscription billing is one of those things that looks simple from the outside but would have taken weeks to build correctly from scratch. RevenueCat abstracted that away and let me focus on the actual product. The SDK handles receipt validation, cross-platform entitlements, trial eligibility, grace periods, and cross-device restoration. Things I would have spent weeks building from scratch. Having the right tools that made it possible for one person to handle billing, notifications, background tasks, and cross-device sync, that's what turned the idea into an actual app.

<Tip>Here's what caught me off guard: building a cross-platform app isn't hard because of the code. It's hard because every platform has its own rules about what you're allowed to do, and those rules aren't written down clearly anywhere. Expo and RevenueCat abstract most of that pain away.</Tip>

## Previous work

<Frame>
  <img src="https://mintcdn.com/oakminder/OwnmWY-NIHRAY9iR/images/CaseStudies.png?fit=max&auto=format&n=OwnmWY-NIHRAY9iR&q=85&s=b48dc544a5685a60725968bac6d24f01" alt="CaseStudies" width="3353" height="1937" data-path="images/CaseStudies.png" />
</Frame>

<CardGroup cols={2}>
  <Card title="Match by Maryam" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M5.25 8C5.25 4.27208 8.27208 1.25 12 1.25C15.7279 1.25 18.75 4.27208 18.75 8C18.75 8.06385 18.75 8.09578 18.7446 8.12394C18.7154 8.27516 18.574 8.38066 18.4208 8.36566C18.3922 8.36287 18.3541 8.35157 18.278 8.32899C17.556 8.11492 16.7914 8 16 8C12.6711 8 9.81706 10.0333 8.61206 12.9256C8.46403 13.281 8.39001 13.4586 8.24327 13.4949C8.09654 13.5312 7.96484 13.4223 7.70145 13.2046L7.70144 13.2046C6.20411 11.9665 5.25 10.0947 5.25 8ZM9.25 16C9.25 12.2721 12.2721 9.25 16 9.25C19.7279 9.25 22.75 12.2721 22.75 16C22.75 19.7279 19.7279 22.75 16 22.75C12.2721 22.75 9.25 19.7279 9.25 16ZM8.02538 15.36C8.00857 15.5717 8 15.7858 8 16.0019C8 18.12 8.82313 20.0458 10.167 21.477L10.167 21.477C10.472 21.8019 10.6246 21.9643 10.5817 22.1254C10.5387 22.2865 10.3498 22.3441 9.97199 22.4593C9.34819 22.6496 8.68605 22.7519 8 22.7519C4.27208 22.7519 1.25 19.7298 1.25 16.0019C1.25 13.9072 2.20418 12.0353 3.70161 10.7972C3.965 10.5795 4.0967 10.4706 4.24343 10.5069C4.39016 10.5432 4.46416 10.7208 4.61215 11.076C5.2393 12.5812 6.3127 13.8533 7.66512 14.7266L7.7468 14.7794C7.89871 14.8775 7.97467 14.9265 8.01134 15.0007C8.04802 15.0749 8.04047 15.1699 8.02538 15.36Z" fill="currentColor" fillRule="evenodd"/></svg>} href="https://forbiddentrust.com/codex/matchabymaryam" cta="See the case study" arrow="true">
    Redesigned a matcha brand's web presence. 65% trust boost and actual brand deals.
  </Card>

  <Card title="AI Memory & Hallucination Solution" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M15 1.25C15.3507 1.25 15.6546 1.49305 15.7317 1.83518L16.2704 4.22676C16.6637 5.97278 18.0272 7.33629 19.7732 7.7296L22.1648 8.26833C22.507 8.3454 22.75 8.64929 22.75 9C22.75 9.35071 22.507 9.6546 22.1648 9.73167L19.7732 10.2704C18.0272 10.6637 16.6637 12.0272 16.2704 13.7732L15.7317 16.1648C15.6546 16.507 15.3507 16.75 15 16.75C14.6493 16.75 14.3454 16.507 14.2683 16.1648L13.7296 13.7732C13.3363 12.0272 11.9728 10.6637 10.2268 10.2704L7.83518 9.73167C7.49305 9.6546 7.25 9.35071 7.25 9C7.25 8.64929 7.49305 8.3454 7.83518 8.26833L10.2268 7.7296C11.9728 7.33629 13.3363 5.97278 13.7296 4.22676L14.2683 1.83518C14.3454 1.49305 14.6493 1.25 15 1.25Z" fill="currentColor"/><path d="M7 11.25C7.35071 11.25 7.6546 11.493 7.73167 11.8352L8.11647 13.5435C8.37923 14.7099 9.29012 15.6208 10.4565 15.8835L12.1648 16.2683C12.507 16.3454 12.75 16.6493 12.75 17C12.75 17.3507 12.507 17.6546 12.1648 17.7317L10.4565 18.1165C9.29012 18.3792 8.37923 19.2901 8.11647 20.4565L7.73167 22.1648C7.6546 22.507 7.35071 22.75 7 22.75C6.64929 22.75 6.3454 22.507 6.26833 22.1648L5.88353 20.4565C5.62077 19.2901 4.70988 18.3792 3.54345 18.1165L1.83518 17.7317C1.49305 17.6546 1.25 17.3507 1.25 17C1.25 16.6493 1.49305 16.3454 1.83518 16.2683L3.54345 15.8835C4.70988 15.6208 5.62077 14.7099 5.88353 13.5435L6.26833 11.8352C6.3454 11.493 6.64929 11.25 7 11.25Z" fill="currentColor"/></svg>} href="https://forbiddentrust.com/codex/ai-memory-hallucination-solution" cta="See the case study" arrow="true">
    Career assistant that reduced hallucination rate from 24% to under 3%.
  </Card>

  <Card title="EcoSmartLoop" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor"><path d="M12 4.5C7.305 4.5 3.272 7.561 1.5 12C3.272 16.439 7.305 19.5 12 19.5C16.695 19.5 20.728 16.439 22.5 12C20.728 7.561 16.695 4.5 12 4.5ZM12 17C9.238 17 7 14.762 7 12C7 9.238 9.238 7 12 7C14.762 7 17 9.238 17 12C17 14.762 14.762 17 12 17ZM12 9C10.343 9 9 10.343 9 12C9 13.657 10.343 15 12 15C13.657 15 15 13.657 15 12C15 10.343 13.657 9 12 9Z"/></svg>} href="https://forbiddentrust.com/codex/ecosmartloop-ai-waste-classification" cta="See the case study" arrow="true">
    AI-powered waste sorting for California's SB 1383 compliance.
  </Card>

  <Card title="Personal Software Era" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M8.48709 2.39137C9.98525 1.69829 10.9543 1.25 12 1.25C13.0457 1.25 14.0147 1.69829 15.5129 2.39137L15.6717 2.4648L17.4361 3.28038L17.4362 3.28039C18.6983 3.86376 19.7228 4.33731 20.425 4.7951C21.1276 5.25313 21.75 5.84942 21.75 6.75C21.75 7.65058 21.1276 8.24687 20.425 8.7049C19.7228 9.16269 18.6983 9.63625 17.4361 10.2196L15.6717 11.0352L15.5129 11.1086C14.0147 11.8017 13.0457 12.25 12 12.25C10.9543 12.25 9.98524 11.8017 8.48707 11.1086L8.3283 11.0352L6.56388 10.2196C5.30174 9.63625 4.27718 9.16269 3.57495 8.7049C2.87237 8.24687 2.25 7.65058 2.25 6.75C2.25 5.84942 2.87237 5.25313 3.57495 4.7951C4.27718 4.33731 5.30174 3.86375 6.56388 3.28038L8.3283 2.4648L8.48709 2.39137Z" fill="currentColor"/><path d="M4.59541 15.3926C4.93089 15.8246 4.8614 16.4538 4.4402 16.7979C4.29438 16.917 4.23479 16.9964 4.21238 17.0346C4.19921 17.0571 4.19963 17.0622 4.19992 17.0657C4.19996 17.0662 4.2 17.0667 4.2 17.0672C4.2 17.0742 4.20055 17.0756 4.20099 17.0767C4.20094 17.0766 4.20105 17.0769 4.20099 17.0767C4.20207 17.0798 4.20941 17.0995 4.23715 17.1364C4.29989 17.2199 4.43529 17.3512 4.71204 17.5336C5.27828 17.9069 6.15898 18.3213 7.46898 18.9335L9.13118 19.7103C10.8225 20.5007 11.4045 20.7495 12 20.7495C12.5955 20.7495 13.1775 20.5007 14.8688 19.7103L16.531 18.9335C17.841 18.3213 18.7217 17.9068 19.288 17.5336C19.5647 17.3512 19.7001 17.2199 19.7629 17.1364C19.7906 17.0995 19.7978 17.0802 19.7989 17.0771C19.7988 17.0773 19.7989 17.077 19.7989 17.0771C19.7993 17.076 19.8 17.0742 19.8 17.0672C19.8 17.0667 19.8 17.0662 19.8001 17.0657C19.8004 17.0622 19.8008 17.0571 19.7876 17.0346C19.7652 16.9964 19.7056 16.917 19.5598 16.7979C19.1386 16.4538 19.0691 15.8246 19.4046 15.3926C19.7401 14.9606 20.3535 14.8894 20.7747 15.2335C21.2978 15.6608 21.75 16.2484 21.75 17.0672C21.75 18.1017 21.0384 18.7572 20.3422 19.2162C19.6427 19.6772 18.6305 20.1502 17.4138 20.7188L15.6774 21.5302C15.6143 21.5597 15.5522 21.5888 15.4908 21.6175C14.0619 22.2862 13.0718 22.7495 12 22.7495C10.9282 22.7495 9.93809 22.2862 8.50921 21.6175C8.44785 21.5888 8.38567 21.5597 8.32264 21.5302L6.58625 20.7188C5.3695 20.1502 4.35731 19.6772 3.65782 19.2162C2.96157 18.7572 2.25 18.1017 2.25 17.0672C2.25 16.2484 2.70221 15.6608 3.22531 15.2335C3.64651 14.8894 4.25992 14.9606 4.59541 15.3926Z" fill="currentColor" fillRule="evenodd"/><path d="M4.59541 10.2637C4.93089 10.6957 4.8614 11.3249 4.4402 11.669C4.29438 11.7881 4.23479 11.8675 4.21238 11.9057C4.19921 11.9281 4.19963 11.9332 4.19992 11.9368C4.19996 11.9373 4.2 11.9378 4.2 11.9383C4.2 11.9453 4.20055 11.9467 4.20099 11.9478C4.20094 11.9477 4.20105 11.948 4.20099 11.9478C4.20207 11.9509 4.20941 11.9706 4.23715 12.0075C4.29989 12.091 4.43529 12.2223 4.71204 12.4047C5.27828 12.7779 6.15898 13.1923 7.46898 13.8046L9.13118 14.5814C10.8225 15.3718 11.4045 15.6206 12 15.6206C12.5955 15.6206 13.1775 15.3718 14.8688 14.5814L16.531 13.8046C17.841 13.1923 18.7217 12.7779 19.288 12.4047C19.5647 12.2223 19.7001 12.091 19.7629 12.0075C19.7906 11.9706 19.7978 11.9513 19.7989 11.9482C19.7988 11.9484 19.7989 11.9481 19.7989 11.9482C19.7993 11.9471 19.8 11.9453 19.8 11.9383C19.8 11.9378 19.8 11.9373 19.8001 11.9368C19.8004 11.9332 19.8008 11.9281 19.7876 11.9057C19.7652 11.8675 19.7056 11.7881 19.5598 11.669C19.1386 11.3249 19.0691 10.6957 19.4046 10.2637C19.7401 9.83174 20.3535 9.76047 20.7747 10.1045C21.2978 10.5319 21.75 11.1195 21.75 11.9383C21.75 12.9728 21.0384 13.6283 20.3422 14.0872C19.6427 14.5483 18.6305 15.0213 17.4138 15.5899L15.6774 16.4013C15.6143 16.4308 15.5522 16.4599 15.4908 16.4886C14.0619 17.1573 13.0718 17.6206 12 17.6206C10.9282 17.6206 9.93809 17.1573 8.50921 16.4886C8.44785 16.4599 8.38567 16.4308 8.32264 16.4013L6.58625 15.5899C5.3695 15.0213 4.35731 14.5483 3.65782 14.0872C2.96157 13.6283 2.25 12.9728 2.25 11.9383C2.25 11.1195 2.70221 10.5319 3.22531 10.1045C3.64651 9.76047 4.25992 9.83174 4.59541 10.2637Z" fill="currentColor" fillRule="evenodd"/></svg>} href="https://forbiddentrust.com/codex/personal-software-era-ai" cta="See the case study" arrow="true">
    5 apps in 4 weeks. What happens when design experience meets AI-assisted development at speed.
  </Card>
</CardGroup>

## What's next

I've finished my master's in CS, actively looking for roles where I can combine design and engineering, and connecting with people who care about building good software. If you're reading this and that sounds interesting, I'd like to hear from you.

Oakminder isn't going anywhere. Apple Watch, iPad, macOS. The ecosystem is growing, and I'm building it all. I've been using productivity tools daily since 2016, close to a decade of forming opinions about what works and what doesn't. I even built mini versions of calendar and Kanban tools on the web through a project called YouSoul. The frustration with reminder apps existed long before Oakminder, and it's going to exist after. I'm going to keep shipping.

If you've ever been frustrated by reminder apps that make simple things complicated, or if you just want something that respects your time and gets out of your way, that's exactly who this is for. The roadmap is driven by what I actually need, what users ask for, and nearly a decade of opinions about how productivity tools should work. User feedback will drive feature priorities going forward. Not assumptions, not trends. What people actually tell me they need.

<Frame>
  <img src="https://mintcdn.com/oakminder/yndmw1XS8o1akiDT/images/oakminder-man.jpg?fit=max&auto=format&n=yndmw1XS8o1akiDT&q=85&s=253f40bc0dcf585a560e5d9c107df211" alt="oakminder-man" width="1856" height="2304" data-path="images/oakminder-man.jpg" />
</Frame>

<Card title="Why this exists" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M12 1.25C6.06294 1.25 1.25 6.06294 1.25 12C1.25 17.9371 6.06294 22.75 12 22.75C17.9371 22.75 22.75 17.9371 22.75 12C22.75 6.06294 17.9371 1.25 12 1.25ZM13 8C13 7.44772 12.5523 7 12 7C11.4477 7 11 7.44772 11 8V12C11 12.2652 11.1054 12.5196 11.2929 12.7071L13.2929 14.7071C13.6834 15.0976 14.3166 15.0976 14.7071 14.7071C15.0976 14.3166 15.0976 13.6834 14.7071 13.2929L13 11.5858V8Z" fill="currentColor" fillRule="evenodd"/></svg>} href="/support/why-oakminder">
  The full story behind Oakminder: the frustrations, the philosophy, and what makes it different.
</Card>

## Connect

<CardGroup cols={3}>
  <Card title="LinkedIn" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M4.00098 3C4.00098 2.44772 4.4487 2 5.00098 2H19.001C19.5533 2 20.001 2.44772 20.001 3V21C20.001 21.5523 19.5533 22 19.001 22H5.00098C4.4487 22 4.00098 21.5523 4.00098 21V3ZM8.50098 10V17H6.50098V10H8.50098ZM7.50098 8.75C6.80961 8.75 6.25098 8.19137 6.25098 7.5C6.25098 6.80864 6.80961 6.25 7.50098 6.25C8.19234 6.25 8.75098 6.80864 8.75098 7.5C8.75098 8.19137 8.19234 8.75 7.50098 8.75ZM13.501 10.0503C12.7992 10.3184 12.209 10.7964 11.501 11.4142V10H9.50098V17H11.501V13C11.501 12 12.201 11 13.501 11C14.501 11 15.001 11.5 15.001 13V17H17.001V12.5C17.001 10.5 16.001 9.5 14.501 9.5C14.135 9.5 13.801 9.5718 13.501 9.7002V10.0503Z" fill="currentColor" fillRule="evenodd"/></svg>} href="https://www.linkedin.com/in/whoisoak/">
    Professional profile
  </Card>

  <Card title="X / Twitter" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M3 3L10.3846 13.1538L3 21H5.30769L11.5385 14.7692L16.4615 21H21L13.2308 10.4615L20.2308 3H17.9231L12.0769 8.84615L7.53846 3H3ZM5.69231 4.38462H6.92308L18.3077 19.6154H17.0769L5.69231 4.38462Z" fill="currentColor"/></svg>} href="https://x.com/ForbiddenSteve">
    Updates and thoughts
  </Card>

  <Card title="Website" icon={<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM11 4.06189C9.11714 4.38498 7.45466 5.3607 6.28418 6.76556L8.22266 8.70311C8.70667 8.21942 9.27652 7.82125 9.90039 7.52539L11 7.01563V4.06189ZM13 4.06189V7.01563L14.0996 7.52539C14.7235 7.82125 15.2933 8.21942 15.7773 8.70311L17.7158 6.76556C16.5453 5.3607 14.8829 4.38498 13 4.06189ZM5.22461 8.22461L4.06189 11H7.01563L7.52539 9.90039C7.82125 9.27652 8.21942 8.70667 8.70311 8.22266L5.22461 8.22461ZM18.7754 8.22461L15.7969 8.22266C16.2806 8.70667 16.6788 9.27652 16.9746 9.90039L17.4844 11H19.9381C19.615 9.11714 18.6393 7.45466 17.2344 6.28418L18.7754 8.22461ZM9.41406 9.41406C8.66321 10.165 8.15625 11.1206 8.02734 12.1855L8.91211 13H11V11H9.41406V9.41406ZM13 11V13H15.0879L15.9727 12.1855C15.8438 11.1206 15.3368 10.165 14.5859 9.41406H13ZM4.06189 13L6.28418 17.2344L8.22266 15.2969C7.80551 14.8778 7.45523 14.3937 7.18555 13.8594L7.01563 13H4.06189ZM16.9844 13L16.8145 13.8594C16.5448 14.3937 16.1945 14.8778 15.7773 15.2969L17.7158 17.2344L19.9381 13H16.9844ZM9.41406 14.5859L5.22461 18.7754L8.70312 15.7969C9.11894 16.2139 9.60108 16.5647 10.1328 16.834L11 17.2344V19.9381C9.11714 19.615 7.45466 18.6393 6.28418 17.2344L4.06189 13V11H7.01563L8.91211 13L9.41406 14.5859ZM13 17.2344L13.8672 16.834C14.3989 16.5647 14.8811 16.2139 15.2969 15.7969L18.7754 18.7754C17.6043 20.1802 15.9423 21.1564 14.0605 21.4805L13.0605 21.48C13.0403 21.48 13.0202 21.4798 13 21.4797V17.2344ZM11 19.9381V17.2344L10.1328 16.834L8.22266 15.2969L5.22461 18.7754C7.45466 18.6393 9.11714 19.615 11 19.9381Z" fill="currentColor"/></svg>} href="https://forbiddentrust.com/">
    Portfolio
  </Card>
</CardGroup>
