<?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>DEV Community: Tanuj Bhatia</title>
    <description>The latest articles on DEV Community by Tanuj Bhatia (@tanujbhatia).</description>
    <link>https://dev.to/tanujbhatia</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4021077%2F4c7831b6-6f85-4b92-844b-2e31a7552df4.jpg</url>
      <title>DEV Community: Tanuj Bhatia</title>
      <link>https://dev.to/tanujbhatia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tanujbhatia"/>
    <language>en</language>
    <item>
      <title>From Portfolio Project to Product Engineering: Building ChadWallet with React Native</title>
      <dc:creator>Tanuj Bhatia</dc:creator>
      <pubDate>Wed, 08 Jul 2026 10:20:20 +0000</pubDate>
      <link>https://dev.to/tanujbhatia/i-stopped-building-tutorial-apps-then-i-asked-ai-to-help-me-build-something-id-actually-be-proud-5ame</link>
      <guid>https://dev.to/tanujbhatia/i-stopped-building-tutorial-apps-then-i-asked-ai-to-help-me-build-something-id-actually-be-proud-5ame</guid>
      <description>&lt;p&gt;I Didn't Build ChadWallet to Impress Recruiters.&lt;br&gt;
I Built It to Think Like a Product Engineer.&lt;/p&gt;

&lt;p&gt;GitHub Repository&lt;/p&gt;

&lt;p&gt;⭐ &lt;a href="https://github.com/Tanuj122001/chadwallet" rel="noopener noreferrer"&gt;https://github.com/Tanuj122001/chadwallet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most portfolio projects answer one simple question:&lt;/p&gt;

&lt;p&gt;"Can this developer build an app?"&lt;/p&gt;

&lt;p&gt;I wanted my next project to answer a much more important one.&lt;/p&gt;

&lt;p&gt;"Can this developer build software that can grow?"&lt;/p&gt;

&lt;p&gt;There's a big difference.&lt;/p&gt;

&lt;p&gt;One is about completing features.&lt;/p&gt;

&lt;p&gt;The other is about making engineering decisions that still make sense months—or even years—later.&lt;/p&gt;

&lt;p&gt;That's the mindset behind ChadWallet.&lt;/p&gt;

&lt;p&gt;An AI-powered Solana wallet built with React Native + TypeScript.&lt;/p&gt;

&lt;p&gt;But this project was never really about crypto.&lt;/p&gt;

&lt;p&gt;It was about understanding how modern mobile products are architected, scaled, secured, and maintained.&lt;/p&gt;

&lt;p&gt;Before writing code, I changed the question.&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;p&gt;"What feature should I build next?"&lt;/p&gt;

&lt;p&gt;I started asking:&lt;/p&gt;

&lt;p&gt;"If this application had one million users tomorrow, would I still be confident in today's engineering decisions?"&lt;/p&gt;

&lt;p&gt;That single question influenced almost everything.&lt;/p&gt;

&lt;p&gt;Not just the code.&lt;/p&gt;

&lt;p&gt;The architecture.&lt;/p&gt;

&lt;p&gt;The folder structure.&lt;/p&gt;

&lt;p&gt;The data flow.&lt;/p&gt;

&lt;p&gt;The security model.&lt;/p&gt;

&lt;p&gt;The scalability.&lt;/p&gt;

&lt;p&gt;The maintainability.&lt;/p&gt;

&lt;p&gt;Engineering Before Features&lt;/p&gt;

&lt;p&gt;Rather than creating one large application, ChadWallet is built as a collection of independent modules.&lt;/p&gt;

&lt;p&gt;Every feature owns its own:&lt;/p&gt;

&lt;p&gt;Screens&lt;br&gt;
Components&lt;br&gt;
Hooks&lt;br&gt;
Services&lt;br&gt;
Repository&lt;br&gt;
Store&lt;br&gt;
Types&lt;br&gt;
Utilities&lt;/p&gt;

&lt;p&gt;Business logic stays outside the UI.&lt;/p&gt;

&lt;p&gt;Repositories isolate data sources.&lt;/p&gt;

&lt;p&gt;Services abstract external providers.&lt;/p&gt;

&lt;p&gt;Presentation focuses only on presentation.&lt;/p&gt;

&lt;p&gt;That separation makes every future feature easier to build, easier to maintain, and easier to test.&lt;/p&gt;

&lt;p&gt;Technology Stack&lt;br&gt;
React Native CLI&lt;br&gt;
TypeScript&lt;br&gt;
Zustand&lt;br&gt;
NativeWind&lt;br&gt;
Privy Authentication&lt;br&gt;
Supabase&lt;br&gt;
Solana Blockchain&lt;br&gt;
Alchemy RPC&lt;br&gt;
Jupiter API&lt;br&gt;
Birdeye API&lt;br&gt;
Engineering Principles&lt;/p&gt;

&lt;p&gt;The project follows principles that prioritize long-term maintainability over short-term convenience.&lt;/p&gt;

&lt;p&gt;Feature-First Architecture&lt;br&gt;
Clean Architecture&lt;br&gt;
SOLID Principles&lt;br&gt;
Repository Pattern&lt;br&gt;
Service-Oriented Design&lt;br&gt;
Modular Components&lt;br&gt;
Reusable UI System&lt;br&gt;
Type-Safe Development&lt;br&gt;
Performance-Oriented Rendering&lt;br&gt;
Accessibility Awareness&lt;br&gt;
Scalable State Management&lt;/p&gt;

&lt;p&gt;The goal wasn't to write more code.&lt;/p&gt;

&lt;p&gt;The goal was to write code that future developers—including future me—could confidently work on.&lt;/p&gt;

&lt;p&gt;Security Is an Architectural Decision&lt;/p&gt;

&lt;p&gt;One of the biggest lessons I learned during this project is that security isn't something you "add" after an application works.&lt;/p&gt;

&lt;p&gt;It influences every layer of the system.&lt;/p&gt;

&lt;p&gt;Some of the practices implemented throughout ChadWallet include:&lt;/p&gt;

&lt;p&gt;Secure Storage for sensitive information&lt;br&gt;
Environment-based configuration&lt;br&gt;
No hardcoded credentials or secrets&lt;br&gt;
Repository isolation between UI and external services&lt;br&gt;
Runtime validation&lt;br&gt;
Secure authentication flow&lt;br&gt;
Defensive error handling&lt;br&gt;
Layered application boundaries&lt;br&gt;
Separation of concerns&lt;br&gt;
Reduced client-side attack surface&lt;br&gt;
Principle of Least Privilege&lt;/p&gt;

&lt;p&gt;The objective wasn't to make unrealistic claims.&lt;/p&gt;

&lt;p&gt;The objective was to build using engineering practices inspired by production software, where security, maintainability, and scalability are considered from the beginning—not added at the end.&lt;/p&gt;

&lt;p&gt;AI Didn't Build ChadWallet.&lt;/p&gt;

&lt;p&gt;It Changed How I Build Software.&lt;/p&gt;

&lt;p&gt;Like many developers today, I use AI.&lt;/p&gt;

&lt;p&gt;Not to replace engineering.&lt;/p&gt;

&lt;p&gt;To improve it.&lt;/p&gt;

&lt;p&gt;AI helped me explore alternatives, validate ideas, accelerate research, challenge assumptions, and iterate faster.&lt;/p&gt;

&lt;p&gt;But architecture...&lt;/p&gt;

&lt;p&gt;system design...&lt;/p&gt;

&lt;p&gt;trade-offs...&lt;/p&gt;

&lt;p&gt;performance...&lt;/p&gt;

&lt;p&gt;security...&lt;/p&gt;

&lt;p&gt;maintainability...&lt;/p&gt;

&lt;p&gt;Those decisions still depended on engineering judgment.&lt;/p&gt;

&lt;p&gt;This project taught me that AI is incredibly powerful—but only when paired with a developer who understands why a solution works, not just how to generate it.&lt;/p&gt;

&lt;p&gt;What I Learned&lt;/p&gt;

&lt;p&gt;Building software isn't just about shipping features.&lt;/p&gt;

&lt;p&gt;It's about making thousands of small decisions that determine whether an application becomes easier—or harder—to evolve over time.&lt;/p&gt;

&lt;p&gt;This project fundamentally changed the way I think about:&lt;/p&gt;

&lt;p&gt;Mobile architecture&lt;br&gt;
Scalability&lt;br&gt;
Maintainability&lt;br&gt;
Performance&lt;br&gt;
Security&lt;br&gt;
Product engineering&lt;/p&gt;

&lt;p&gt;More than any framework or library, those lessons are what I'm most proud of.&lt;/p&gt;

&lt;p&gt;What's Next&lt;/p&gt;

&lt;p&gt;ChadWallet is still evolving.&lt;/p&gt;

&lt;p&gt;The roadmap includes:&lt;/p&gt;

&lt;p&gt;Production backend&lt;br&gt;
Real blockchain transactions&lt;br&gt;
Advanced portfolio analytics&lt;br&gt;
Hardware wallet support&lt;br&gt;
Biometric authentication&lt;br&gt;
Production CI/CD&lt;br&gt;
Automated testing&lt;br&gt;
Monitoring &amp;amp; observability&lt;br&gt;
Advanced security hardening&lt;/p&gt;

&lt;p&gt;Every new feature will continue following the same engineering principles the project was built on.&lt;/p&gt;

&lt;p&gt;Explore ChadWallet&lt;/p&gt;

&lt;p&gt;⭐ GitHub Repository&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Tanuj122001/chadwallet" rel="noopener noreferrer"&gt;https://github.com/Tanuj122001/chadwallet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're interested in software architecture, mobile engineering, or React Native development, I'd genuinely appreciate your feedback.&lt;/p&gt;

&lt;p&gt;Feel free to:&lt;/p&gt;

&lt;p&gt;Explore the repository&lt;br&gt;
Review the architecture&lt;br&gt;
Suggest improvements&lt;br&gt;
Open issues&lt;br&gt;
Submit Pull Requests&lt;/p&gt;

&lt;p&gt;I believe the best engineers never stop learning, and every thoughtful review is an opportunity to improve.&lt;/p&gt;

&lt;p&gt;Final Thought&lt;/p&gt;

&lt;p&gt;I don't believe great software is defined by the number of features it has.&lt;/p&gt;

&lt;p&gt;I believe it's defined by the quality of the decisions behind those features.&lt;/p&gt;

&lt;p&gt;ChadWallet isn't just another project in my portfolio.&lt;/p&gt;

&lt;p&gt;It's my attempt to demonstrate how I think about software engineering—through architecture, scalability, maintainability, security, and long-term product design.&lt;/p&gt;

&lt;p&gt;If you're an engineer, I'd love your feedback.&lt;/p&gt;

&lt;p&gt;If you're a founder building ambitious products, I'd love to hear your perspective.&lt;/p&gt;

&lt;p&gt;And if you're someone who values engineering as much as shipping features, I hope this project resonates with you.&lt;/p&gt;

&lt;p&gt;📌 Tech Stack&lt;/p&gt;

&lt;p&gt;React Native • TypeScript • Zustand • NativeWind • Privy • Supabase • Solana • Alchemy RPC • Jupiter API • Birdeye API • Clean Architecture • Repository Pattern • AI • Mobile Engineering&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj0vnt2da38jlzz7tgnsi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fj0vnt2da38jlzz7tgnsi.jpg" alt=" " width="800" height="1781"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc1igdv9cv669miry3991.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc1igdv9cv669miry3991.jpg" alt=" " width="800" height="1781"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8hn014dx6240nftvebug.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8hn014dx6240nftvebug.jpg" alt=" " width="800" height="1781"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fstuy4smajnu584kfkkqs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fstuy4smajnu584kfkkqs.jpg" alt=" " width="800" height="1781"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>beginners</category>
      <category>security</category>
    </item>
  </channel>
</rss>
