frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: I built an expense tracker where no data ever touches a server

https://github.com/ankitpandey2708/kharchakitab
1•ankitpandey2708•1h ago
I wanted to build a personal finance app where no transaction data ever touches a server. Here's the architecture I ended up with.

The constraint: Two devices need to share an expense ledger, but I don't want to run a database. No Postgres, no Firebase, no Supabase. The user's financial data should never leave their devices.

Storage: IndexedDB only

Every transaction lives in IndexedDB. Schema has 7 object stores — transactions, version history, device identity, pairings, sync state, recurring templates, and alerts. Performance is fine at personal finance scale (thousands of records). I added a simple query cache layer on top to avoid redundant reads — nothing fancy, just memoization with timestamp invalidation.

Sync: WebRTC DataChannel, no relay

Two devices pair using a 4-digit code. A signaling server exchanges ICE candidates and SDP offers — that's all it does. Once the WebRTC DataChannel opens, transactions sync as small JSON payloads directly between devices. The signaling server never sees transaction data.

TURN fallback is there for NAT traversal edge cases, but in practice most connections establish peer-to-peer on the first try.

Conflict resolution:

Both devices can edit the same transaction offline. Every edit creates a version entry. On sync, conflicts resolve using a version vector — latest timestamp wins, but both versions are preserved in history so nothing is lost. Simple but sufficient for a two-device household.

Voice pipeline (the fun part):

Users can speak an expense instead of typing it. Audio goes to a speech-to-text API, then the transcript goes to Gemini Flash with a structured output schema (Zod-validated). It extracts amount, category, payment method, and date from natural language. Accuracy is surprisingly good — the model handles ambiguous input like "lunch with coworkers, split three ways, I paid 1500" correctly.

Curious if anyone has built similar zero-server-DB architectures. How did you handle sync beyond two devices? And would love to hear from anyone who's done WebRTC DataChannel in production — did you end up needing TURN more than expected?

How to protect your privacy at a protest

https://proton.me/blog/how-to-protect-privacy-at-protests
1•mikece•47s ago•0 comments

The digital grass isn't greener. It isn't grass

https://architectelevator.com/transformation/digital-grass-greener/
1•saikatsg•49s ago•0 comments

Show HN: I built a skill that lets your OpenClaw call you on the phone

https://clawr.ing
1•thisismyswamp•2m ago•0 comments

Book Notes: Anything you want (Derek sivers)

https://faizank.substack.com/p/anything-you-want-a-tiny-book-with
1•fazkan•2m ago•0 comments

Iran Is Only the Beginning

https://sphera.substack.com/p/iran-is-only-begging
1•KyleVlaros•3m ago•0 comments

Show HN: SEL Deploy – Tamper-evident deployment timeline (Ed25519, hash-chained)

1•chokriabouzid•4m ago•0 comments

Show HN: Scanning 277 AI agent skills for security issues

https://www.clawdefend.com/
1•pakmania•4m ago•1 comments

Why glibc is faster on some GitHub Actions Runners

https://codspeed.io/blog/unrelated-benchmark-regression
3•art049•5m ago•0 comments

Show HN: A text-to-motion-graphics engine

1•Vraj911•5m ago•0 comments

Federal Reserve ACH System Is Down

https://www.frbservices.org/app/status/serviceStatus.do
3•BitWiseVibe•5m ago•0 comments

Show HN: MoodJot – Mood tracker mobile app with community feed, built with KMP

https://moodjot.app
1•cosmicmeta•6m ago•0 comments

Show HN: A visual sitemap generator for planning site structure

3•epic_ai•7m ago•5 comments

Biosynthetic platform for orsellinic acid-derived meroterpenoids in E. coli

https://www.sciencedirect.com/science/article/pii/S1096717625001983
1•PaulHoule•8m ago•0 comments

Agentic RL hackathon this weekend in SF

https://cerebralvalley.ai/e/openenv-hackathon-sf
1•benburtenshaw•9m ago•0 comments

Show HN: TeamTalk – Instead of asking one AI, let a whole team debate it

https://github.com/Higangssh/teamtalk
2•swq115•9m ago•0 comments

Show HN: I made an AI Agent to dig everything out of your CSV

https://datakid.org/
1•tigerkid•10m ago•0 comments

Show HN: Pry – TypeScript compiled to native code, no Electron or V8

https://github.com/PerryTS/pry
1•amlug•11m ago•1 comments

Show HN: Eolds, a scanner for EOL open source packages across 12M versions

https://eoldataset.com/
1•matparker24•12m ago•0 comments

First Impressions on Open-Source Claude Security (Strix)

https://theartificialq.github.io/2026/02/28/strix-first-impressions.html
7•bearsyankees•13m ago•0 comments

The Eythos Vision: AI Companions as a Human Right

https://theblairwitchprojects.substack.com/p/the-eythos-vision-ai-companions-as
1•sg17gweedo•14m ago•0 comments

Why No AI Games?

https://franklantz.substack.com/p/why-no-ai-games
2•pavel_lishin•14m ago•0 comments

Show HN: Orkia – a Rust runtime where AI agents can't bypass governance

https://github.com/orkiaHQ/orkia
1•killix•14m ago•1 comments

Show HN: Flashbang – Sub-1ms DuckDuckGo bang redirects via Service Workers

https://github.com/ph1losof/flashbang
1•t3ntxcles•15m ago•0 comments

Metaprogramming for Madmen (2012)

https://fgiesen.wordpress.com/2012/04/08/metaprogramming-for-madmen/
1•Tomte•15m ago•0 comments

Eshkere

https://www.google.com/imgres?q=%D0%B5%D1%88%D0%BA%D0%B5%D1%80%D0%B5&imgurl=https%3A%2F%2Fimg.itc...
1•ILOVETF2•16m ago•3 comments

Is your site agent-friendly?

https://agentprobe.io/
1•kukicola•17m ago•1 comments

Combinatorial Optimization for All: Using LLMs to Aid Non-Experts

https://journal.iberamia.org/index.php/intartif/article/view/2584
1•camilochs•18m ago•0 comments

Show HN: Pooch PDF – Because Ctrl+P still prints cookie banners in 2026

https://poochpdf.com/
1•membrshiperfect•19m ago•0 comments

How to get large files to your MCP server without blowing up the context window

https://everyrow.io/blog/mcp-large-dataset-upload
7•rafaelpo•20m ago•0 comments

Patterns for Reducing Friction in AI-Assisted Development

https://martinfowler.com/articles/reduce-friction-ai/
1•zdw•20m ago•0 comments