Project ideas from Hacker News discussions.

GrapheneOS – When an app is slow

📝 Discussion Summary (Click to expand)

Generating summary…


🚀 Project Ideas

AllocBench Android

Summary

  • A benchmarking tool that measures the performance impact of different Android memory allocators (hardened_malloc, scudo, jemalloc, dlmalloc) on real-world workloads like map rendering and GC-heavy apps.
  • Provides automated reports comparing allocation latency, throughput, and battery drain to help developers choose the optimal allocator for their app.

Details

Key Value
Target Audience Android app developers, performance engineers, ROM maintainers
Core Feature Run configurable workloads (e.g., tile loading, object churn) under interchangeable allocators via LD_PRELOAD or app‑linked library, collect metrics with Perfetto and generate HTML report
Tech Stack Kotlin/Java UI, C++ benchmark harness, Android NDK, Gradle plugin, Perfetto/traceconv, optional Rust for allocator shims
Difficulty Medium
Monetization Hobby

Notes

  • HN users complained that hardened_malloc causes slowdowns in OsmAnd; AllocBench lets them quantify that overhead and compare with scudo/jemalloc (cite perching_aix, RedComet).
  • Enables data‑driven discussion about OEM allocator choices and could spark a thread on improving allocator defaults for performance‑sensitive apps.

AdaptiveAlloc

Summary

  • A runtime library that transparently wraps the system malloc/free and switches between a hardened allocator and a high‑performance allocator based on observed allocation patterns (e.g., high frequency small allocations).
  • Gives apps the security benefits of hardened_malloc when allocation pressure is low, while falling back to a faster allocator during intensive phases like map scrolling.

Details

Key Value
Target Audience Android developers of graphics‑heavy or data‑intensive apps (maps, games, image processing)
Core Feature Intercept malloc/free via dlsym/LD_PRELOAD, monitor allocation rate and size distribution, dynamically swap the backing allocator; provides fallback to scudo/jemalloc when thresholds exceeded
Tech Stack C++ shared library, Android NDK, optional Java wrapper, build‑time integration via Android Gradle plugin
Difficulty High
Monetization Hobby

Notes

  • Addresses the GC thrashing concern raised by himata4113 and the desire to keep security without sacrificing performance (negative_zero's comment about OsmAnd working fine with GrapheneOS).
  • Could be demonstrated in a blog post or HN show‑and‑tell, inviting discussion on heuristics and security trade‑offs.

AllocWatch Community Hub

Summary

  • A web platform where users can submit anonymized profiling traces (CPU, allocation stalls, battery) from Android apps that exhibit allocator‑related slowdowns; the community votes and tags submissions, creating a “wall of shame” for abusive apps and a leaderboard of allocator‑friendly ones.
  • Includes a lightweight Android agent (opt‑in) that captures allocation metrics via AsyncGetCallTrace or perfetto and uploads them with user consent.

Details

Key Value
Target Audience Privacy‑conscious Android users, developers seeking feedback, ROM maintainers
Core Feature Collect allocation‑stall metrics, aggregate per‑app scores, display rankings, allow comments and suggested fixes; optional automated bug‑report generation for developers
Tech Stack Frontend: React/TypeScript, Backend: Node.js (Express) or Go, DB: PostgreSQL, Android agent: Java/Kotlin using Profiling hooks, optional Rust for low‑overhead capture
Difficulty Medium
Monetization Revenue-ready: SaaS tier for developers (private repo, API access) – free tier for public wall

Notes

  • Directly implements the “wall of shame for apps that abuse hardware” idea mentioned by mohamedkoubaa and resonates with the debate over OEM priorities (Groxx, izacus).
  • Provides concrete data to settle arguments about which OEMs ship better allocators (nvme0n1p1) and encourages discussion on improving app allocator usage.

Read Later