[{"data":1,"prerenderedAt":769},["ShallowReactive",2],{"project-49246804":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":50,"post_text":53,"what":54,"said":93,"maker_in_thread":216,"shape":227,"grid":232,"attempts":726,"same_week":733,"maker_shows":43,"maker_hidden":762,"reader_version":763,"card":764},"49246804","Needle2","14MB agentic LLM for phones, wearables, smart home and robots","title","Show HN: Needle2: 14MB agentic LLM for phones, wearables, smart home and robots","https:\u002F\u002Fcactuscompute.com\u002Fneedle","cactuscompute.com","HenryNdubuaku",1786382527,2026,537,185,42,4366,1,"legend","ai","small on-device tool-calling model","library",[24,25,26,27,28],"tool calling model","on-device llm","edge ai","function calling","small language model","curious",-0.07,{"positive":32,"neutral":33,"mixed":34,"critical":35},18,57,4,29,108,{"idea":38,"pricing":40,"performance":42,"design":45,"docs":46,"execution":47,"privacy":49},{"positive":39,"critical":34},9,{"positive":41,"critical":41},0,{"positive":43,"critical":44},5,16,{"positive":41,"critical":41},{"positive":41,"critical":18},{"positive":18,"critical":48},7,{"positive":41,"critical":18},[51,51,43,51,18,43,52,18,51,18,34,51,18,18,51,18,51,18,43,43,51,52,18,34,52,18,51,51,51,51,43,51,51,52,51,51,34,43,18,51],3,2,"Hey HN,\n\nHenry from Cactus here!\n\nWe previously released Cactus Needle, a 14MB agentic LLM for tool call, device use, and structured extraction for phones, wearables, smart homes, small robots and microcontrollers. We got really great feedback here, and have now incorporated the suggestions to release Needle 2.\n\nThe whole model is a single 14MB binary that runs a full session in 28MB of RAM; 45m parameters at 2bit compression. Needle hits 500 tokens\u002Fsec decode speed on a Raspberry Pi 5, sits between 400-1,500 tokens\u002Fsec on VR devices like Meta Quest 3S and Apple Vision Pro, and ranges 300-700 ",{"problem":55,"audience":61,"pricing":69,"motivation":70,"time_to_build":69,"stack":77,"openness":90,"stage":91,"team_size":92},{"value":56,"source":57,"evidence":58},"Lets cheap phones, wearables, smart home devices and robots map user sentences to function calls locally","maker",[59],{"id":60},"post",{"value":62,"source":63,"evidence":64},"Developers building assistants for low-cost edge and IoT devices","inferred",[65,66],{"id":60},{"id":67,"by":11,"text":68},"49250342","So, its not a general language model, focused on tool call strictly for tiny edge-devices. There are solutions everywhere for high-capacity devices, Needle is for sub-$200 devices.",null,{"value":71,"source":57,"evidence":72},"Bring on-device intelligence to sub-$200 devices where LLMs cannot run in production",[73,74],{"id":60},{"id":75,"by":11,"text":76},"49255331","Haha, its not a generalist model, cheap devices cannot run LLM in production, so we brig on-device intelligence to them in the size they can. Needle is niche, not a Gemma or GPT…",[78,82],{"value":79,"source":57,"evidence":80},"Python package",[81],{"id":60},{"value":83,"source":84,"evidence":85},"WebAssembly web demo","commenter",[86],{"id":87,"by":88,"text":89},"49249736","Tiberium","Funny result from the web demo. I'm well aware that it's an extremely small and, well, stupid, model, but even so: Query: HN Result: { \"function_calls\": [ { \"name\": \"lock_door\",…","unknown","launched","company",{"praise":94,"objections":117,"requests":155,"questions":181,"alternatives":200},[95,106],{"value":96,"source":84,"evidence":97},"Impressively small model that runs locally in WASM",[98,102],{"id":99,"by":100,"text":101},"49253298","kooi","Its pretty significant you've got this working locally in wasm. Very cool. Re: robotics: I'm unsure how this could be helpful. It fails a pretty simple navigation prompt. X0:…",{"id":103,"by":104,"text":105},"49250291","redrix","This is cool! While most of the industry focuses on the frontier of “intelligence” (function), a release like this represents the frontier of the other end of the spectrum…",{"value":107,"source":84,"evidence":108},"Fills a useful niche between non-LLM tools and frontier models",[109,113],{"id":110,"by":111,"text":112},"49253792","peter_d_sherman","Utterly Fascinating! For the longest time, I conceptualized LLM's as Text Input -> Text Output transformers, then later as Text Input -> Video Output transformers. Later still I…",{"id":114,"by":115,"text":116},"49257433","a022311","Looks incredibly cool, although it ran at ~4 tok\u002Fs on my browser (I assume because I've disabled V8). I believe your numbers though. I always wanted to try using something like…",[118,133,144],{"value":119,"source":84,"evidence":120},"Gives wrong tool calls for simple commands like thermostat and lights",[121,125,129],{"id":122,"by":123,"text":124},"49251894","dbeardsl","My first query: > Make it a little warmer in here. The reply: > \"name\": \"set_thermostat\", > \"arguments\": { > \"temperature\": 65, > \"mode\": \"cool\", > ... > \"reasoning\": \"'warmer'…",{"id":126,"by":127,"text":128},"49251741","dangoodmanUT","> turn on the tv { \"function_calls\": [ { \"name\": \"lock_door\", \"arguments\": { \"door\": \"tv\" } } ], \"confidence\": 0.0158 } Very interesting, seems confidence is 0 when tool calls…",{"id":130,"by":131,"text":132},"49255027","Robin_Message","> Turn the lights down low in the bedroom Sets lights to 30% but also off > Turn the lights low in the bedroom Sets lights to on This is a cool idea but I think humans assume…",{"value":134,"source":84,"evidence":135},"Confidence scores are unreliable, sometimes high for wrong answers",[136,140],{"id":137,"by":138,"text":139},"49259533","wky","Specifying units seems to be unreliable; I tried adding a description to the set_thermostat temperature: ``` \"temperature\": { \"type\": \"number\", \"description\": \"degrees…",{"id":141,"by":142,"text":143},"49270789","tough","> set lights on { \"function_calls\": [ { \"name\": \"set_lights\", \"arguments\": { \"room\": \"bedroom\", \"state\": \"on\" } } ], \"confidence\": 0 } is confidence 0 that its confident?",{"value":145,"source":84,"evidence":146},"Fails on arithmetic and units without clearer tool descriptions",[147,151],{"id":148,"by":149,"text":150},"49250437","hathym","I tested with ``` import needle @needle.tool def add(a: int, b: int): \"Add two numbers.\" return a + b agent = needle.Needle(tools=[add]) print(agent.run(\"calculate 1 +…",{"id":152,"by":153,"text":154},"49255891","raylad","It seems to fail. I sent the prompt: “ 5° warmer” And it said: “ setting the temperature to 5°F”",[156,163,174],{"value":157,"source":84,"evidence":158},"Ollama release",[159],{"id":160,"by":161,"text":162},"49251773","mickael-kerjean","Any plan to release on ollama?",{"value":164,"source":84,"evidence":165},"ESP32 and desktop x86 support",[166,170],{"id":167,"by":168,"text":169},"49250546","forsalebypwner","Any instructions available for running this on an ESP32-S3 or P4 like the site says?",{"id":171,"by":172,"text":173},"49264280","israrkhan","I tried using it on my x86_64 desktop. Could not use it. Then I tried using it on a raspberry pi 4. Did not work. This is specifically for 64 bit arm. I see no reason why you…",{"value":175,"source":84,"evidence":176},"Home Assistant plugin",[177],{"id":178,"by":179,"text":180},"49252823","KennyBlanken","If you want Needle2 to rget lots of testing, become well known, etc - make a Home Assistant plugin.",[182,193],{"value":183,"source":84,"evidence":184},"Why 2-bit quantization and 14MB size choice",[185,189],{"id":186,"by":187,"text":188},"49250264","nater5000","This is cool. I definitely think the \"micro\" sized LLM space is underappreciated, so it's always good to see work like this. I foresee a paradigm in some contexts where you have…",{"id":190,"by":191,"text":192},"49254460","r0ze-at-hn","Curious, why did you go down to 2bit rather than 4 bits? 4bit with folding the layers should arrive at the same size, but with better quality?",{"value":194,"source":84,"evidence":195},"How it differs from LiteRT",[196],{"id":197,"by":198,"text":199},"49254887","havercosine","Congratulations. 28MB is impressive, I've not played around with actual queries\u002Foutputs. I'm wondering what is the overall thesis\u002Fplan here and where exactly the innovation lies?…",[201,205,212],{"value":202,"source":84,"evidence":203},"LiteRT \u002F TensorFlow Lite",[204],{"id":197,"by":198,"text":199},{"value":206,"source":84,"evidence":207},"FunctionGemma 270M",[208],{"id":209,"by":210,"text":211},"49249984","arthuqa","That's really cool - I was already thinking of compressing `functiongemma-270m-it` down to 1-2 bits so it would work flawlessly in the browser. Your `Fine-tuning` feature is even…",{"value":213,"source":57,"evidence":214},"LFM2.5 230M and Apple Foundation Model",[215],{"id":60},{"comments":217,"answered":218,"key":219},36,12,[220,221,224],{"id":67,"text":68},{"id":222,"text":223},"49255537","yes, that's what we had in mind while building",{"id":225,"text":226},"49257714","Ok we'd be adopting Little Language Model officially haha",{"commenters":228,"max_depth":229,"maker_replies":217,"first_comment_mins":230,"lifespan_hours":231},107,8,215,228,[233,235,237,241,245,248,251,255,259,263,267,268,272,275,278,280,283,286,289,293,297,299,300,303,306,310,314,317,319,323,326,329,333,336,339,342,344,346,348,350,352,355,357,360,362,363,366,369,372,376,379,381,383,386,388,390,393,396,399,402,404,406,409,412,415,416,418,421,423,426,429,431,435,438,440,443,445,448,450,454,456,458,459,461,464,467,470,472,476,478,480,483,485,486,488,492,495,498,502,504,506,508,510,512,515,517,519,524,528,532,534,539,541,543,546,550,552,554,556,557,559,562,564,568,570,572,574,576,578,580,582,586,589,591,593,596,600,602,604,606,610,613,615,617,621,623,627,629,632,636,638,641,645,649,651,653,655,658,661,663,665,667,672,674,678,680,682,684,688,692,696,700,703,706,708,710,712,714,716,719,721,723],[186,41,51,234,187,41],"project\u002Fmixed\u002Fidea",[67,41,41,236,11,18],"maker\u002Fneutral\u002Fidea",[238,41,51,239,240,41],"49251813","project\u002Fneutral\u002Fpricing","fwipsy",[242,41,51,243,244,41],"49251861","project\u002Fneutral\u002Fperformance","TomatoCo",[246,41,51,243,247,41],"49252473","SequoiaHope",[249,41,51,243,250,41],"49252948","Rohansi",[252,41,51,253,254,41],"49253543","project\u002Fmixed\u002Fperformance","anon373839",[256,41,51,257,258,41],"49256008","project\u002Fneutral\u002Fnone","electroglyph",[260,41,51,261,262,41],"49257803","project\u002Fneutral\u002Fdesign","londons_explore",[264,41,43,265,266,41],"49253739","project\u002Fpositive\u002Fperformance","silentbob7",[222,41,41,236,11,18],[269,41,41,270,271,41],"49256283","other\u002Fneutral\u002Fnone","ProtoAES256",[273,41,41,270,274,41],"49257199","watwut",[276,41,41,270,277,41],"49257455","jhgik798",[225,41,41,279,11,18],"maker\u002Fneutral\u002Fnone",[281,41,41,270,282,41],"49263665","SamPatt",[284,41,41,270,285,41],"49359723","karnam_saiteja",[287,41,51,243,288,41],"49263847","derefr",[290,18,18,291,292,41],"49254464","project\u002Fcritical\u002Fperformance","CarpeNecopinus",[294,18,41,295,296,41],"49254755","commenter\u002Fneutral\u002Fnone","AmazingTurtle",[298,18,41,279,11,18],"49255532",[122,52,18,291,123,41],[301,52,41,295,302,41],"49252102","dannyw",[304,52,41,295,305,41],"49252284","derangedHorse",[307,52,41,308,309,41],"49252783","commenter\u002Fneutral\u002Fidea","ehnto",[311,52,51,312,313,41],"49252798","project\u002Fneutral\u002Fidea","tomrod",[315,52,43,316,309,41],"49253309","project\u002Fpositive\u002Fidea",[318,52,51,312,313,41],"49253380",[320,52,41,321,322,41],"49255052","commenter\u002Fcritical\u002Fperformance","weird-eye-issue",[324,52,18,291,325,41],"49256020","KPGv2",[327,52,51,243,328,41],"49252890","owebmaster",[330,52,18,331,332,41],"49267069","project\u002Fcritical\u002Fidea","pornel",[334,52,51,234,335,41],"49254221","ocihangir",[337,52,41,295,338,41],"49258511","ComputerGuru",[340,52,41,270,341,41],"49263414","goodmythical",[343,52,41,270,335,41],"49268716",[345,52,41,270,341,41],"49278332",[347,52,41,270,335,41],"49283995",[349,52,41,270,341,41],"49292914",[351,52,51,312,335,41],"49268700",[353,52,51,243,354,41],"49259811","victor_edka",[356,52,18,291,322,41],"49270355",[358,52,41,295,359,41],"49284152","HappMacDonald",[361,52,41,295,322,41],"49284395",[87,51,18,291,88,41],[364,51,41,270,365,41],"49249846","jszymborski",[367,51,51,257,368,41],"49249865","Schiendelman",[370,51,43,265,371,41],"49249948","yoavm",[373,51,51,374,375,41],"49250079","project\u002Fneutral\u002Fdocs","evmaki",[377,51,51,312,378,41],"49250170","jdknezek",[380,51,51,374,375,41],"49250301",[382,51,41,279,11,18],"49250351",[384,51,51,312,385,41],"49252166","curious_cat_163",[387,51,41,270,305,41],"49252325",[389,51,41,270,385,41],"49256568",[391,51,18,331,392,41],"49253881","planb",[394,51,51,312,395,41],"49250131","petu",[397,51,18,291,398,41],"49253452","justoneletter",[400,51,18,291,401,41],"49250179","hmokiguess",[403,51,41,236,11,18],"49250247",[405,51,41,295,142,41],"49270906",[407,51,18,291,408,41],"49251072","plingbang",[410,51,18,291,411,41],"49254801","kristjan",[413,51,18,291,414,41],"49257142","dvratil",[209,34,43,316,210,41],[417,34,41,279,11,18],"49250140",[419,43,51,312,420,41],"49250447","profsummergig",[422,43,41,312,11,18],"49250624",[424,43,18,425,420,41],"49251442","project\u002Fcritical\u002Fexecution",[427,43,41,295,428,41],"49251652","ronsor",[430,43,41,270,11,18],"49255717",[432,43,51,433,434,41],"49251689","project\u002Fneutral\u002Fexecution","salamo",[436,43,51,433,437,41],"49251971","genxy",[439,43,51,312,420,41],"49261177",[441,43,51,257,442,41],"49252051","kadoban",[444,43,51,239,338,41],"49258535",[446,43,51,312,447,41],"49251304","hgoel",[449,43,41,295,11,18],"49255509",[451,43,41,452,453,41],"49252133","other\u002Fneutral\u002Fdocs","anigbrowl",[137,455,18,291,138,41],6,[457,48,18,291,338,41],"49258479",[103,229,43,316,104,41],[460,229,41,279,11,18],"49250311",[462,229,41,295,463,41],"49250970","dalemhurley",[465,39,43,316,466,41],"49254231","rcarmo",[468,39,41,469,11,18],"49255516","maker\u002Fpositive\u002Fnone",[471,39,41,295,466,41],"49285739",[473,474,43,265,475,41],"49324335",10,"gbxk",[114,477,43,265,115,41],11,[479,477,41,279,11,18],"49257561",[481,477,51,243,482,41],"49257577","stavros",[484,477,41,243,11,18],"49257702",[197,218,51,312,198,41],[487,218,41,257,11,18],"49255307",[489,490,51,312,491,41],"49249620",13,"tolugenius",[493,490,51,312,494,41],"49249707","msdz",[496,490,51,236,497,41],"49252731","rshemet",[499,500,18,331,501,41],"49263820",14,"hdhcbdb",[99,503,18,291,100,41],15,[505,44,51,243,447,41],"49250406",[507,44,51,243,168,41],"49250539",[509,44,41,279,11,18],"49250738",[171,511,18,425,172,41],17,[513,32,18,291,514,41],"49261681","bottlero_cket",[190,516,51,243,191,41],19,[518,516,41,243,11,18],"49255346",[520,521,18,522,523,41],"49261288",20,"project\u002Fcritical\u002Fprivacy","semuggaemmanuel",[525,526,43,265,527,41],"49370518",21,"ssslvky1",[529,530,43,316,531,41],"49259314",22,"peaknk",[141,533,51,243,142,41],23,[535,536,18,537,538,41],"49251458",24,"project\u002Fcritical\u002Fdocs","mmastrac",[178,540,51,312,179,41],25,[542,540,51,279,497,41],"49253383",[544,540,51,312,545,41],"49257569","xd1936",[547,548,51,312,549,41],"49252514",26,"pylotlight",[126,551,18,291,127,41],27,[553,551,41,295,549,41],"49252500",[130,555,18,291,131,41],28,[75,555,41,236,11,18],[558,555,18,331,131,41],"49255428",[560,35,43,316,561,41],"49252062","platevoltage",[563,35,41,279,11,18],"49255487",[565,566,51,312,567,41],"49250026",30,"dofm",[569,566,41,312,11,18],"49250161",[571,566,41,295,567,41],"49250379",[573,566,51,312,187,41],"49250172",[575,566,41,295,567,41],"49250338",[577,566,41,270,266,41],"49253849",[579,566,41,295,567,41],"49254613",[581,566,41,270,266,41],"49266966",[583,584,51,261,585,41],"49250157",31,"minimaltom",[587,584,41,588,11,18],"49250201","project\u002Fpositive\u002Fdesign",[590,584,51,261,585,41],"49250334",[167,592,51,374,168,41],32,[594,592,51,595,497,41],"49250960","maker\u002Fneutral\u002Fdocs",[597,598,51,312,599,41],"49250768",33,"skavi",[601,598,41,257,11,18],"49250816",[110,603,43,316,111,41],34,[605,603,41,279,11,18],"49255471",[607,608,51,261,609,41],"49263674",35,"alex7o",[611,217,43,316,612,41],"49250969","sroussey",[614,217,41,279,11,18],"49251332",[616,217,18,425,612,41],"49251557",[618,619,43,316,620,41],"49253132",37,"anr0",[622,619,41,316,11,18],"49255456",[624,625,51,257,626,41],"49250294",38,"ianseyler",[628,625,41,279,11,18],"49250307",[630,625,41,270,631,41],"49264101","messh",[633,634,51,312,635,41],"49250052",39,"varispeed",[637,634,41,312,11,18],"49250171",[639,634,51,312,640,41],"49250181","actionfromafar",[642,643,51,257,644,41],"49277470",40,"bogdanvdr7",[646,647,18,425,648,41],"49250779",41,"yorwba",[650,647,51,312,266,41],"49253897",[652,647,41,312,11,18],"49255495",[654,647,41,261,11,18],"49255484",[656,16,51,257,657,41],"49253716","prmoustache",[659,16,51,660,266,41],"49253927","project\u002Fmixed\u002Fexecution",[662,16,41,257,11,18],"49255447",[152,664,18,425,153,41],43,[666,664,51,433,497,41],"49263229",[668,669,43,670,671,41],"49252845",44,"project\u002Fpositive\u002Fnone","snyp",[673,669,41,279,11,18],"49255452",[675,676,51,257,677,41],"49252637",45,"tamperoff",[679,676,51,374,497,41],"49252657",[160,681,51,257,161,41],46,[683,681,41,257,11,18],"49255459",[685,686,43,670,687,41],"49258129",47,"brainless",[689,690,43,670,691,41],"49251459",48,"written-beyond",[693,694,51,374,695,41],"49257944",49,"iberator",[697,698,41,270,699,41],"49251177",50,"yieldcrv",[701,698,41,270,702,41],"49251534","janalsncm",[704,698,41,270,705,41],"49258656","kube-system",[707,698,41,270,699,41],"49268805",[709,698,41,270,497,41],"49252767",[148,711,18,425,149,41],51,[713,711,41,433,11,18],"49250552",[715,711,41,279,11,18],"49250562",[717,711,43,718,149,41],"49250645","project\u002Fpositive\u002Fexecution",[720,711,41,279,11,18],"49250655",[722,711,18,425,149,41],"49250683",[724,711,41,725,11,18],"49250792","maker\u002Fneutral\u002Fexecution",[727,728],{"id":4,"t":12,"points":14,"comments":15},{"id":729,"t":730,"points":731,"comments":732},"49748553",1789690304,236,93,[734,739,744,749,754,758],{"id":735,"name":736,"points":737,"category":738},"49226623","Photosynthesis",329,"creative",{"id":740,"name":741,"points":742,"category":743},"49270040","Woxi",314,"languages",{"id":745,"name":746,"points":747,"category":748},"49197137","Altar II",306,"hardware",{"id":750,"name":751,"points":752,"category":753},"49251179","everycube.alen.is",295,"games",{"id":755,"name":756,"points":757,"category":738},"49246366","Eigendrum",243,{"id":759,"name":760,"points":761,"category":743},"49209385","Wyzer",227,false,"v2",{"id":765,"name":5,"line":6,"ai":762,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":766,"maker":11,"domain":10,"tier":19,"attempts":52,"strip":767,"url":9,"mix":768,"praise":96,"objection":119,"sub":21},49246804,[24,25,26,27,28],"3353152131431131315532142133335332334513",[32,33,34,35],1794036707545]