<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Chani's notes]]></title><description><![CDATA[Chani's notes]]></description><link>https://chanisnotes.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 04 Nov 2026 11:08:12 GMT</lastBuildDate><atom:link href="https://chanisnotes.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[What You Didn’t Know About Stealth Startups]]></title><description><![CDATA[A stealth startup is a startup that carries out a majority of its operations under the radar of the public. They usually operate in stealth for some time…]]></description><link>https://chanisnotes.hashnode.dev/what-you-didnt-know-about-stealth-startups</link><guid isPermaLink="true">https://chanisnotes.hashnode.dev/what-you-didnt-know-about-stealth-startups</guid><category><![CDATA[stealth startups]]></category><category><![CDATA[Startups]]></category><category><![CDATA[proxycurl]]></category><dc:creator><![CDATA[Ani Chidera]]></dc:creator><pubDate>Fri, 06 Jan 2023 09:16:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1672996354659/75d52ba1-a721-4515-8e1e-2678b92325dd.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A stealth startup is a startup that carries out a majority of its operations under the radar of the public. They usually operate in stealth for some time until they’re ready to open up services to the public.</p>
<p>Startups remain in stealth for many reasons, ranging from less pressure to protecting ideas from potential competitors. In this article, we look at the pros and cons of stealth startups, how to track stealth startups, entrepreneurial talents, and current employees, and Identify <a target="_blank" href="https://nubela.co/proxycurl/solutions/alternative-data-for-investment-firms?utm_campaign=writers%20domain&amp;utm_source=website&amp;utm_medium=review&amp;utm_content=stealth%20startups%20good%20bad%20find"><strong>Investment signals</strong></a> with <a target="_blank" href="https://nubela.co/proxycurl/">Proxycurl</a>.</p>
<h1 id="heading-the-pros"><strong>The Pros</strong></h1>
<ol>
<li><p><strong>Lesser pressure</strong>: Startups in stealth mode can build and iterate without external pressure to deliver to the public. It helps them drown out the noise with a focus on delivering a finished product.</p>
</li>
<li><p><strong>Avoidance of regulation</strong>: Startups can perfect their consumer protection and other regulatory requirements in stealth before launching their product to avoid regulatory punishments.</p>
</li>
<li><p><strong>Idea protection</strong>: Building in stealth allows startups to protect their ideas from the potential and established competition, while they perfect their penalties.</p>
</li>
</ol>
<h1 id="heading-the-cons"><strong>The Cons</strong></h1>
<ol>
<li><p><strong>Lack of feedback</strong>: Startups in stealth cannot perform user research and gather feedback. They are left to build with theories that might not find product market fit.</p>
</li>
<li><p><strong>Small customer base</strong>: Due to lack of publicity stealth startups have a small customer base and usually have to increase their marketing budget to gather more customers.</p>
</li>
</ol>
<h1 id="heading-discovering-stealth-startups-with-proxycurl"><strong>Discovering Stealth Startups With Proxycurl</strong></h1>
<p><a target="_blank" href="https://nubela.co/proxycurl/">Proxycurl</a> provides tools and data to discover the wealth of stealth startups. The <a target="_blank" href="https://nubela.co/blog/stealth-startups-the-good-the-bad-where-to-find-them/?utm_campaign=writers%20domain&amp;utm_source=website&amp;utm_medium=review&amp;utm_content=stealth%20startups%20good%20bad%20find">Finding Stealth Startups</a> tool by Proxycurl helps track the movements of entrepreneurial talents and follow current employees and their activity between jobs.</p>
<p><a target="_blank" href="https://nubela.co/proxycurl/">Proxycurl</a> also provides an <a target="_blank" href="https://nubela.co/proxycurl/solutions/alternative-data-for-investment-firms?utm_campaign=writers%20domain&amp;utm_source=website&amp;utm_medium=review&amp;utm_content=stealth%20startups%20good%20bad%20find%22%E2%80%8C%22">Investment Signal</a> tool to help get alternative investment data to identify hiring velocity, track the rate of change of employees within a company, and identify and track prospective founders.</p>
<p>Check out more about <a target="_blank" href="https://nubela.co/blog/stealth-startups-the-good-the-bad-where-to-find-them/?utm_campaign=writers%20domain&amp;utm_source=website&amp;utm_medium=review&amp;utm_content=stealth%20startups%20good%20bad%20find">Stealth Startups</a> for more information.</p>
]]></content:encoded></item><item><title><![CDATA[Managing auth state in your Angular Firebase app]]></title><description><![CDATA[Firebase authentication usually comes in handy when building any type of application. It helps manage your app’s users, auth state, as well as track user…]]></description><link>https://chanisnotes.hashnode.dev/managing-auth-state-in-your-angular-firebase-app</link><guid isPermaLink="true">https://chanisnotes.hashnode.dev/managing-auth-state-in-your-angular-firebase-app</guid><dc:creator><![CDATA[Ani Chidera]]></dc:creator><pubDate>Tue, 18 Aug 2020 21:02:30 GMT</pubDate><content:encoded><![CDATA[<p><span class="r"></span></p>
<h1 id="managing-auth-state-in-your-angular-firebase-app-">Managing auth state in your Angular Firebase app.</h1>
<img src="https://miro.medium.com/max/1252/1*NnQ1RFFyigISAmsqw5S3XA.jpeg" />



<p><span class="r jb jc jd je jf jg jh ji jj df">F</span>irebase authentication usually comes in handy when building any type of application. It helps manage your app’s users, auth state, as well as track user sessions.</p>
<p>In this article we’ll go through tracking authentication state in your angular application and emitting changes to other components using Firebase’s onAuthStateChanged Observable and an RXJS Subject.</p>
<p>let’s dive in……..</p>
<p>In the <a href="https://gist.github.com/chani24/1dca2d5d2f315fa0500c1cab0dff289a#file-signin-component-ts">signin.component.ts</a> , we get login data from the form in our template, which we will then pass to our auth service for authentication.</p>
<p>In our <a href="https://gist.github.com/chani24/4b9d75f79d14ec239d91975683573f2a#file-auth-service-ts">auth.service.ts</a>, we import BehaviourSubject and Observable from RXJS. BehavourSubject is a special type of Observable that allows values to be multicast to many Observers. We also import AngularFireAuth from Angular Fire and auth from Firebase/app.</p>
<p>The following steps explain the process.</p>
<p>Step 1: Initialize a property, currentUser.</p>
<p>Step 2 : Initialize a new BehaviourSubject called authStatusSub and pass currentUser as it’s first value.</p>
<p>Step 3 : Initialize a property, currentAuthStatus which returns authStatusSub as an Obvservable that can be observed across components.</p>
<p>Step 4 : Create a method called authStatusListener and used onAuthStateChanged to check auth state. If a user is Logged in, we call authStatusSub.next and pass in the current user credentials however if no user is logged in, we pass null into authStatusSub.next.</p>
<p>authStatusSub.next passes the current value to all Observers. See <a href="https://rxjs-dev.firebaseapp.com/guide/subject">https://rxjs-dev.firebaseapp.com/guide/subject</a> for more explanation.</p>
<p>Let’s proceed to listen to it’s emissions in another component.</p>
<p>In <a href="https://gist.github.com/chani24/d9f87683c7d1f7e16c077f1c359c7a42#file-header-component-ts">header.component.ts</a>, we subscribe to currentAuthStatus from our auth service and pass it’s value into an earlier initialized isAuthenticated property.</p>
<p>In <a href="https://gist.github.com/chani24/d9f87683c7d1f7e16c077f1c359c7a42#file-header-component-html">header.component.html</a>, we use conditionals to check if isAuthenticated is truthy or falsy, and then proceed to display elements in accordance.</p>
<p>We’ve been able to successfully track auth state and emit new changes in our auth status across different components. We’ve also been able to subscribe and get emitted values and use in our application logic.</p>
<p>Goodluck coding….</p>
]]></content:encoded></item></channel></rss>