<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: ftonato</title><link>https://news.ycombinator.com/user?id=ftonato</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 27 Jun 2026 04:40:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ftonato" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ftonato in "Ask HN: Who wants to be hired? (May 2026)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Lisbon, Portugal
  Remote: Yes
  Willing to relocate: Maybe
  Technologies: Node.js, TypeScript/JavaScript, Express, Next.js, Zod, Supabase/PostgreSQL, Tailwind CSS, LangChain, React, Vue.js, GraphQL, gRPC, Go (learning)
  Résumé/CV: https://drive.google.com/file/d/10jfFaDlciDk8k44epHeYsGwWhKViOAqJ/view
  Email: ademilsonft@outlook.com
  LinkedIn: https://www.linkedin.com/in/ftonato
  GitHub: https://github.com/ftonato
</code></pre>
Currently working as a Software Engineer at one of the 50 fastest-growing startups in San Francisco. I focus on building and scaling production systems, and I’m open to new freelance or contract-based engagements for upcoming projects.</p>
]]></description><pubDate>Wed, 06 May 2026 21:29:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48042130</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=48042130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48042130</guid></item><item><title><![CDATA[New comment by ftonato in "Ask HN: Who wants to be hired? (April 2026)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Lisbon, Portugal
  Remote: Yes
  Willing to relocate: Maybe
  Technologies: Node.js, TypeScript/JavaScript, Express, Next.js, Zod, Supabase/PostgreSQL, Tailwind CSS, LangChain, React, Vue.js, GraphQL, gRPC
  Résumé/CV: https://drive.google.com/file/d/10jfFaDlciDk8k44epHeYsGwWhKViOAqJ/view
  Email: ademilsonft@outlook.com
  LinkedIn: https://www.linkedin.com/in/ftonato
  GitHub: https://github.com/ftonato
</code></pre>
Currently working as a Software Engineer at one of the 50 fastest-growing startups in San Francisco. I focus on building and scaling production systems, and I’m open to new freelance or contract-based engagements for upcoming projects.</p>
]]></description><pubDate>Fri, 03 Apr 2026 22:14:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47633032</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=47633032</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47633032</guid></item><item><title><![CDATA[New comment by ftonato in "Ask HN: Who wants to be hired? (March 2026)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Lisbon, Portugal
  Remote: Yes
  Willing to relocate: Maybe
  Technologies: Node.js, TypeScript/JavaScript, Express, Next.js, Zod, Supabase/PostgreSQL, Tailwind CSS, LangChain, React, Vue.js, GraphQL, gRPC
  Résumé/CV: https://drive.google.com/file/d/1uTzDloINdkEwNBneTa9kLrkMCYLJw7-G/view
  Email: ademilsonft@outlook.com
  LinkedIn: https://www.linkedin.com/in/ftonato
  GitHub: https://github.com/ftonato
</code></pre>
Currently working as a Software Engineer at one of the 50 fastest-growing startups in San Francisco. I focus on building and scaling production systems, and I’m open to new freelance or contract-based engagements for upcoming projects.</p>
]]></description><pubDate>Mon, 09 Mar 2026 18:36:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47313363</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=47313363</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47313363</guid></item><item><title><![CDATA[Show HN: A production-style recommender using vector retrieval and re-ranking]]></title><description><![CDATA[
<p>I’ve been exploring how recommendation systems are actually implemented in production, beyond just training models.<p>A common pattern I kept seeing is to split the problem into two stages:<p>1. Retrieve a small set of relevant candidates<p>2. Re-rank them using a model<p>Instead of doing brute-force inference across all items, I built a small prototype around this idea.<p>The flow looks like this:<p>- Store embeddings in a vector database (ChromaDB)<p>- Retrieve the Top-K most similar items/users based on vector similarity<p>- Run a TensorFlow.js model to re-rank the candidates<p>The goal is to reduce the search space before applying inference, which seems necessary when latency and scale matter.<p>What I found interesting is that once you move to this approach, a lot of the complexity shifts from the model itself to the retrieval layer:<p>- choosing K<p>- filtering candidates<p>- embedding quality<p>- latency vs recall trade-offs<p>Curious how others approach this in real systems:<p>- How do you decide on K?<p>- Do you rely purely on vector similarity or add heuristics?<p>- How do you handle re-ranking at scale?<p>Project:
<a href="https://github.com/ftonato/recommendation-system-chromadb-tfjs" rel="nofollow">https://github.com/ftonato/recommendation-system-chromadb-tf...</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47186896">https://news.ycombinator.com/item?id=47186896</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 27 Feb 2026 22:49:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47186896</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=47186896</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47186896</guid></item><item><title><![CDATA[New comment by ftonato in "Ask HN: Who wants to be hired? (February 2026)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Lisbon, Portugal
  Remote: Yes
  Willing to relocate: Maybe
  Technologies: Node.js, TypeScript/JavaScript, Express, Next.js, Zod, Supabase/PostgreSQL, Tailwind CSS, LangChain, React, Vue.js, GraphQL, gRPC
  Résumé/CV: https://drive.google.com/file/d/1ps9Aj0tS16z499GXEUsqxMZ2trTFblgf/view
  Email: ademilsonft@outlook.com
  LinkedIn: https://www.linkedin.com/in/ftonato
  GitHub: https://github.com/ftonato
</code></pre>
Currently working as a Software Engineer at one of the 50 fastest-growing startups in San Francisco. I focus on building and scaling production systems, and I’m open to new freelance or contract-based engagements for upcoming projects.</p>
]]></description><pubDate>Mon, 02 Feb 2026 16:04:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46857535</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=46857535</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46857535</guid></item><item><title><![CDATA[New comment by ftonato in "Ask HN: Who wants to be hired? (January 2026)"]]></title><description><![CDATA[
<p><p><pre><code>  Location: Lisbon, Portugal
  Remote: Yes
  Willing to relocate: Maybe
  Technologies: Node.js, TypeScript/JavaScript, Express, Next.js, Zod, Supabase/PostgreSQL, Tailwind CSS, LangChain, React, Vue.js, GraphQL, gRPC
  Résumé/CV: https://drive.google.com/file/d/1ps9Aj0tS16z499GXEUsqxMZ2trTFblgf/view
  Email: ademilsonft@outlook.com
  LinkedIn: https://www.linkedin.com/in/ftonato
  GitHub: https://github.com/ftonato
</code></pre>
Currently working as a Software Engineer at one of the 50 fastest-growing startups in San Francisco. I focus on building and scaling production systems, and I’m open to new freelance or contract-based engagements for upcoming projects.</p>
]]></description><pubDate>Fri, 02 Jan 2026 17:27:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46467119</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=46467119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46467119</guid></item><item><title><![CDATA[Why are "remote" jobs in late 2025 still limited to hiring in US/CA/UK/DE?]]></title><description><![CDATA[
<p>Throughout 2025, I've been following job boards like YC Jobs, RemoteOK, NoDesk, WeWorkRemotely, and others. Across all of them, I keep seeing a recurring pattern:<p>Many companies advertise "remote" roles, but hiring is limited to the US, Canada, UK, or Germany. Sometimes they add one or two more countries, but rarely anything beyond that.<p>Given that it's the last quarter of 2025 and remote work is more established than ever, I'm trying to understand the reasoning behind this.<p>A few questions I'm hoping founders, hiring managers, or people with international hiring experience can shed light on:<p>- Is the main blocker regulatory complexity? (employment law, compliance, local registrations, PE risk, etc.)<p>- Is it primarily about taxes and payroll overhead when hiring abroad?<p>- Are there security or liability concerns that make certain jurisdictions easier to work with?<p>- Is it simply the cost of maintaining compliant employment structures worldwide, or are there deeper strategic reasons?<p>- And finally: Is there evidence that the value produced by strong engineers abroad doesn't offset those costs, or is the issue not economic at all?<p>I'm asking out of genuine curiosity, from the outside, it seems like a global talent pool should be an advantage, especially for remote-first companies. But the hiring restrictions persist, even as tools like Deel, Remote, Oyster, etc. mature.<p>I'd love to hear perspectives from people who have dealt with this firsthand.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46213671">https://news.ycombinator.com/item?id=46213671</a></p>
<p>Points: 26</p>
<p># Comments: 19</p>
]]></description><pubDate>Wed, 10 Dec 2025 03:27:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46213671</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=46213671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46213671</guid></item><item><title><![CDATA[New comment by ftonato in "Track document visibility state seamlessly across browsers"]]></title><description><![CDATA[
<p>Seamlessly track the visibility state of your document across different browsers. Know when your users switch to another window or tab.</p>
]]></description><pubDate>Sat, 20 May 2023 14:13:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=36012088</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=36012088</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36012088</guid></item><item><title><![CDATA[Track document visibility state seamlessly across browsers]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.npmjs.com/package/visibility-listener">https://www.npmjs.com/package/visibility-listener</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36012087">https://news.ycombinator.com/item?id=36012087</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 20 May 2023 14:13:47 +0000</pubDate><link>https://www.npmjs.com/package/visibility-listener</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=36012087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36012087</guid></item><item><title><![CDATA[New comment by ftonato in "Set-Timeout-Manager"]]></title><description><![CDATA[
<p>A simple utility for managing timeouts without having to manually track timeout IDs. Easily start and stop timeouts using a unique identifier.</p>
]]></description><pubDate>Mon, 01 May 2023 19:47:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=35778143</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=35778143</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35778143</guid></item><item><title><![CDATA[Set-Timeout-Manager]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.npmjs.com/package/set-timeout-manager">https://www.npmjs.com/package/set-timeout-manager</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35778142">https://news.ycombinator.com/item?id=35778142</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 01 May 2023 19:47:03 +0000</pubDate><link>https://www.npmjs.com/package/set-timeout-manager</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=35778142</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35778142</guid></item><item><title><![CDATA[New comment by ftonato in "Set-Interval-Manager"]]></title><description><![CDATA[
<p>A simple utility for managing intervals without having to manually track interval IDs. Easily start and stop intervals using a unique identifier.</p>
]]></description><pubDate>Sat, 29 Apr 2023 11:27:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=35751952</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=35751952</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35751952</guid></item><item><title><![CDATA[Set-Interval-Manager]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.npmjs.com/package/set-interval-manager">https://www.npmjs.com/package/set-interval-manager</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35751951">https://news.ycombinator.com/item?id=35751951</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 29 Apr 2023 11:27:45 +0000</pubDate><link>https://www.npmjs.com/package/set-interval-manager</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=35751951</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35751951</guid></item><item><title><![CDATA[New comment by ftonato in "Million"]]></title><description><![CDATA[
<p>On the core/code repository we have the LICENSE file and it's also present on the README (under the Acknowledgments session).<p>On the docs page we have under the Acknowledgments session the first item that presents the License (MIT).<p>If it wasn't clear, I can move to a separate session :)</p>
]]></description><pubDate>Sun, 13 Jun 2021 16:17:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=27493820</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=27493820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27493820</guid></item><item><title><![CDATA[New comment by ftonato in "Million"]]></title><description><![CDATA[
<p>Fixing it right now, thanks for reporting =)</p>
]]></description><pubDate>Sun, 13 Jun 2021 15:47:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=27493537</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=27493537</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27493537</guid></item><item><title><![CDATA[New comment by ftonato in "Million"]]></title><description><![CDATA[
<p><1kb virtual DOM - it's fast! Current Virtual DOM implementations are inadequate—Ranging from overcomplicated to abandoned, most are unusable without sacrificing raw performance and size. Million aims to fix this, providing a library-agnostic Virtual DOM to serve as the core for Javascript libraries.</p>
]]></description><pubDate>Sun, 13 Jun 2021 15:36:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=27493444</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=27493444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27493444</guid></item><item><title><![CDATA[Million]]></title><description><![CDATA[
<p>Article URL: <a href="https://million.js.org/">https://million.js.org/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=27493443">https://news.ycombinator.com/item?id=27493443</a></p>
<p>Points: 2</p>
<p># Comments: 6</p>
]]></description><pubDate>Sun, 13 Jun 2021 15:36:02 +0000</pubDate><link>https://million.js.org/</link><dc:creator>ftonato</dc:creator><comments>https://news.ycombinator.com/item?id=27493443</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27493443</guid></item></channel></rss>