frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Fixxer – Local TUI to cull/organize RAW photos(CLIP, Qwen2.5-VL, rawpy)

https://github.com/BandwagonVibes/fixxer
2•oogabooga13•11h ago

Comments

oogabooga13•11h ago
OP here!

Some context on why this exists and the decisions behind v1.0:

The Problem I'm a photographer, and my workflow was broken. I'd come back from a shoot with hundreds of RAW files and face two anxiety-inducing tasks: culling the duds and naming the keepers. I'm folder-first—file names matter because they follow the image everywhere: Affinity, Da Vinci, Apple ‘Motion’ layer stacks, client handoffs. A properly named file is searchable on any system without special software.

I wanted to point the computer at a source folder, point it at a destination, and have it handle everything in between. Locally. No internet. No uploading terabytes to someone else's servers.

The Journey [ Screenshots and more at https://oaklens.art/dev ] This started as a ~300 line CLI script on an M4 MacBook Air. After a few rounds of deep research (shoutout to Gemini for helping me break through some implementation walls), I had something that actually worked for my daily workflow. But I wanted to keep the low overhead of the terminal while making it more accessible. Enter the TUI—with two aesthetic modes: "Warez" (demoscene callbacks for those who appreciate that energy) and "Pro Mode" (clean HUD + stats for studio environments). F12 toggles between them. Fully open source (MIT).

Technical Decisions:

1. No Prompt Boxes: I didn't want to "chat with my photos." FIXXER treats the VLM as a headless reasoning engine. You press Auto, it applies logic—naming, culling, grouping—without you ever typing a prompt.

2. Native RAW Support: Most AI photo tools assume JPEGs. FIXXER works directly with RAW files (.RW2, .CR3, .NEF, .ARW, 40+ formats) via rawpy. We extract embedded thumbnails when available or do half-size demosaic in memory—no temp files, no export step. Straight from camera to AI pipeline.

3. Why Qwen2.5-VL: We tested Bakllava, Llava, Phi-3-Vision. Phi-3 failed hard on structured JSON outputs. Qwen was the only model consistent enough for production—good spatial awareness, reliable JSON, runs well on 24GB unified memory.

4. Graceful Degradation: Local-first means dependencies can fail. Semantic burst detection uses CLIP embeddings, falls back to imagehash. Quality culling uses BRISQUE (essential for not flagging bokeh as blur), falls back to Laplacian variance.

5. Hash Verification: Every file move is SHA256 verified with JSON sidecar audit trails. This eliminates the blind trust problem—you get cryptographic proof that your files arrived intact.

Flexible Workflows FIXXER is modular. The full Auto workflow chains burst detection → quality culling → AI naming → archive, but each feature works independently. Just want to group bursts? Run that alone. Just want quality tiers? Cull button. For the simplest use case, there's Easy Archive: point it at a folder of images, and it AI-names everything and sorts them into keyword-based folders. That's it.

AI Critique Mode: Beyond organization, FIXXER can analyze any image (RAWs included) and return structured creative feedback: composition score, lighting critique, color analysis, and actionable suggestions. It outputs JSON you can save alongside your files. This is v1—future versions will offer critique tiers based on depth and processing time. Configuration & Tuning The default thresholds (burst sensitivity, culling strictness) are tuned for my workflow, but everything is exposed in ~/.fixxer.conf. If the burst detection is too aggressive or the culling too lenient for your specific camera/lens combo, you can tweak the engine parameters directly to dial it in.

What's Next (v2) Dry run mode currently shows you exactly what will happen before any bits move. v2 will let you edit individual AI names in the preview before executing.

The surprising countries pulling off fast clean energy transitions

https://www.cnn.com/2025/11/07/climate/solar-wind-renewables-transition-global-pakistan-hungary-c...
1•toomuchtodo•9m ago•1 comments

Earth needs more energy. Atlanta's Super Soaker creator may have a solution

https://www.ajc.com/business/2025/11/earth-needs-more-energy-atlantas-super-soaker-creator-may-ha...
1•TMWNN•9m ago•0 comments

I made a prompt framework that makes LLMs stop hedging and speak straight

1•DrRockzos•16m ago•0 comments

The Web Runs on Tolerance

https://shkspr.mobi/blog/2025/12/the-web-runs-on-tolerance/
2•benwerd•16m ago•0 comments

Show HN: Peephole

https://peephole.greg.technology/
2•gregsadetsky•21m ago•1 comments

AI Interview Coder Assistant

https://interviewcoder.top
1•ainterviewcoder•22m ago•1 comments

ChatGPT claims to have solved Navier-Stokes problem

https://github.com/vporton/navier-stokes
1•porton•23m ago•0 comments

Noninvasive imaging could replace finger pricks for measuring blood glucose

https://news.mit.edu/2025/noninvasive-imaging-could-replace-finger-pricks-diabetes-1203
6•ivewonyoung•27m ago•0 comments

I'm a Professor. A.I. Has Changed My Classroom, but Not for the Worse

https://www.nytimes.com/2025/11/25/magazine/ai-higher-education-students-teachers.html
1•bookofjoe•29m ago•1 comments

Open Source Doesn't Fail Because of Code

https://blog.ulisesgascon.com/open-source-doesnt-fail-because-of-code
1•gpi•30m ago•0 comments

India reviews always-on A-GPS tracking plan for phones

https://news.kagi.com:443/tech/2025120618/india-reviews-always-on-a-gps-tracking-plan-for-phones?...
2•hereme888•35m ago•1 comments

Use AI without skill atrophy

https://www.augmentedswe.com/p/use-ai-without-skill-atrophy
1•wordsaboutcode•40m ago•1 comments

New Augmented Reality Tech Can Turn Any Surface into Keyboard

https://news.utdallas.edu/science-technology/augmented-reality-tech-keyboard-2025/
2•ashishgupta2209•40m ago•0 comments

Why We're Treating Dogs Like People and People Like Dogs

https://thewalrus.ca/why-were-treating-dogs-like-people-and-people-like-dogs/
2•pseudolus•45m ago•0 comments

Socialist Ends by Market Means: A History

https://lucasvance.github.io/2100/history/
10•sirponm•47m ago•0 comments

Show HN: ICT Info-Consciousness-Time First experiment to detect consciousness

https://www.academia.edu/s/8924eff666
1•DmitriiBaturoIC•53m ago•0 comments

UK government promises 50k new apprenticeships in youth employment push

https://www.bbc.com/news/articles/cvgkpzpy1zno
1•1659447091•54m ago•0 comments

I hacked together a modeler for the 2026 AMT tax cliff (TCJA Sunset)

1•optionspilot•58m ago•0 comments

Building the go-to pet care app for dog parents

https://apps.apple.com/us/app/zibbly-dog-care-tracking/id6748543992
1•zibblyteam•58m ago•1 comments

#2422 – Jensen Huang

https://open.spotify.com/episode/0yT4ec9M6GobLC5ByN8pX3
1•nradov•59m ago•1 comments

Trump raises potential concerns over $72B Netflix-Warner Bros deal

https://www.bbc.com/news/articles/cn815egjqjpo
3•1659447091•1h ago•4 comments

Ask HN: What's the biggest hack you've found while vibe coding?

1•frankhsu•1h ago•1 comments

The Architecture of Truth-Seeking

https://eyeofthesquid.com/the-architecture-of-truth-seeking-934b79733ed5
1•TinyBig•1h ago•0 comments

Megapode

https://en.wikipedia.org/wiki/Megapode
2•thunderbong•1h ago•1 comments

Alternative solvent makes lead-free perovskite solar cells 10x more stable

https://pubs.acs.org/doi/10.1021/acsenergylett.5c02675
4•gsf_emergency_6•1h ago•0 comments

Room-Size Particle Accelerators Go Commercial

https://spectrum.ieee.org/plasma-wakefield-acceleration
1•geox•1h ago•0 comments

Damn Small Linux

https://www.damnsmalllinux.org/
3•grubbs•1h ago•1 comments

India weighs greater phone-location surveillance

https://www.reuters.com/sustainability/boards-policy-regulation/india-weighs-greater-phone-locati...
2•gdeglin•1h ago•1 comments

Real Policies to stop people using AI for cyberattacks, bioweapons, & more

https://app.excalidraw.com/l/7ULi4Jv3VIo/ATs5lrdppys
1•PhilosophyForAI•1h ago•2 comments

Increasing code performance with LTO [video]

https://www.youtube.com/watch?v=fPGodf5hNoo
2•edward28•1h ago•0 comments