Audioscrape: Building in Rust When Everyone Said I Shouldn't

I'm excited to share my journey of bootstrapping Audioscrape, a podcast exploration platform, built entirely in Rust. Despite conventional wisdom suggesting RoR, Python, or TypeScript for rapid MVP development, I chose Rust to challenge myself technically and optimize for low operational costs. The result? A performant application running on a $7/month VM, demonstrating that you can launch lean and scale efficiently.

Why Rust for a Bootstrapped MVP?

Cost-Efficiency: Minimal resource usage translates to lower hosting costs, crucial for bootstrapping.

Performance: Efficient handling of audio processing and web serving, allowing for growth without immediate infrastructure scaling.

Learning Investment: Deepening expertise in a language with growing demand, potentially opening future opportunities.

Proving a Point: Demonstrating Rust's viability for rapid development in web applications.

Project Overview:

Audioscrape aggregates podcast RSS feeds, transcribes episodes, and provides an interactive interface for exploring and discussing podcast content. It's a full-stack Rust application, leveraging various crates from the ecosystem.

Technical Stack:

Backend: Axum (async web framework)

Database: SQLite with SQLx for type-safe queries

Authentication: OAuth2

Image Processing: For social media previews

HTML Templating: Askama

Async Runtime: Tokio

Development Approach:

4k LoC in a single main.rs file (plus HTML templates)

Rapid iteration using Neovim for navigation

Lean development: No external services beyond the VM

Key Features:

Transcription Browsing: Read along with your favorite podcasts or quickly scan for topics of interest.

Segment Highlighting: Share and discuss specific moments from episodes.

Community Interaction: Upvote, comment on, and bookmark your favorite segments.

Advanced Search: Find relevant content across multiple podcasts and episodes.

Person Profiles: Explore appearances of specific guests or hosts across different shows.

Challenges and Learnings:

Overcoming the learning curve of Rust's ownership model

Efficient transcriptions and speaker detection

Managing all aspects solo: Development, design, and operations

Future Plans:

API for third-party integrations

WebAssembly for client-side processing

Scaling strategies for larger datasets (search)

Personalized content delivery

Metrics and Goals:

Current Users: 500 (last 7 days)

MRR: $0

Cost per User: Less than $0.01 (thanks to efficient resource use)

Next Milestone: Add paid features to pay the bills + reduce cost per episode page creation

Questions for the HN Community:

Has anyone else bootstrapped using Rust? What were your experiences?

How do you balance technical debt vs. shipping features in a solo project?

What strategies have worked for you in marketing such technical products?

I'm bootstrapping this project and would greatly appreciate any feedback, especially from those who've launched similar technical products or used unconventional tech stacks for MVPs. Check out Audioscrape at www.audioscrape.com and let me know your thoughts!


Comments URL: https://news.ycombinator.com/item?id=41766551

Points: 19

# Comments: 3

https://news.ycombinator.com/item?id=41766551

Creată 6mo | 7 oct. 2024, 16:20:18


Autentifică-te pentru a adăuga comentarii

Alte posturi din acest grup

Zig and GPUs
18 apr. 2025, 19:20:10 | Hacker news
Show HN: (bits) of a Libc, Optimized for Wasm

I make a no-CGO Go SQLite driver, by compiling the amalgamation to Wasm, then loading the result with wazero (a CGO-free Wasm runtime).

To compile SQLite, I use wasi-sdk, which uses wasi-libc, w

18 apr. 2025, 19:20:08 | Hacker news
Show HN: Attune - Build and publish APT repositories in seconds

Hey HN, we're Eliza and Xin, and we’ve been working on Attune. Attune is a tool for publishing Linux packages.

Previously, we worked at other startups building open source developer tools that r

18 apr. 2025, 17:10:06 | Hacker news