<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Pytest on Prateek Sharma</title>
		<link>https://prateeksharma.me/tags/pytest/</link>
		<description>Recent content in Pytest on Prateek Sharma</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Mon, 01 Sep 2025 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://prateeksharma.me/tags/pytest/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>CoinTracker</title>
				<link>https://prateeksharma.me/experience/cointracker/</link>
				<pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate>
				<guid>https://prateeksharma.me/experience/cointracker/</guid>
				<description>&lt;p&gt;CoinTracker is a crypto portfolio and tax platform. I worked on the ingestion&#xA;and reconciliation side: getting on-chain data into the system correctly, and&#xA;keeping wallet balances consistent across chains.&lt;/p&gt;&#xA;&lt;h2 id=&#34;engineering-areas&#34;&gt;Engineering areas&lt;/h2&gt;&#xA;&lt;h3 id=&#34;blockchain-integrations&#34;&gt;Blockchain integrations&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Integrated &lt;strong&gt;Cardano&lt;/strong&gt; and &lt;strong&gt;Stellar&lt;/strong&gt;, reading on-chain data from Snowflake&#xA;for balance reconciliation, transaction parsing, and portfolio tracking.&lt;/li&gt;&#xA;&lt;li&gt;Onboarded &lt;strong&gt;Akash&lt;/strong&gt; and &lt;strong&gt;Axelar&lt;/strong&gt; (cross-chain), plus &lt;strong&gt;Bitcoin Ordinals,&#xA;Inscriptions, BRC-20, and Runes&lt;/strong&gt; via the Ordiscan API.&lt;/li&gt;&#xA;&lt;li&gt;Worked behind a unified blockchain abstraction so each new chain was a smaller,&#xA;more predictable piece of work than the last.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;fault-tolerant-wallet-sync&#34;&gt;Fault-tolerant wallet sync&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Wrote the business logic behind &lt;strong&gt;Temporal&lt;/strong&gt; workers for wallet-sync&#xA;workflows: idempotent, retry-safe, and consistent across chains.&lt;/li&gt;&#xA;&lt;li&gt;Built reconciliation pipelines and validation checks so cross-chain data&#xA;disagreements surface as failures rather than silently wrong balances.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;data-tooling&#34;&gt;Data tooling&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Built and consumed &lt;strong&gt;Flask&lt;/strong&gt; REST APIs and CLI scripts for ingestion,&#xA;validation, and reconciliation.&lt;/li&gt;&#xA;&lt;li&gt;Used &lt;strong&gt;pytest&lt;/strong&gt; and &lt;strong&gt;mypy&lt;/strong&gt; to keep correctness and type safety enforced in&#xA;CI.&lt;/li&gt;&#xA;&lt;li&gt;Adopted Claude Code as an agentic assistant for feature work, debugging, and&#xA;issue resolution.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;stack&#34;&gt;Stack&lt;/h2&gt;&#xA;&lt;p&gt;Python · Flask · Temporal · Snowflake · pytest · mypy&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
