<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: deepu</title>
    <description>The latest articles on Forem by deepu (@pradeepb28_).</description>
    <link>https://forem.com/pradeepb28_</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F829852%2F8dd97910-4f99-4e91-a976-bcc6b83757bc.png</url>
      <title>Forem: deepu</title>
      <link>https://forem.com/pradeepb28_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/pradeepb28_"/>
    <language>en</language>
    <item>
      <title>Supercharge your search on Twitter (tech stack)</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Thu, 01 Sep 2022 10:19:33 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/showcase-supercharge-your-search-on-twitter-tech-stack-2g9o</link>
      <guid>https://forem.com/pradeepb28_/showcase-supercharge-your-search-on-twitter-tech-stack-2g9o</guid>
      <description>&lt;h2&gt;
  
  
  What is the app?
&lt;/h2&gt;

&lt;p&gt;Bird search - Supercharge your search on Twitter&lt;/p&gt;

&lt;p&gt;Twitter is a gold mine of content that anyone can retrieve tweets, conversations, media etc just the way you want but the problem with twitter advance search is it demands you to learn "how" to search it. While it is great for tech geeks but it is not a cup of tea for all others, that's where Bird search app comes in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kzqhVG2U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bt0hdlkhw1g4dv7umem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kzqhVG2U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bt0hdlkhw1g4dv7umem.png" alt="Bird search" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Checkout app here &lt;a href="https://birdsearch.carrd.co/"&gt;https://birdsearch.carrd.co/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So, I've prioritized these problems&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build a solution that focuses more on "what" to search instead of "how" to.&lt;/li&gt;
&lt;li&gt;Unlock several search filters (these search filters are currently not visible on default twitter advanced search)&lt;/li&gt;
&lt;li&gt;Library to store all the search phrases.&lt;/li&gt;
&lt;li&gt;Introduce "Discover" section to educate user how to find the best content.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--INm6AezF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i4suqpq25oznh3kl3til.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--INm6AezF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i4suqpq25oznh3kl3til.png" alt="Twitter advanced search" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_my33VN0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nkqlppz0n8cnlr04q59r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_my33VN0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nkqlppz0n8cnlr04q59r.png" alt="Image description" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Checkout app here &lt;a href="https://birdsearch.carrd.co/"&gt;https://birdsearch.carrd.co/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How did I build?
&lt;/h2&gt;

&lt;p&gt;Tech stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: Swift&lt;/li&gt;
&lt;li&gt;Backend: iCloud/Xano&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not much to talk about frontend here. But when I've decided the tech stack for backend I wanted to make sure "Privacy" is the by product for the user generated data.&lt;/p&gt;

&lt;p&gt;User generated data is stored in iCloud.(Private)&lt;br&gt;
Data generated in Discover section is stored in Xano.(Public)&lt;/p&gt;

&lt;p&gt;Xano is a low-code server-less for backend development&lt;/p&gt;

&lt;p&gt;Pros:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you create a table, a default CRUD APIs are automagically generated (this itself saves you 4-8 hours easily)&lt;/li&gt;
&lt;li&gt;No need to manage servers, just watch out the peak usage to scale your servers.&lt;/li&gt;
&lt;li&gt;Easy to adopt for beginners (no need to have backend knowledge, but a decent knowledge is enough on building tables and using APIs)&lt;/li&gt;
&lt;li&gt;Export data to another service provider&lt;/li&gt;
&lt;li&gt;Integrations with 3rd party providers many more...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The product is not matured enough in a sense that if you want to build complex server-side logic you are limited to it(While, I've not checked out how their server-less functions are working, but if you so, leave your feedback in the comments :) )&lt;/li&gt;
&lt;li&gt;Not many 3rd party integration providers&lt;/li&gt;
&lt;li&gt;Usability issues on their dashboard&lt;/li&gt;
&lt;li&gt;Expensive pricing (they could do little better in terms in increasing usage limits on their $59 plan)&lt;/li&gt;
&lt;li&gt;Abstraction layers such as Xano are not great to build scalable products(of course it depends on how you are scaling your product) but for small &amp;amp; medium size products is more than enough.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don't reinvent wheel, you've lot to work when you are hacking in Indie world.&lt;/li&gt;
&lt;li&gt;Don't think scalable solutions unless you know the product work until then use low code solutions like Xano&lt;/li&gt;
&lt;li&gt;If you want to introduce low code tools in your company, start with projects that are short lived, it is a good place to build MVPs and convince your team. Ex: We've introduced low code and no code tools for marketing projects initially.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(Note: I am not affiliated to Xano)&lt;/p&gt;

&lt;p&gt;Checkout my other blog post: &lt;a href="https://dev.to/pradeepb28_/with-this-macos-app-declutter-your-workspace-and-organize-it-in-1-click-30nh"&gt;https://dev.to/pradeepb28_/with-this-macos-app-declutter-your-workspace-and-organize-it-in-1-click-30nh&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>ios</category>
      <category>showdev</category>
      <category>apple</category>
    </item>
    <item>
      <title>With this macOS app, declutter your workspace and organize it in 1-click</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Sat, 27 Aug 2022 07:37:02 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/with-this-macos-app-declutter-your-workspace-and-organize-it-in-1-click-30nh</link>
      <guid>https://forem.com/pradeepb28_/with-this-macos-app-declutter-your-workspace-and-organize-it-in-1-click-30nh</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;br&gt;
Desktop clutter is a serious problem on macOS. It’s so bad that we’ve all accepted it as the norm. Having so many windows &amp;amp; apps open make it impossible to navigate &amp;amp; get your work done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://spacesformac.xyz"&gt;Spaces for macOS&lt;/a&gt; — In one click, you can clutter free and organize your workspace for any situation. 🎊&lt;/p&gt;

&lt;p&gt;Checkout more use-cases here 👉 &lt;a href="https://spacesformac.xyz"&gt;Spaces for macOS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/obVwXg0nELE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/7sL9EqdJRh8"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;and many more features available…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use “Spaces” as Workspace&lt;/li&gt;
&lt;li&gt;Use “Spaces” as Launcher&lt;/li&gt;
&lt;li&gt;Raycast Integration&lt;/li&gt;
&lt;li&gt;Support Spotlight search&lt;/li&gt;
&lt;li&gt;Support Shortcuts app&lt;/li&gt;
&lt;li&gt;Support Siri via shortcuts
etc&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tech stack&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: Swift&lt;/li&gt;
&lt;li&gt;Backend: Supabase&lt;/li&gt;
&lt;li&gt;Continuous updates: Firebase with Sparkle&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Learn more here 👉 &lt;a href="https://spacesformac.xyz"&gt;Spaces for macOS&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>showdev</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>apps</category>
    </item>
    <item>
      <title>Save 100+ hours with this document before building an app/website</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Sun, 21 Aug 2022 17:20:00 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/save-100-hours-with-this-document-before-building-an-appwebsite-2kg0</link>
      <guid>https://forem.com/pradeepb28_/save-100-hours-with-this-document-before-building-an-appwebsite-2kg0</guid>
      <description>&lt;p&gt;As an Indie developer, it is kind of easy &amp;amp; obvious to build anything without evaluating the pros n cons of the idea.&lt;/p&gt;

&lt;p&gt;This is because, in product management process developers are tend to be on the solution side of the customer. But as an Indie you should see yourself how to work on the problem side of the customer too.&lt;/p&gt;

&lt;p&gt;Before building, one should answer to the following questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What's your idea(one-liner)?&lt;/li&gt;
&lt;li&gt;What's the opportunity size?&lt;/li&gt;
&lt;li&gt;Who's your target audience?&lt;/li&gt;
&lt;li&gt;What is/are the problem(s)?&lt;/li&gt;
&lt;li&gt;What is/are the solution(s)?&lt;/li&gt;
&lt;li&gt;How do you monetize it?&lt;/li&gt;
&lt;li&gt;What are the other alternatives?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkc4g84ugel0qo8uj71d2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkc4g84ugel0qo8uj71d2.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can evaluate and manage your ideas in notion document&lt;br&gt;
👉 &lt;a href="https://buildwithpradeep.gumroad.com/l/ideavaluation" rel="noopener noreferrer"&gt;Download document&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;checkout my previous post &lt;a href="https://dev.to/pradeepb28_/showcase-avoid-those-awkward-moments-in-1-click-3gea"&gt;https://dev.to/pradeepb28_/showcase-avoid-those-awkward-moments-in-1-click-3gea&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>app</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Avoid those awkward moments in public places or meetings in 1-click</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Thu, 11 Aug 2022 15:02:34 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/showcase-avoid-those-awkward-moments-in-1-click-3gea</link>
      <guid>https://forem.com/pradeepb28_/showcase-avoid-those-awkward-moments-in-1-click-3gea</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have you ever been in a strange situation in public where you thought your speakers were on mute but they weren’t?&lt;/li&gt;
&lt;li&gt;Have you ever accidentally shared private information in public?&lt;/li&gt;
&lt;li&gt;Have you ever been embarrassed in a presentation meeting by showing apps or windows that were not supposed to be presented?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;_Do you wish to avoid those problems in the future? If so, then you are in the right place. 👇&lt;br&gt;
_&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;br&gt;
With a single click away, you can focus on the task at hand in any situation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Zen Mode — Hide Everything. Mute Everything.
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Checkout here: &lt;a href="https://bit.ly/3PmxDcc"&gt;https://bit.ly/3PmxDcc&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Tech stack&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supabase: To manage license mgmt and feedback mgmt&lt;/li&gt;
&lt;li&gt;Swift: Design frontend&lt;/li&gt;
&lt;li&gt;Apple-script&lt;/li&gt;
&lt;li&gt;Shell script&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vHhoVibz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2yzaltp3swo8dca9cey.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vHhoVibz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2yzaltp3swo8dca9cey.png" alt="Zen Mode macOS app" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VfZjUena--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5cld9naphgzx3cyeigo2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VfZjUena--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5cld9naphgzx3cyeigo2.png" alt="Raycast - 1" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ox3aea7t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qb1uylcegyfh7976ikbo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ox3aea7t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qb1uylcegyfh7976ikbo.png" alt="Raycast - 2" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Checkout here: &lt;a href="https://bit.ly/3PmxDcc"&gt;https://bit.ly/3PmxDcc&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>productivity</category>
      <category>apps</category>
      <category>mac</category>
      <category>showdev</category>
    </item>
    <item>
      <title>5 macOS apps you didn't know about (free and paid)</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Mon, 08 Aug 2022 13:16:00 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/5-macos-apps-you-didnt-know-about-free-and-paid-3936</link>
      <guid>https://forem.com/pradeepb28_/5-macos-apps-you-didnt-know-about-free-and-paid-3936</guid>
      <description>&lt;h2&gt;
  
  
  &lt;a href="https://www.raycast.com/"&gt;Raycast&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Raycast is a blazingly fast, totally extendable launcher. It lets you complete tasks, calculate, share common links, and much more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HwitY5jc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5l0f4b17cc858crc8hd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HwitY5jc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5l0f4b17cc858crc8hd.png" alt="Raycast" width="880" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://www.craft.do/"&gt;Craft&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;When your work needs to wow, Craft gives you the tools to make it magnificent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2Hwhxete--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ubqzfehe0utx8c229hj9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2Hwhxete--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ubqzfehe0utx8c229hj9.png" alt="Craft" width="880" height="549"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://zenmode.carrd.co/"&gt;Zen Mode&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Hide Everything. Mute Everything.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5Ll1dKXV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hc3ijny8jvsoyb07qpyi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5Ll1dKXV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hc3ijny8jvsoyb07qpyi.png" alt="Zen Mode" width="880" height="527"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://cleanshot.com/"&gt;Cleanshot X&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Capture your Mac’s screen like a pro.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wziE7mve--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jfkeu68onnfrx1o5923i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wziE7mve--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jfkeu68onnfrx1o5923i.png" alt="cleanshot" width="880" height="374"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://ngrok.com/"&gt;ngrok&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;ngrok is the programmable network edge that adds connectivity,&lt;br&gt;
security, and observability to your apps with no code changes&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V8nFnTl3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr7a8b5ddfp6gl8nwr85.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V8nFnTl3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kr7a8b5ddfp6gl8nwr85.png" alt="ngrok" width="880" height="173"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>apps</category>
      <category>macos</category>
      <category>mac</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Showcase: Zen Mode 2.0 - Hide Everything. Mute Everything.</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Fri, 27 May 2022 05:13:28 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/showcase-zen-mode-20-hide-everything-mute-everything-4eoh</link>
      <guid>https://forem.com/pradeepb28_/showcase-zen-mode-20-hide-everything-mute-everything-4eoh</guid>
      <description>&lt;p&gt;After collecting feedback for v1.0&lt;/p&gt;

&lt;p&gt;I am launching Zen Mode 2.0&lt;/p&gt;

&lt;p&gt;What is it?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have you ever been in an awkward situation when you needed to quickly hide all of your desktop icons or windows during a meeting?&lt;/li&gt;
&lt;li&gt;Have you ever been in a position where you thought you were on silent at a meeting but were not?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do you want to avoid those problems in the future? If so, then you are in the right place. 👇&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With a one click away, you can "clutter free your Mac" by focusing on the task at hand.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Here's a &lt;a href="https://youtu.be/V7cYgfAGe78"&gt;35-second video&lt;/a&gt; showing how it works.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;You can download the app here &lt;a href="https://zenmode.carrd.co/"&gt;https://zenmode.carrd.co/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>showdev</category>
      <category>macos</category>
      <category>frontend</category>
    </item>
    <item>
      <title>In 48 hours, I’ve created License Key APIs using Supabase.</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Wed, 25 May 2022 10:58:19 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/in-48-hours-ive-created-license-key-apis-using-supabase-56ng</link>
      <guid>https://forem.com/pradeepb28_/in-48-hours-ive-created-license-key-apis-using-supabase-56ng</guid>
      <description>&lt;p&gt;Background — TL;DR&lt;/p&gt;

&lt;p&gt;I have business use cases around license keys for my macOS app so I went with Paddle who has both license keys + payments, for no reason, they’ve suspended my account. Literally, the next step I had taken was to build my own(not a fun thing to do because it is like reinventing the wheel) using Supabase.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is the app where I am using the License key use-cases: &lt;a href="https://zenmode.carrd.co/"&gt;https://zenmode.carrd.co/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Day 1: I scoped down my business use cases as follows:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;License generation&lt;/li&gt;
&lt;li&gt;License activation&lt;/li&gt;
&lt;li&gt;License de-activation&lt;/li&gt;
&lt;li&gt;License verification&lt;/li&gt;
&lt;li&gt;License re-activation&lt;/li&gt;
&lt;li&gt;License revocation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;License generation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basically generate unique license keys, so I simply went with UUID and in Supabase you can find the property.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;License activation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Since this is a macOS app, validate the license key with user details + some magic to ensure the license is activated for the first time user.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;License de-activation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a user wants to deactivate the license temporarily or switching to a new device then user has to deactivate the license key first before activating to a new device.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;License verification:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basically X number of times per week the backend validates with frontend whether the license key is valid or not.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;License re-activation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When a user needs to use the app on their new device, they have to unregister first on their old device and re-activate on new device.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;License revocation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For any bad reason, revoke the license&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Day 2: Build tables based on the use-cases and write procedural functions to handle backend logic
&lt;/h3&gt;

&lt;p&gt;Tables&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Table to maintain user information&lt;/li&gt;
&lt;li&gt;Table to maintain user license information and activities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Procedural functions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Translated each business use-case as function or functions, behind the scenes Supabase converts each function as an API.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;p&gt;Pros:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I’ve pretty much created all the APIs using procedural functions which is just like writing sql queries.&lt;/li&gt;
&lt;li&gt;All functions are automagically converted to APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There is more error prone using procedural functions than writing down in server less functions(hoping supabase launches as soon as they can)&lt;/li&gt;
&lt;li&gt;Because supabase functions are still wip, I can’t integrate with email services to send license keys so I had to manually send license keys to the user email.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You can checkout my app here &lt;a href="https://zenmode.carrd.co/"&gt;https://zenmode.carrd.co/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>api</category>
      <category>backend</category>
      <category>postgres</category>
      <category>sql</category>
    </item>
    <item>
      <title>Ask Dev community: License Key Generation</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Tue, 17 May 2022 05:20:36 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/ask-dev-community-license-key-generation-f1b</link>
      <guid>https://forem.com/pradeepb28_/ask-dev-community-license-key-generation-f1b</guid>
      <description>&lt;p&gt;After dealing with Paddle's service customer support, I've given up the idea of integrating the service; the major reason for using Paddle was to use their license key APIs.&lt;/p&gt;

&lt;p&gt;I am thinking to build my own License key generation. But I am new to backend development, looking some guidance on architecture level or things that I don't know I should consider.&lt;/p&gt;

&lt;h2&gt;
  
  
  Below are the following services I am planning to build
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. License Registration&lt;/strong&gt; - &lt;em&gt;Register the license key for the first time&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When user inputs the license key and purchaser’s email, it validates with the backend based on machine’s serial id to determine if it is the first time registration or not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. License Unregistration&lt;/strong&gt; - &lt;em&gt;Un-register the license key from the device.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Let’s say if user decides to use the app on another machine then user has to unregister the current device.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. License Update Registration&lt;/strong&gt; -_ Register new device for the same key_&lt;/p&gt;

&lt;p&gt;Basically user re-registers their key on a new device. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. License Verification&lt;/strong&gt; - &lt;em&gt;Validation every X hours&lt;/em&gt;&lt;br&gt;
Validate every X hours to check if the app has the right key on right machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. License Revocation&lt;/strong&gt; - &lt;em&gt;Invalidate the key&lt;/em&gt;&lt;br&gt;
When a refund is successful, revoke the existing license key.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;What do y'all think?&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
You can DM me &lt;a href="https://twitter.com/pradeepb28"&gt;here&lt;/a&gt;, if you want to share your view in private.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>For the last few days, gas fee has become ridiculously high $$$ so I've built an app to save money</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Fri, 13 May 2022 02:43:26 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/for-the-last-few-days-gas-fee-has-become-ridiculously-high-so-ive-built-an-app-to-save-money-m85</link>
      <guid>https://forem.com/pradeepb28_/for-the-last-few-days-gas-fee-has-become-ridiculously-high-so-ive-built-an-app-to-save-money-m85</guid>
      <description>&lt;p&gt;Firstly, I am new to web3 so to get into that eco-system I wanted to build something small. One of the pressing issue in web3 especially in ETH is gas fee which is like a transaction fee. For many unknown reasons, gas fee has become ridiculously high for the last few days. &lt;/p&gt;

&lt;p&gt;Ex: To make a small transaction you got to shell out anywhere between $30 to $200. (At the time of writing this article it is ~$110)&lt;/p&gt;

&lt;p&gt;Gas fee is calculated based on the complexity of the transaction, number of people transacting at the time of your transaction + some other factors.&lt;/p&gt;

&lt;p&gt;To help others save $$$ on gas fee I've focused on one problem.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Majority of the users make transactions on desktop instead of mobile(because the mobile adoption for web3 is not quite there yet), so I've focused to build a desktop app so it is right there on your desktop always &lt;/li&gt;
&lt;li&gt;The app will show the user the ethereum price and gas fee based on the priority.&lt;/li&gt;
&lt;li&gt;To help save money, user can set reminders based on the gas fee. (For instance, if you're comfortable enough to make a transaction on eth when gas fee is 20 Gwei, you can set that value for the reminder)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ETH Gas Alert&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;*&lt;em&gt;Download for free - &lt;a href="https://ethgas.carrd.co/?ref=producthunt"&gt;https://ethgas.carrd.co/?ref=producthunt&lt;/a&gt;&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VA6H9l2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4kc14girkzv6n1okvhz4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VA6H9l2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4kc14girkzv6n1okvhz4.png" alt="Image description" width="880" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_OwDGGC7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1f4y6k5fhyjiik69vp7h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_OwDGGC7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1f4y6k5fhyjiik69vp7h.png" alt="Image description" width="880" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TW_ZE4KZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kspwwdy5qgnrhpn15wde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TW_ZE4KZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kspwwdy5qgnrhpn15wde.png" alt="Image description" width="668" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tech stack:&lt;/strong&gt;&lt;br&gt;
Frontend: Swift(Appkit &amp;amp; UIKit)&lt;br&gt;
Backend: Supabase(DB, API and Cron job)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ETH Gas Alert&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;*&lt;em&gt;Download for free - &lt;a href="https://ethgas.carrd.co/?ref=producthunt"&gt;https://ethgas.carrd.co/?ref=producthunt&lt;/a&gt;&lt;br&gt;
*&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to learn more about how I used Supabase you can read here &lt;a href="https://dev.to/pradeepb28_/ive-built-a-mac-app-using-supabase-1ank"&gt;https://dev.to/pradeepb28_/ive-built-a-mac-app-using-supabase-1ank&lt;/a&gt; (lmk if you need more information, happy to detail them)&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>ethereum</category>
      <category>showdev</category>
      <category>web3</category>
    </item>
    <item>
      <title>Showcase: Airport for Mac</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Tue, 19 Apr 2022 09:05:02 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/showcase-airport-for-mac-pjl</link>
      <guid>https://forem.com/pradeepb28_/showcase-airport-for-mac-pjl</guid>
      <description>&lt;p&gt;To be focused on writing &amp;amp; working, there are the times where I don’t want my machine to be connected to the outside world, so the idea is what if there is a way to kill the wireless tech anytime &amp;amp; anywhere. This is something not new in the market, there is a great example on smartphones - Airplane mode.&lt;/p&gt;

&lt;p&gt;Instead of reinventing something new, just like an iPhone, what if there is an Airplane mode for Mac that turns on/off Wi-Fi, Bluetooth and other things.&lt;/p&gt;

&lt;p&gt;Quick video:&lt;br&gt;
&lt;a href="https://youtu.be/cRafN4kHGT8"&gt;https://youtu.be/cRafN4kHGT8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can download the app from here for FREE(limited time only and it supports only on Monterey) &lt;a href="https://www.producthunt.com/posts/airplane-for-mac"&gt;https://www.producthunt.com/posts/airplane-for-mac&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I built it?&lt;/strong&gt;&lt;br&gt;
Like always, Apple doesn't keep up the work on Mac development, it was mindf*ck task to make it work. Outside it looks simple but there was a lot of effort put in learning&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AppKit&lt;/li&gt;
&lt;li&gt;Applescript&lt;/li&gt;
&lt;li&gt;Shell script&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>mac</category>
      <category>apps</category>
      <category>apple</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I've built an iOS/macOS/iPadOS app using low code within 3 days</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Sun, 10 Apr 2022 06:50:47 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/ive-built-an-iosmacosipados-app-using-low-code-within-3-days-158o</link>
      <guid>https://forem.com/pradeepb28_/ive-built-an-iosmacosipados-app-using-low-code-within-3-days-158o</guid>
      <description>&lt;p&gt;I'm fairly new to backend dev &amp;amp; have a decent knowledge on how to build frontend apps using Swift. When I chose to become Indie, I wanted to have a clear idea of what Indie implies in terms of product development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For me Indie 101 is:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product 20%&lt;/li&gt;
&lt;li&gt;Design 20%&lt;/li&gt;
&lt;li&gt;Coding 20%&lt;/li&gt;
&lt;li&gt;Mkt 20%&lt;/li&gt;
&lt;li&gt;Others 20%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As an Indie, you're pretty much doing everything on your own &amp;amp;  have less time to do it. Before moving to lowcode, I've tried building things from scratch &amp;amp; failed to do it on backend, I've spent like 4-6 weeks on backend, then I've felt like it is not worth to build everything from scratch since you don't know if the product is actually going to work or not. I've decided to look for leanest solutions, at the same time not compromising the user experience. I had fair knowledge on no-code &amp;amp; low-code market because of my past experience where we've adopted several tools for marketing initiatives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What did I build?&lt;/strong&gt;&lt;br&gt;
I am a savvy user on Twitter &amp;amp; I use Twitter advanced search thoroughly. While the feature is great, but I've found out that the feature has poor adoption among users who are not part of tech world. This is due to not knowing the feature exists and also hard to  memorize the exact search filters to find tweets.&lt;/p&gt;

&lt;p&gt;So, I've prioritized these problems&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build a solution that focuses more on "what" to search instead of "how" to.&lt;/li&gt;
&lt;li&gt; Unlock several search filters (these search filters are currently not visible on default twitter advanced search)&lt;/li&gt;
&lt;li&gt;Library to store all the search phrases.&lt;/li&gt;
&lt;li&gt;Introduce "Discover" section to educate user how to find the best content. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Launch it on iOS first because the advanced feature doesn't even exists unless you know how to directly input the search filters. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://birdsearch.softr.app/" rel="noopener noreferrer"&gt;Bird search - Your advanced search app for Twitter &lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;To download &lt;a href="https://apps.apple.com/us/app/bird-search/id1593852437?platform=mac" rel="noopener noreferrer"&gt;click here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3nyrpmuky8lp6kax8rdx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3nyrpmuky8lp6kax8rdx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6benukpqbwymv5ymesw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe6benukpqbwymv5ymesw.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F11e3npz4krtw6pu44n2a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F11e3npz4krtw6pu44n2a.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmw42nmap70e5lo12oe6b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmw42nmap70e5lo12oe6b.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvsjvu7b86t81mu5g86e2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvsjvu7b86t81mu5g86e2.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How did I build?&lt;/strong&gt;&lt;br&gt;
Tech stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: Swift&lt;/li&gt;
&lt;li&gt;Backend: iCloud/Xano&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Not much to talk about frontend here. But when I've decided the tech stack for backend I wanted to make sure "Privacy" is the by product for the user generated data.&lt;/p&gt;

&lt;p&gt;User generated data is stored in iCloud.(Private)&lt;br&gt;
Data generated in Discover section is stored in Xano.(Public)&lt;/p&gt;

&lt;p&gt;Xano is a low-code server-less for backend development&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you create a table, a default CRUD APIs are automagically generated (this itself saves you 4-8 hours easily)&lt;/li&gt;
&lt;li&gt;No need to manage servers, just watch out the peak usage to scale your servers.&lt;/li&gt;
&lt;li&gt;Easy to adopt for beginners (no need to have backend knowledge, but a decent knowledge is enough on building tables and using APIs) &lt;/li&gt;
&lt;li&gt;Export data to another service provider&lt;/li&gt;
&lt;li&gt;Integrations with 3rd party providers
many more...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cons:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The product is not matured enough in a sense that if you want to build complex server-side logic you are limited to it(While, I've not checked out how their server-less functions are working, but if you so, leave your feedback in the comments :) )&lt;/li&gt;
&lt;li&gt;Not many 3rd party integration providers&lt;/li&gt;
&lt;li&gt;Usability issues on their dashboard&lt;/li&gt;
&lt;li&gt;Expensive pricing (they could do little better in terms in increasing usage limits on their $59 plan)&lt;/li&gt;
&lt;li&gt;Abstraction layers such as Xano are not great to build scalable products(of course it depends on how you are scaling your product) but for small &amp;amp; medium size products is more than enough.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;iPad/Mac screenshots&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnbgtse3ghmeapkzbvxxj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnbgtse3ghmeapkzbvxxj.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fos7wfm6jrav9jx69v5xj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fos7wfm6jrav9jx69v5xj.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5w5vnjtla7k6rggh2q4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5w5vnjtla7k6rggh2q4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6eu3if652c4v5c8js0c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6eu3if652c4v5c8js0c.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkmaevv85d9fqixvt1y11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkmaevv85d9fqixvt1y11.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53b1r81zz6f4wb8oumz8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F53b1r81zz6f4wb8oumz8.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can checkout app here: &lt;a href="https://apps.apple.com/us/app/bird-search/id1593852437" rel="noopener noreferrer"&gt;https://apps.apple.com/us/app/bird-search/id1593852437&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don't reinvent wheel, you've lot to work when you are hacking in Indie world.&lt;/li&gt;
&lt;li&gt;Don't think scalable solutions unless you know the product work until then use low code solutions like Xano&lt;/li&gt;
&lt;li&gt;If you want to introduce low code tools in your company, start with projects that are short lived, it is a good place to build MVPs and convince your team. Ex: We've introduced low code and no code tools for marketing projects initially.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(Note: I am not affiliated to Xano)&lt;/p&gt;

&lt;p&gt;You can checkout my other blog post: &lt;a href="https://dev.to/pradeepb28_/ive-built-a-mac-app-using-supabase-1ank"&gt;https://dev.to/pradeepb28_/ive-built-a-mac-app-using-supabase-1ank&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I've built a Mac app using low-code(Supabase)</title>
      <dc:creator>deepu</dc:creator>
      <pubDate>Fri, 08 Apr 2022 04:59:29 +0000</pubDate>
      <link>https://forem.com/pradeepb28_/ive-built-a-mac-app-using-supabase-1ank</link>
      <guid>https://forem.com/pradeepb28_/ive-built-a-mac-app-using-supabase-1ank</guid>
      <description>&lt;p&gt;I am an iOS developer and I've an idea how backend works, but to build basic apps creating a server based backend is time consuming and complicated, I was looking for leanest solutions, among them Supabase has more love from developer community. I gave a shot, tbh it was mind-blown. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How&lt;/strong&gt;?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you create a table, you get all CRUD endpoints for free which actually saves you an easy 4-8 hours of time.&lt;/li&gt;
&lt;li&gt;You can also run CRON job using Postgres (this has nothing to do with Supabase but they let you create CRON jobs from Supabase directly.)&lt;/li&gt;
&lt;li&gt;Supports third party logins
many more...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How I built a Mac app using Supabase?&lt;/strong&gt;&lt;br&gt;
I took a user problem from blockchain where users are paying hefty gas fee on a transaction. The gas fee is highly volatile that it changes every second, so I've decided to go for an alternate solution.&lt;/p&gt;

&lt;p&gt;here is the website: &lt;a href="https://ethgas.carrd.co/"&gt;https://ethgas.carrd.co/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;here are few screenshots: &lt;a href="https://photos.app.goo.gl/iD3My9Lm8vH9E7LF9"&gt;https://photos.app.goo.gl/iD3My9Lm8vH9E7LF9&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've built a simple solution where the app asks the user "What is the gas fee that you are ready to pay for?" Based on the user's input the app will notify when the gas fee is low. &lt;/p&gt;

&lt;p&gt;For example: If user input 20 Gwei, then the backend checks every X mins to see if the fee is &amp;lt;=20 Gwei. While it looks so simple from the solution and UI pov, backend was little tricky to me as I've never worked before, but this is how I tackled it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Got access to blockchain API where it sends the gas fee information. &lt;/li&gt;
&lt;li&gt;I stored this information on Supabase for X mins using CRON job. Initially I had no idea that Supabase allows you to write CRON jobs but glad it did.&lt;/li&gt;
&lt;li&gt;To manage the storage space on Supabase, I've written another CRON job to delete the rows for the last X days.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So on the backend side, all I did was create a table and cron jobs. It felt like writing nocode/lowcode on backend.&lt;/p&gt;

&lt;p&gt;To build this entire app, it took me&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1-2 days on Idea, design &amp;amp; frontend&lt;/li&gt;
&lt;li&gt;1-2 days on backend.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conclusion: Don't try to build from scratch unless you want to learn or your job demands. &lt;/p&gt;

&lt;p&gt;Srly, if you've not tried Supabase, give a shot. They are also planning to launch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Triggers&lt;/li&gt;
&lt;li&gt;Functions
many more..&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(I am not affiliated to Supabase)&lt;br&gt;
You can checkout my other blog post: &lt;a href="https://dev.to/pradeepb28_/ive-built-an-iosmacosipados-app-using-low-code-within-3-days-158o"&gt;https://dev.to/pradeepb28_/ive-built-an-iosmacosipados-app-using-low-code-within-3-days-158o&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ios</category>
      <category>serverless</category>
      <category>supabase</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
