Hi, I'm Jacob 👋
Indie developer. 10 years building products solo — from physical goods to SaaS to crypto accounting.
JS

About

I studied electrical engineering at UNSW, then went indie. Since 2016 I've been building products — FMCG goods, yoga studio management software, fiat accounting tools, and now crypto accounting. I've been active in crypto markets since 2019, and when it came time to do my taxes across 20+ wallets, multiple chains, and a collapsed exchange, nothing could handle it. So I built my own — double-entry accounting, FIFO cost basis, per-wallet audit trails. I'm a hardware and software power user, and I share what I learn about using AI and tooling to stay productive as a solo founder.

Projects

What I'm Building

Real products, built solo. From B2B SaaS to DeFi tools.

Fundte — Crypto Tax Engine

Double-entry accounting for crypto. FIFO cost basis, multi-chain event parsing, per-wallet audit trails, price resolution from multiple sources, and Australian CGT calculations. Built because no existing tool could handle the complexity of DeFi positions, collapsed exchanges, and SMSF compliance.

React Router v7
TypeScript
PostgreSQL
Helius API
Solana
FIFO
Recharts
TanStack Table
Shadcn UI
Propte — Xero Reporting SaaS

B2B SaaS that connects to the Xero API and consolidates multiple organisations into unified management reporting. First customer was an unlisted REIT needing multi-entity consolidation. Built OAuth integration, chart of accounts sync, journal import, and Stripe billing from scratch.

React Router v7
TypeScript
PostgreSQL
Drizzle
Xero API
OAuth 2.0
Stripe
Cloud Run
Meteora P&L Calculator
Meteora P&L Calculator

Browser-based profit & loss calculator for Meteora DLMM liquidity positions on Solana. Tracks deposits, withdrawals, fee claims, and impermanent loss per position. Runs entirely client-side with IndexedDB and sql.js.

Solana
Web3.js
Web Worker
IndexedDB
sql.js
Dexie
Solana Event Listener

On-chain event listener and decoder for Solana programs. Parses transactions, decodes instructions via IDL, and normalises events into a structured format.

Rust
Anchor
TypeScript
Node.js
chat-sync — Conversation Backup Pipeline

Syncs conversations from Gmail, Slack, Google Chat, iCloud Mail, and WhatsApp into a single searchable archive. Includes a customised IMAP backup CLI and GitHub issue sync with image attachments. Built to feed personal data into AI for analysis.

Python
Bash
IMAP
GitHub API

Tech Stack

React
Remix / React Router
TypeScript
Node.js
Rust
Solana
PostgreSQL
SQLite
Python
Docker
Fly.io
Cloud Run
Follow Along

Building in Public

I post daily about building crypto accounting tools as a solo developer.

proptefor xero