frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Nogic – VS Code extension that visualizes your codebase as a graph

https://marketplace.visualstudio.com/items?itemName=Nogic.nogic
78•davelradindra•7h ago•29 comments

Show HN: Microwave – Native iOS app for videos on ATproto

https://testflight.apple.com/join/cVxV1W3g
10•sinned•9h ago•1 comments

Show HN: AsciiSketch a free browser-based ASCII art and diagram editor

https://files.littlebird.com.au/ascii-sketch.html
19•schappim•3h ago•4 comments

Show HN: An iOS budget app I've been maintaining since 2011

https://primoco.me/en/
144•Priotecs•15h ago•56 comments

Show HN: SnackBase – Open-source, GxP-compliant back end for Python teams

https://snackbase.dev
58•lalitgehani•13h ago•8 comments

Show HN: Ayder – HTTP-native durable event log written in C (curl as client)

https://github.com/A1darbek/ayder
50•Aydarbek•8h ago•22 comments

Show HN: Self-host Reddit – 2.38B posts, works offline, yours forever

https://github.com/19-84/redd-archiver
204•19-84•10h ago•50 comments

Show HN: FastScheduler – Decorator-first Python task scheduler, async support

https://github.com/MichielMe/fastscheduler
43•michielme•11h ago•8 comments

Show HN: Ever wanted to look at yourself in Braille?

https://github.com/NishantJoshi00/dith
19•cat-whisperer•4d ago•7 comments

Show HN: Giant JSON Viewer – Open 1GB+ JSON Files on Android (Rust and MMAP)

https://giantjson.com/
2•kotysoft•3h ago•3 comments

Show HN: Vibe scrape with AI Web Agents, prompt => get data [video]

https://www.youtube.com/watch?v=ggLDvZKuBlU
5•arjunchint•1h ago•1 comments

Show HN: Agent-of-empires: OpenCode and Claude Code session manager

https://github.com/njbrake/agent-of-empires
114•river_otter•1d ago•43 comments

Show HN: Fall asleep by watching JavaScript load

https://github.com/sarusso/bedtime
78•sarusso•1d ago•30 comments

Show HN: Print Your Anki Decks to Paper

https://evan.widloski.com/ankiprint/
2•Evidlo•5h ago•0 comments

Show HN: Ask your repos what shipped in plain English

2•inferno22•6h ago•0 comments

Show HN: AI in SolidWorks

https://www.trylad.com
184•WillNickols•1d ago•104 comments

Show HN: Serverless Compute Platform for AWS

https://github.com/acikelli/hyperp
2•oacikelli•6h ago•0 comments

Show HN: MemSky: Bluesky timeline viewer web app that saves where you left off

https://memalign.github.io/m/memsky/index.html
2•memalign•6h ago•0 comments

Show HN: Timberlogs – Drop-in structured logging for TypeScript

3•enaboapps•7h ago•3 comments

Show HN: Yolobox – Run AI coding agents with full sudo without nuking home dir

https://github.com/finbarr/yolobox
119•Finbarr•1d ago•92 comments

Show HN: Data from a mixed-brand LiFePO₄ battery bank

4•wkcollis1•8h ago•2 comments

Show HN: Soklet, a zero-dependency Java HTTP/1.1 and SSE virtual-threaded server

https://soklet.com/
2•revetkn•9h ago•0 comments

Show HN: Pane – An agent that edits spreadsheets

https://paneapp.com
31•rbajp•1d ago•9 comments

Show HN: Customizable OSINT dashboard to monitor the situation

https://sr.ericli.tech/?d=N4IgbiBcCMA0IHcoG1QBcogEYngGxQAZZiAOWUgXXgGMpQBHTASwCcBDAO1xAAcoAzIWGEA...
44•ericlmtn•1d ago•21 comments

Show HN: 26x speedup on BitNet sparse ops with AVX-512 and 2-bit encoding

https://github.com/microsoft/BitNet/pull/365
2•HyperFoldUK•10h ago•0 comments

Show HN: Engineering Schizophrenia: Trusting yourself through Byzantine faults

109•rescrv•2d ago•16 comments

Show HN: Test in Production with AI Agents

https://papercuts.dev
3•Sayuj01•10h ago•1 comments

Show HN: Inline comment translation in Neovim for faster code reading

https://github.com/noir4y/comment-translate.nvim
2•noir4y•10h ago•0 comments

Show HN: One RSS Feed for the Most Popular HN Bloggers (2025 Rankings)

https://rss-aggregator.philippd.workers.dev
7•7777777phil•10h ago•4 comments

Show HN: DSAT – Data Subject Access Toolkit

https://codeberg.org/erkinalp/dsat
2•anticensor•11h ago•0 comments
Open in hackernews

Show HN: Giant JSON Viewer – Open 1GB+ JSON Files on Android (Rust and MMAP)

https://giantjson.com/
2•kotysoft•3h ago

Comments

kotysoft•3h ago
Hi HN, I'm the developer of Giant JSON Viewer.

I built this primarily as an engineering challenge. I was bored and didn't want to release just another generic utility app (there are already 1000s of identical JSON viewers on the Play Store). I wanted to build something unique that pushes the limits of what's possible on a phone.

Also, I hate ads. So there are no ads here.

Important: This is a viewer, not an editor. It treats the file as read-only to ensure safety and speed. Also, it strictly requires valid JSON syntax—it relies on precise structural indexing rather than fuzzy parsing.

The Tech Stack: I didn't invent anything new here; I just spent a lot of time trial-and-erroring my way to a solution that works on mobile constraints. I patched together a native Rust layer (via JNI) using some powerful existing crates:

* Zero-Copy Access 'memmap2' maps the source file. My custom index format is theoretically capable of addressing files up to 1TB (limited by the packed 40-bit offsets), but in practice, I've "only" tested it on files up to 2.5GB. Why? Honestly, I was too lazy to wait for massive indexes to rebuild every time I deployed a debug build.

* SIMD Scanning 'memchr' is used heavily for lexical scanning.

* Parallelism: 'rayon' keeps background tasks off the UI thread.

* Efficient Indexing: The custom structural index packs node metadata efficiently (roughly 32 bytes per node). This index is built once, cached on disk, and then memory-mapped. This technically allows us to navigate a massive tree with near-zero Java heap usage, as we just jump to offsets in the mapped index.

UI Experiments (The "Sandbox"): Since this was a personal playground for me, I experimented with some non-standard UI ideas:

* Visual Query Builder Instead of slow embedded logic, I built a visual query builder backed by a custom multi-pass SIMD search.

* 5KB Rendering Window The UI only parses/highlights the chunk visible in the viewport to prevent freezes on massive single lines.

* Base64 Extraction The Browser Mode can automatically detect and extract encoded files from within JSON string values. It supports ~50 formats including: PNG, JPEG, GIF, WebP, BMP, TIFF, ICO, SVG, HEIC, MP4, PDF, RTF, ZIP, PSD, RAR, 7Z, GZIP, TAR, MP3, OGG, FLAC, WAV, WebM, TTF, OTF...

A Note on Limits: Before you try to load a file with 2M nested depth: please check the Known Limitations page (https://giantjson.com/docs/known-limitations/). I've documented the architectural boundaries (like the 255 nesting depth limit to prevent stack overflows, and the 1TB max file size) so you know exactly what to expect.

Why I'm Posting: I'm honestly not sure if there's a mass-market need for this, or if I'm the only one who thinks it's cool.

I'd love to hear if any of you actually have a workflow where inspecting massive JSON files on a phone is useful (e.g., field ops, emergencies, game modding). Also, I'm curious what kind of "pathological" JSON structures you deal with—I've tried to handle the big ones (huge files, long lines), but real-world data is often surprising.

Play Store: https://play.google.com/store/apps/details?id=com.giantjsonv... Docs: https://giantjson.com/docs/

kundan_s__r•2h ago
Really impressive work, especially on mobile. The mmap + zero-copy, read-only approach feels like the right tradeoff for files at this scale.

Curious how it behaves with extremely wide objects or deep nesting — do index build time or memory pressure become the limiting factor?

Nice example of serious systems engineering in a place where it’s rarely done.

kotysoft•1h ago
Thanks! Really appreciate it.

Deep nesting: The indexer enforces a 255-depth limit (and gives a clear error if exceeded). That's a u8 + stack overflow safety guard. Details on the Known Limitations page: https://giantjson.com/docs/known-limitations/

Wide objects / long lines: This was actually the harder problem. In Text Mode, extremely long lines (especially without spaces, like minified JSON or base64 blobs) caused serious issues with Android's text layout engine. I ended up detecting those early and truncating at ~5KB for display.

In Browser Mode, cards truncate values aggressively (100 chars collapsed, 1000 chars expanded), but the full value is still available for copy-to-clipboard operations. I also tried to make truncation "useful" by sniffing for magic bytes—if it looks like base64-encoded data, it shows a badge with the detected format (PNG, PDF, etc.) and lets you extract/download it.

Index build time & memory: These are definitely the limiting factors right now. The structural index itself grows linearly with node count (32 bytes/node stored on disk), and for minified JSON I also keep a sparse line index in memory. For big files, the initial indexing can take a minute—I'm not sure if that scares users away or if they expect it for a GB sized file.

I've been watching Play Console for ANRs/OOMs and so far just had 1-2 isolated cases that I could fix from the stack traces. But honestly, I'm still figuring out which direction to prioritize next—real-world usage patterns will tell me more than my synthetic tests did.