{"exhaustive":{"nbHits":false,"typo":false},"exhaustiveNbHits":false,"exhaustiveTypo":false,"hits":[{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"bpierre"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Helix: a post-modern modal text editor"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://helix-editor.com/"}},"_tags":["story","author_bpierre","story_27358479"],"author":"bpierre","children":[27358923,27358988,27359128,27359136,27359183,27359289,27359399,27359623,27359731,27359758,27359967,27359972,27360078,27360138,27360464,27360506,27360533,27360581,27360714,27360834,27360875,27361166,27361481,27361617,27361838,27361932,27361937,27362445,27362473,27362503,27363032,27363248,27363758,27363802,27364206,27364363,27365289,27365380,27365504,27367421,27368148,27368540,27373100,27373525,27374428],"created_at":"2021-06-01T17:48:20Z","created_at_i":1622569700,"num_comments":365,"objectID":"27358479","points":657,"story_id":27358479,"title":"Helix: a post-modern modal text editor","updated_at":"2026-07-28T02:23:55Z","url":"https://helix-editor.com/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"return_to_monke"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Don\u2019t open the details in a modal window, have it be a separate page"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://youdontneedamodalwindow.dev/"}},"_tags":["story","author_return_to_monke","story_36056376"],"author":"return_to_monke","children":[36056460,36056465,36056499,36056511,36056513,36056521,36056549,36056557,36056577,36056600,36056616,36056633,36056647,36056650,36056652,36056673,36056686,36056689,36056695,36056699,36056700,36056712,36056770,36056823,36056834,36056847,36056849,36056883,36056889,36056916,36056919,36056995,36057016,36057084,36057112,36057119,36057125,36057158,36057211,36057228,36057251,36057282,36057309,36057326,36057335,36057363,36057400,36057602,36057650,36057739,36057797,36057826,36057862,36057920,36057926,36057938,36057942,36057964,36057977,36058009,36058029,36058079,36058083,36058243,36058473,36058596,36058643,36059607,36060039,36061425,36067664],"created_at":"2023-05-24T11:12:40Z","created_at_i":1684926760,"num_comments":292,"objectID":"36056376","points":403,"story_id":36056376,"title":"Don\u2019t open the details in a modal window, have it be a separate page","updated_at":"2025-04-27T15:02:15Z","url":"https://youdontneedamodalwindow.dev/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"dkroy"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"A Better Twitter Bootstrap Modal"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://github.com/jschr/bootstrap-modal/"}},"_tags":["story","author_dkroy","story_4815466"],"author":"dkroy","children":[4815563,4815673,4815677,4815688,4815689,4815719,4815742,4815752,4815756,4815770,4815780,4815795,4815800,4815826,4815881,4815901,4815925,4815966,4816022,4816081,4816303,4816450,4816617,4816796,4817030,4817049,4817556,4817781,4817852,4817949,4818053,4818905,4819416,4821114],"created_at":"2012-11-21T18:18:15Z","created_at_i":1353521895,"num_comments":71,"objectID":"4815466","points":358,"story_id":4815466,"story_text":"","title":"A Better Twitter Bootstrap Modal","updated_at":"2024-09-19T19:03:21Z","url":"https://github.com/jschr/bootstrap-modal/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"montyanderson"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Ovi: Twin backbone cross-modal fusion for audio-video generation"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/character-ai/Ovi"}},"_tags":["story","author_montyanderson","story_45674166"],"author":"montyanderson","children":[45674622,45674703,45674769,45674896,45674919,45675056,45675251,45675350,45675676,45675707,45676696,45676808,45677020,45678970,45679716,45679735],"created_at":"2025-10-22T19:42:36Z","created_at_i":1761162156,"num_comments":114,"objectID":"45674166","points":314,"story_id":45674166,"title":"Ovi: Twin backbone cross-modal fusion for audio-video generation","updated_at":"2026-03-05T22:53:02Z","url":"https://github.com/character-ai/Ovi"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"adelarsq"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Oni: Modern Modal Editing \u2013 Powered by Neovim"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/onivim/oni"}},"_tags":["story","author_adelarsq","story_16673267"],"author":"adelarsq","children":[16673617,16673724,16673745,16673886,16674117,16674208,16674381,16674458,16674642,16674809,16674843,16675090,16675152,16675382,16675738,16676777,16676829,16677442,16677651,16678006,16678095,16678103,16679207,16680016],"created_at":"2018-03-25T17:30:56Z","created_at_i":1521999056,"num_comments":108,"objectID":"16673267","points":309,"story_id":16673267,"title":"Oni: Modern Modal Editing \u2013 Powered by Neovim","updated_at":"2024-09-20T02:17:15Z","url":"https://github.com/onivim/oni"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"gabrielbirnbaum"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Chameleon: Meta\u2019s New Multi-Modal LLM"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://arxiv.org/abs/2405.09818"}},"_tags":["story","author_gabrielbirnbaum","story_40423082"],"author":"gabrielbirnbaum","children":[40424116,40424166,40424268,40424326,40424401,40424576,40424593,40424773,40424964,40425691,40427398],"created_at":"2024-05-21T01:37:53Z","created_at_i":1716255473,"num_comments":40,"objectID":"40423082","points":304,"story_id":40423082,"title":"Chameleon: Meta\u2019s New Multi-Modal LLM","updated_at":"2024-11-21T06:09:58Z","url":"https://arxiv.org/abs/2405.09818"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"philonoist"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Warpd: A modal keyboard-driven virtual pointer"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/rvaiya/warpd"}},"_tags":["story","author_philonoist","story_33221901"],"author":"philonoist","children":[33221918,33222044,33222215,33222359,33222368,33222384,33222389,33222828,33222853,33222874,33222875,33222894,33222944,33223083,33223680,33224977,33226447,33227035,33232245],"created_at":"2022-10-16T07:43:35Z","created_at_i":1665906215,"num_comments":118,"objectID":"33221901","points":260,"story_id":33221901,"title":"Warpd: A modal keyboard-driven virtual pointer","updated_at":"2026-05-13T09:03:19Z","url":"https://github.com/rvaiya/warpd"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"juancampa"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"We use too many damn modals (2018)"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://modalzmodalzmodalz.com/"}},"_tags":["story","author_juancampa","story_23645447"],"author":"juancampa","children":[23645727,23645734,23645760,23645822,23645827,23645878,23645918,23645933,23645937,23646039,23646078,23646153,23646184,23646204,23646302,23646338,23646451,23646633,23646720,23647038,23647103,23647165,23647391,23647443,23647499,23647554,23647698,23648184,23648208,23648333,23648556,23648685,23648932,23649219,23649364,23649478,23649490,23657544,23659487,23660162],"created_at":"2020-06-25T20:41:42Z","created_at_i":1593117702,"num_comments":120,"objectID":"23645447","points":252,"story_id":23645447,"title":"We use too many damn modals (2018)","updated_at":"2025-12-21T15:24:56Z","url":"https://modalzmodalzmodalz.com/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"simonw"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Multi-modal prompt injection image attacks against GPT-4V"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://simonwillison.net/2023/Oct/14/multi-modal-prompt-injection/"}},"_tags":["story","author_simonw","story_37877605"],"author":"simonw","children":[37878805,37879687,37879942,37880003,37880169,37880570,37881045,37881695],"created_at":"2023-10-14T02:26:40Z","created_at_i":1697250400,"num_comments":67,"objectID":"37877605","points":222,"story_id":37877605,"title":"Multi-modal prompt injection image attacks against GPT-4V","updated_at":"2025-11-10T20:42:11Z","url":"https://simonwillison.net/2023/Oct/14/multi-modal-prompt-injection/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"niedzielski"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Onivim 2 is a retro-futuristic modal editor"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://v2.onivim.io"}},"_tags":["story","author_niedzielski","story_27627275"],"author":"niedzielski","children":[27654891,27654931,27654974,27655027,27655228,27655300,27655494,27655533,27655664,27655693,27655793,27655799,27655876,27655933,27655977,27655998,27656082,27656405,27656481,27656614,27656765,27656925,27657111,27657335,27657468,27658105,27658215,27658217,27658308,27659686,27660778],"created_at":"2021-06-25T04:56:26Z","created_at_i":1624596986,"num_comments":132,"objectID":"27627275","points":190,"story_id":27627275,"title":"Onivim 2 is a retro-futuristic modal editor","updated_at":"2024-09-20T08:51:54Z","url":"https://v2.onivim.io"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"daenz"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Wizard Modals for Bootstrap"},"url":{"matchLevel":"none","matchedWords":[],"value":"http://github.com/amoffat/bootstrap-application-wizard"}},"_tags":["story","author_daenz","story_5184130"],"author":"daenz","children":[5184343,5184393,5184401,5184430,5184532,5184547,5184805,5184841,5185006,5185181,5185276,5185587,5185654,5185671,5186852,5187331],"created_at":"2013-02-07T19:50:59Z","created_at_i":1360266659,"num_comments":27,"objectID":"5184130","points":188,"story_id":5184130,"title":"Wizard Modals for Bootstrap","updated_at":"2026-07-19T12:10:04Z","url":"http://github.com/amoffat/bootstrap-application-wizard"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"tosh"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Laion-5B: A new era of open large-scale multi-modal datasets"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://laion.ai/blog/laion-5b/"}},"_tags":["story","author_tosh","story_33953891"],"author":"tosh","children":[33956440,33956609,33956635,33956654,33956845,33956948,33957043,33958037,33958280,33959572,33963507,33975500],"created_at":"2022-12-12T12:18:46Z","created_at_i":1670847526,"num_comments":104,"objectID":"33953891","points":163,"story_id":33953891,"title":"Laion-5B: A new era of open large-scale multi-modal datasets","updated_at":"2024-09-20T12:50:26Z","url":"https://laion.ai/blog/laion-5b/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"amalinovic"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Phoenix 1.7 for Elixir: Edit a Form in a Modal"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://blog.appsignal.com/2023/09/12/phoenix-1-7-for-elixir-edit-a-form-in-a-modal.html"}},"_tags":["story","author_amalinovic","story_37479323"],"author":"amalinovic","children":[37479366,37479382,37479520,37479722,37479792,37480067,37480207,37480817,37481165,37481389,37481496,37481799],"created_at":"2023-09-12T11:12:41Z","created_at_i":1694517161,"num_comments":115,"objectID":"37479323","points":157,"story_id":37479323,"title":"Phoenix 1.7 for Elixir: Edit a Form in a Modal","updated_at":"2026-05-10T00:05:06Z","url":"https://blog.appsignal.com/2023/09/12/phoenix-1-7-for-elixir-edit-a-form-in-a-modal.html"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"andrew_bbb"},"story_text":{"matchLevel":"none","matchedWords":[],"value":"Hey! Check out my "toy" text editor which I use as my daily driver.

Features\nLSP autocomplete, goto definition, hover info

Tree-sitter support

Color themes (borrowed from the Helix text editor)

Lots of bugs

Macro support

Something like Emacs org-mode: Open test.txt, place the cursor at line 15, and press "Ctrl-C Ctrl-C".

This project was written as a "speed run" \u2014 not for speed in terms of time, but rather as an exercise to explore the text editor problem space without overthinking or planning ahead. It\u2019s a quick and "dirty" implementation, so to speak.

https://github.com/firstrow/mcwig"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Show HN: McWig \u2013 A modal, Vim-like text editor written in Go"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/firstrow/mcwig"}},"_tags":["story","author_andrew_bbb","story_44257609","show_hn"],"author":"andrew_bbb","children":[44258264,44262917,44262981,44263173,44264079,44264581,44266588,44266764,44266848,44267441,44268158,44275129],"created_at":"2025-06-12T13:32:56Z","created_at_i":1749735176,"num_comments":28,"objectID":"44257609","points":152,"story_id":44257609,"story_text":"Hey! Check out my "toy" text editor which I use as my daily driver.

Features\nLSP autocomplete, goto definition, hover info

Tree-sitter support

Color themes (borrowed from the Helix text editor)

Lots of bugs

Macro support

Something like Emacs org-mode: Open test.txt, place the cursor at line 15, and press "Ctrl-C Ctrl-C".

This project was written as a "speed run" \u2014 not for speed in terms of time, but rather as an exercise to explore the text editor problem space without overthinking or planning ahead. It\u2019s a quick and "dirty" implementation, so to speak.

https://github.com/firstrow/mcwig","title":"Show HN: McWig \u2013 A modal, Vim-like text editor written in Go","updated_at":"2025-07-25T09:17:05Z","url":"https://github.com/firstrow/mcwig"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"mihaid150"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Nvidia-Ingest: Multi-modal data extraction"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/NVIDIA/nv-ingest"}},"_tags":["story","author_mihaid150","story_42654019"],"author":"mihaid150","children":[42654633,42654637,42654661,42654796,42654912,42654920,42655118,42655153,42657399,42658725,42658993,42659114,42660027,42661780,42662490],"created_at":"2025-01-10T09:17:47Z","created_at_i":1736500667,"num_comments":45,"objectID":"42654019","points":145,"story_id":42654019,"title":"Nvidia-Ingest: Multi-modal data extraction","updated_at":"2025-01-14T11:22:06Z","url":"https://github.com/NVIDIA/nv-ingest"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"bibyte"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Kakoune \u2013 A Modal Text Editor"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/mawww/kakoune"}},"_tags":["story","author_bibyte","story_19313794"],"author":"bibyte","children":[19313979,19314078,19314123,19314171,19314190,19314252,19314262,19314269,19314303,19314390,19314499,19314571,19314621,19315213,19315392],"created_at":"2019-03-05T20:13:08Z","created_at_i":1551816788,"num_comments":58,"objectID":"19313794","points":144,"story_id":19313794,"title":"Kakoune \u2013 A Modal Text Editor","updated_at":"2026-02-25T23:11:19Z","url":"https://github.com/mawww/kakoune"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"swyx"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"GPT4 and the Multi-Modal, Multi-Model, Multi-Everything Future of AGI"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://lspace.swyx.io/p/multimodal-gpt4"}},"_tags":["story","author_swyx","story_35172362"],"author":"swyx","children":[35172884,35173039,35173300,35173400,35173406,35173488,35173547,35173581,35173593,35173597,35173624,35174446],"created_at":"2023-03-15T18:07:33Z","created_at_i":1678903653,"num_comments":167,"objectID":"35172362","points":127,"story_id":35172362,"title":"GPT4 and the Multi-Modal, Multi-Model, Multi-Everything Future of AGI","updated_at":"2025-11-10T20:42:11Z","url":"https://lspace.swyx.io/p/multimodal-gpt4"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"teruakohatu"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Onivim 2: Lightweight, Modal Code Editor"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/onivim/oni2"}},"_tags":["story","author_teruakohatu","story_23626398"],"author":"teruakohatu","children":[23627085,23627190,23627205,23627229,23627267,23627762,23627904,23628105,23628200,23628789,23631986,23631994,23632450,23633016],"created_at":"2020-06-24T10:45:26Z","created_at_i":1592995526,"num_comments":74,"objectID":"23626398","points":123,"story_id":23626398,"title":"Onivim 2: Lightweight, Modal Code Editor","updated_at":"2024-09-20T06:24:28Z","url":"https://github.com/onivim/oni2"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"Bogdanp"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Meow: Yet another modal editing on Emacs"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/meow-edit/meow"}},"_tags":["story","author_Bogdanp","story_45228396"],"author":"Bogdanp","children":[45228628,45228750,45228764,45228829,45229193,45230003,45230583,45232585],"created_at":"2025-09-13T01:00:22Z","created_at_i":1757725222,"num_comments":22,"objectID":"45228396","points":119,"story_id":45228396,"title":"Meow: Yet another modal editing on Emacs","updated_at":"2026-07-01T10:48:44Z","url":"https://github.com/meow-edit/meow"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"jbernardo95"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Oni \u2013 Modern Modal Editing"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://www.onivim.io/"}},"_tags":["story","author_jbernardo95","story_16995876"],"author":"jbernardo95","children":[16996258,16996275,16996297,16996307,16996408,16996528,16996549,16996684,16996791,16997000,16997027,16997589,16997684,16997981,16998214,16998367,16999300],"created_at":"2018-05-04T16:32:44Z","created_at_i":1525451564,"num_comments":85,"objectID":"16995876","points":110,"story_id":16995876,"title":"Oni \u2013 Modern Modal Editing","updated_at":"2024-09-20T02:30:17Z","url":"https://www.onivim.io/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"inatreecrown2"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Tuna: A new, modern, modal launcher for macOS"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://tunaformac.com"}},"_tags":["story","author_inatreecrown2","story_47147185"],"author":"inatreecrown2","children":[47147278,47147281,47147618,47148234,47150197,47150634,47150782,47152818,47155282,47157343,47162071,47176231],"created_at":"2026-02-25T04:03:38Z","created_at_i":1771992218,"num_comments":41,"objectID":"47147185","points":101,"story_id":47147185,"title":"Tuna: A new, modern, modal launcher for macOS","updated_at":"2026-06-20T13:38:48Z","url":"https://tunaformac.com"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"zackify"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Modals in React"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"http://reactjsnews.com/modals-in-react/"}},"_tags":["story","author_zackify","story_9966891"],"author":"zackify","children":[9967116,9967207,9967352,9967886,9968421,9968486,9968815,9968817,9969098,9969404],"created_at":"2015-07-29T07:40:10Z","created_at_i":1438155610,"num_comments":34,"objectID":"9966891","points":93,"story_id":9966891,"title":"Modals in React","updated_at":"2023-09-07T03:19:18Z","url":"http://reactjsnews.com/modals-in-react/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"smlavine"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Modal is a matrioshka language based on pattern-matching to rewrite trees"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://wiki.xxiivv.com/site/modal"}},"_tags":["story","author_smlavine","story_40126935"],"author":"smlavine","children":[40127927,40128295,40129597,40129769,40129817,40130081,40130375],"created_at":"2024-04-22T23:52:32Z","created_at_i":1713829952,"num_comments":21,"objectID":"40126935","points":92,"story_id":40126935,"title":"Modal is a matrioshka language based on pattern-matching to rewrite trees","updated_at":"2025-06-01T16:04:37Z","url":"https://wiki.xxiivv.com/site/modal"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"ujeezy"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Avgrund: a modal concept, designed to show depth"},"url":{"matchLevel":"none","matchedWords":[],"value":"http://lab.hakim.se/avgrund/"}},"_tags":["story","author_ujeezy","story_4384814"],"author":"ujeezy","children":[4384986,4385071,4385192,4385484,4385998],"created_at":"2012-08-15T06:02:34Z","created_at_i":1345010554,"num_comments":17,"objectID":"4384814","points":92,"story_id":4384814,"story_text":"","title":"Avgrund: a modal concept, designed to show depth","updated_at":"2023-09-06T20:58:13Z","url":"http://lab.hakim.se/avgrund/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"philonoist"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Onivim 2 \u2013 A retro-futuristic modal editor"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://onivim.io/"}},"_tags":["story","author_philonoist","story_28422146"],"author":"philonoist","children":[28454085,28454095,28454144,28454157,28454158,28454167,28454205,28454216,28454218,28454294,28454310,28454317,28454330,28454352,28454362,28454389,28454443,28454632,28454635,28454716,28454790,28549301,28549304],"created_at":"2021-09-05T07:01:59Z","created_at_i":1630825319,"num_comments":75,"objectID":"28422146","points":89,"story_id":28422146,"title":"Onivim 2 \u2013 A retro-futuristic modal editor","updated_at":"2024-09-20T09:17:07Z","url":"https://onivim.io/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"leirbagarc"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Meta AI: Fist high-performance self-supervised algorithm for multiple modalities"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://ai.facebook.com/blog/the-first-high-performance-self-supervised-algorithm-that-works-for-speech-vision-and-text/"}},"_tags":["story","author_leirbagarc","story_30020799"],"author":"leirbagarc","children":[30020872,30021648,30021672,30021918,30022156,30022485,30022509,30022530,30022645,30023399,30024431,30026715],"created_at":"2022-01-21T08:39:50Z","created_at_i":1642754390,"num_comments":56,"objectID":"30020799","points":89,"story_id":30020799,"title":"Meta AI: Fist high-performance self-supervised algorithm for multiple modalities","updated_at":"2024-09-20T10:16:56Z","url":"https://ai.facebook.com/blog/the-first-high-performance-self-supervised-algorithm-that-works-for-speech-vision-and-text/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"milliondreams"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Mini-Gemini: Mining the Potential of Multi-Modality Vision Language Models"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://arxiv.org/abs/2403.18814"}},"_tags":["story","author_milliondreams","story_39888769"],"author":"milliondreams","children":[39888770,39888785,39888786,39889590,39889856,39893901,39894576],"created_at":"2024-03-31T22:38:09Z","created_at_i":1711924689,"num_comments":7,"objectID":"39888769","points":83,"story_id":39888769,"title":"Mini-Gemini: Mining the Potential of Multi-Modality Vision Language Models","updated_at":"2024-09-20T16:46:06Z","url":"https://arxiv.org/abs/2403.18814"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"pr337h4m"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Liquid: Language models are scalable and unified multi-modal generators"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://foundationvision.github.io/Liquid/"}},"_tags":["story","author_pr337h4m","story_43697532"],"author":"pr337h4m","children":[43698361,43698926,43698964,43699355,43699875],"created_at":"2025-04-15T19:46:14Z","created_at_i":1744746374,"num_comments":8,"objectID":"43697532","points":82,"story_id":43697532,"title":"Liquid: Language models are scalable and unified multi-modal generators","updated_at":"2025-04-19T06:23:01Z","url":"https://foundationvision.github.io/Liquid/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"jstrieb"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Modal Logic Playground"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"http://rkirsling.github.io/modallogic/"}},"_tags":["story","author_jstrieb","story_17338585"],"author":"jstrieb","children":[17340575,17340902,17345165],"created_at":"2018-06-18T14:41:14Z","created_at_i":1529332874,"num_comments":3,"objectID":"17338585","points":82,"story_id":17338585,"title":"Modal Logic Playground","updated_at":"2024-09-20T02:35:18Z","url":"http://rkirsling.github.io/modallogic/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"surprisetalk"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"\"Roadrunner\": a bipedal, wheeled robot for multi-modal locomotion [video]"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://www.youtube.com/watch?v=9kae-UAME1U"}},"_tags":["story","author_surprisetalk","story_47518382"],"author":"surprisetalk","children":[47538620,47570781,47570863,47570936,47571328,47571856,47572426,47572552,47572638,47573425,47573593,47573639,47573894,47578695,47578940],"created_at":"2026-03-25T15:08:47Z","created_at_i":1774451327,"num_comments":40,"objectID":"47518382","points":78,"story_id":47518382,"title":"\"Roadrunner\": a bipedal, wheeled robot for multi-modal locomotion [video]","updated_at":"2026-04-05T13:50:46Z","url":"https://www.youtube.com/watch?v=9kae-UAME1U"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"maxloh"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Styling an HTML dialog modal to take the full height of the viewport"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://til.simonwillison.net/css/dialog-full-height"}},"_tags":["story","author_maxloh","story_43378225"],"author":"maxloh","children":[43378893,43378963,43378972,43379004,43379113,43379238,43379900,43380068,43380129,43380410,43380505,43380995],"created_at":"2025-03-16T11:35:22Z","created_at_i":1742124922,"num_comments":57,"objectID":"43378225","points":75,"story_id":43378225,"title":"Styling an HTML dialog modal to take the full height of the viewport","updated_at":"2026-05-31T13:53:14Z","url":"https://til.simonwillison.net/css/dialog-full-height"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"flothebre"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Forms in modals: UX case"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://user-interface.io/why-you-probably-shouldnt-put-forms-in-modals/"}},"_tags":["story","author_flothebre","story_32358745"],"author":"flothebre","children":[32358887,32358944,32358946,32358949,32358967,32358999,32359023,32359070,32359131,32359144,32359184,32359219,32359261,32359390,32359434,32359541,32359612,32359620,32360864,32361514],"created_at":"2022-08-05T16:55:16Z","created_at_i":1659718516,"num_comments":50,"objectID":"32358745","points":66,"story_id":32358745,"title":"Forms in modals: UX case","updated_at":"2026-05-08T19:14:58Z","url":"https://user-interface.io/why-you-probably-shouldnt-put-forms-in-modals/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"prats226"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"SmolDocling: An ultra-compact VLM for end-to-end multi-modal document conversion"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://arxiv.org/abs/2503.11576"}},"_tags":["story","author_prats226","story_43430856"],"author":"prats226","children":[43431442,43431889,43432020,43436309,43448437,43505214],"created_at":"2025-03-21T01:06:42Z","created_at_i":1742519202,"num_comments":12,"objectID":"43430856","points":66,"story_id":43430856,"title":"SmolDocling: An ultra-compact VLM for end-to-end multi-modal document conversion","updated_at":"2026-02-06T02:44:20Z","url":"https://arxiv.org/abs/2503.11576"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"ab9"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Alert boxes now tab-modal in Firefox 4"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://bugzilla.mozilla.org/show_bug.cgi?id=59314"}},"_tags":["story","author_ab9","story_1925406"],"author":"ab9","children":[1925600,1925808,1925849,1925929,1926200,1926684,1926730],"created_at":"2010-11-20T21:43:11Z","created_at_i":1290289391,"num_comments":37,"objectID":"1925406","points":62,"story_id":1925406,"story_text":"","title":"Alert boxes now tab-modal in Firefox 4","updated_at":"2024-09-19T17:19:55Z","url":"https://bugzilla.mozilla.org/show_bug.cgi?id=59314"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"stereobooster"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Fullscreen mobile modal: how hard can it be?"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://github.com/stereobooster/react-modal-experiment"}},"_tags":["story","author_stereobooster","story_17940221"],"author":"stereobooster","children":[17946625,17946716,17946959,17947025,17947052,17947103,17947113,17947139,17947140,17947161,17947192,17947203,17947255,17947274,17947289],"created_at":"2018-09-08T09:38:48Z","created_at_i":1536399528,"num_comments":43,"objectID":"17940221","points":56,"story_id":17940221,"title":"Fullscreen mobile modal: how hard can it be?","updated_at":"2024-09-20T02:59:05Z","url":"https://github.com/stereobooster/react-modal-experiment"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"adeelk"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Show HN: Veneer, modal dialogs in 75 lines of JavaScript"},"url":{"matchLevel":"none","matchedWords":[],"value":"http://adeel.github.com/veneer/"}},"_tags":["story","author_adeelk","story_3438512","show_hn"],"author":"adeelk","children":[3438585,3438634,3438848,3438901,3438917,3439049,3439079,3439128,3440353,3443392],"created_at":"2012-01-08T00:36:45Z","created_at_i":1325983005,"num_comments":25,"objectID":"3438512","points":56,"story_id":3438512,"story_text":"","title":"Show HN: Veneer, modal dialogs in 75 lines of JavaScript","updated_at":"2023-09-06T20:55:59Z","url":"http://adeel.github.com/veneer/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"amandavinci"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Show HN: OmniNet:- A unified architecture for multi-modal multi-task learning"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/subho406/OmniNet"}},"_tags":["story","author_amandavinci","story_20479366","show_hn"],"author":"amandavinci","children":[20479616,20480349,20480722,20481621,20482258,20484431,20484768],"created_at":"2019-07-19T15:24:43Z","created_at_i":1563549883,"num_comments":10,"objectID":"20479366","points":54,"story_id":20479366,"title":"Show HN: OmniNet:- A unified architecture for multi-modal multi-task learning","updated_at":"2024-09-20T04:39:38Z","url":"https://github.com/subho406/OmniNet"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"privong"},"title":{"fullyHighlighted":true,"matchLevel":"full","matchedWords":["modal"],"value":"(Modal)"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://wryl.tech/projects/modal.html"}},"_tags":["story","author_privong","story_40893388"],"author":"privong","children":[40894547,40894661,40895154,40903016],"created_at":"2024-07-06T21:17:15Z","created_at_i":1720300635,"num_comments":2,"objectID":"40893388","points":48,"story_id":40893388,"title":"(Modal)","updated_at":"2024-09-20T17:27:44Z","url":"https://wryl.tech/projects/modal.html"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"jessekorzan"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Show HN: The Most Explosive Modal on the Web"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://jessekorzan.github.io/expodal/"}},"_tags":["story","author_jessekorzan","story_14187416","show_hn"],"author":"jessekorzan","children":[14187619,14187698,14187749,14187751,14187813,14193943,14194116,14203516],"created_at":"2017-04-24T19:41:12Z","created_at_i":1493062872,"num_comments":11,"objectID":"14187416","points":41,"story_id":14187416,"title":"Show HN: The Most Explosive Modal on the Web","updated_at":"2024-09-20T00:45:59Z","url":"https://jessekorzan.github.io/expodal/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"babakd"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://arxiv.org/abs/2309.16058"}},"_tags":["story","author_babakd","story_37699312"],"author":"babakd","children":[37699496],"created_at":"2023-09-29T04:36:20Z","created_at_i":1695962180,"num_comments":4,"objectID":"37699312","points":41,"story_id":37699312,"title":"AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model","updated_at":"2024-09-20T15:18:36Z","url":"https://arxiv.org/abs/2309.16058"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"oidar"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Local File Organizer: Organize your files using multi-modal LLMs"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/QiuYannnn/Local-File-Organizer"}},"_tags":["story","author_oidar","story_41715459"],"author":"oidar","children":[41717789,41723694,41727308,41736441],"created_at":"2024-10-01T23:25:22Z","created_at_i":1727825122,"num_comments":5,"objectID":"41715459","points":36,"story_id":41715459,"title":"Local File Organizer: Organize your files using multi-modal LLMs","updated_at":"2024-10-05T17:26:27Z","url":"https://github.com/QiuYannnn/Local-File-Organizer"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"westurner"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"3D-Printed electric motor via multi-modal, multi-material extrusion"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://www.tandfonline.com/doi/full/10.1080/17452759.2026.2613185"}},"_tags":["story","author_westurner","story_47103668"],"author":"westurner","children":[47103673,47109528,47148457,47148486,47148763,47154028],"created_at":"2026-02-21T19:08:09Z","created_at_i":1771700889,"num_comments":11,"objectID":"47103668","points":35,"story_id":47103668,"title":"3D-Printed electric motor via multi-modal, multi-material extrusion","updated_at":"2026-07-22T12:15:30Z","url":"https://www.tandfonline.com/doi/full/10.1080/17452759.2026.2613185"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"earayu"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"ApeRAG: Production-ready GraphRAG with multi-modal indexing and K8s deployment"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/apecloud/ApeRAG"}},"_tags":["story","author_earayu","story_45165751"],"author":"earayu","children":[45216204,45216244,45216725,45217287],"created_at":"2025-09-08T08:06:43Z","created_at_i":1757318803,"num_comments":14,"objectID":"45165751","points":32,"story_id":45165751,"title":"ApeRAG: Production-ready GraphRAG with multi-modal indexing and K8s deployment","updated_at":"2026-03-20T04:32:51Z","url":"https://github.com/apecloud/ApeRAG"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"iamwil"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Modalz Modalz Modalz (2018)"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://modalzmodalzmodalz.com/"}},"_tags":["story","author_iamwil","story_46285107"],"author":"iamwil","children":[46288239,46293952,46295147,46318475,46345520,46346375,46346412,46346726],"created_at":"2025-12-16T05:27:44Z","created_at_i":1765862864,"num_comments":11,"objectID":"46285107","points":31,"story_id":46285107,"title":"Modalz Modalz Modalz (2018)","updated_at":"2026-03-05T23:13:12Z","url":"https://modalzmodalzmodalz.com/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"Bitter_Function"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"\u201cResearch has shown that modal dialogs that cannot be closed perform the best\u201d"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://medium.com/swlh/how-to-design-for-the-web-in-2019-a0be4d6702e2"}},"_tags":["story","author_Bitter_Function","story_20121667"],"author":"Bitter_Function","children":[20121734,20121738,20121742,20121811,20121827],"created_at":"2019-06-07T04:27:30Z","created_at_i":1559881650,"num_comments":7,"objectID":"20121667","points":31,"story_id":20121667,"title":"\u201cResearch has shown that modal dialogs that cannot be closed perform the best\u201d","updated_at":"2024-09-20T04:22:05Z","url":"https://medium.com/swlh/how-to-design-for-the-web-in-2019-a0be4d6702e2"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"kornatzky"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Modalities of Web Site Builders"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://yoramkornatzky.com/post/modalities-of-web-site-builders"}},"_tags":["story","author_kornatzky","story_32723367"],"author":"kornatzky","children":[32738487,32738717,32738815,32739923,32740750,32750560],"created_at":"2022-09-05T12:08:05Z","created_at_i":1662379685,"num_comments":6,"objectID":"32723367","points":28,"story_id":32723367,"title":"Modalities of Web Site Builders","updated_at":"2024-09-20T11:58:35Z","url":"https://yoramkornatzky.com/post/modalities-of-web-site-builders"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"browniefed"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"React Native \u2013 Easy Overlay Modal with Navigator"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"http://browniefed.com/blog/2015/10/18/react-native-easy-overlay-modal-with-navigator/"}},"_tags":["story","author_browniefed","story_10409213"],"author":"browniefed","children":[10409766,10420305],"created_at":"2015-10-18T18:41:25Z","created_at_i":1445193685,"num_comments":6,"objectID":"10409213","points":27,"story_id":10409213,"title":"React Native \u2013 Easy Overlay Modal with Navigator","updated_at":"2026-07-10T11:32:51Z","url":"http://browniefed.com/blog/2015/10/18/react-native-easy-overlay-modal-with-navigator/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"Xiaozaa"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Transfer between Modalities with MetaQueries"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://arxiv.org/abs/2504.06256"}},"_tags":["story","author_Xiaozaa","story_43667963"],"author":"Xiaozaa","children":[43667964,43668295,43668310,43668418],"created_at":"2025-04-12T21:10:59Z","created_at_i":1744492259,"num_comments":12,"objectID":"43667963","points":25,"story_id":43667963,"title":"Transfer between Modalities with MetaQueries","updated_at":"2025-04-20T00:22:50Z","url":"https://arxiv.org/abs/2504.06256"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"mikesilvis"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Facebook-Like Modal Library - Now supports mobile"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"https://github.com/mikesilvis/mikes-modal-library"}},"_tags":["story","author_mikesilvis","story_6218092"],"author":"mikesilvis","children":[6218191,6218951,6219062,6219507,6220006],"created_at":"2013-08-15T14:46:55Z","created_at_i":1376578015,"num_comments":8,"objectID":"6218092","points":25,"story_id":6218092,"story_text":"","title":"Facebook-Like Modal Library - Now supports mobile","updated_at":"2024-09-19T19:49:17Z","url":"https://github.com/mikesilvis/mikes-modal-library"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"jlowin"},"story_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Hey HN! We just released Marvin 2.0.

Marvin is an AI toolkit for developers who want to use LLMs with traditional software. We still see significant challenges integrating LLMs because of how difficult it is to get them to reliably accept and return structured data. Marvin consists of independent, functional tools that address this problem in a variety of ways.

Marvin has always been focused on using LLMs to work with native Python datatypes and Pydantic models. In 2.0 we've expanded this significantly with dedicated APIs for the most common use cases we've seen over the last year: classification, entity extraction, transforming data to types, and generating synthetic data. Marvin 2.0 is also fully multi-modal and supports images as inputs for classification, extraction, and transformation tasks (as well as simple image and speech generation). We've also introduces a Pythonic interface to OpenAI's assistants API, which now powers all of Marvin's interactive components.

We've tried to make an LLM framework that "sparks joy" and captures that same feeling you had the first time you saw an LLM in action. Try it out and let us know what you think!

(Repo: https://github.com/PrefectHQ/marvin)\n(Previous Show HN: https://news.ycombinator.com/item?id=35366838)"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["modal"],"value":"Show HN: Marvin 2.0 \u2013 a lightweight, multi-modal AI toolkit"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://www.factsmachine.ai/p/marvins-turning-20"}},"_tags":["story","author_jlowin","story_39036670","show_hn"],"author":"jlowin","children":[39047088],"created_at":"2024-01-18T02:16:10Z","created_at_i":1705544170,"num_comments":2,"objectID":"39036670","points":20,"story_id":39036670,"story_text":"Hey HN! We just released Marvin 2.0.

Marvin is an AI toolkit for developers who want to use LLMs with traditional software. We still see significant challenges integrating LLMs because of how difficult it is to get them to reliably accept and return structured data. Marvin consists of independent, functional tools that address this problem in a variety of ways.

Marvin has always been focused on using LLMs to work with native Python datatypes and Pydantic models. In 2.0 we've expanded this significantly with dedicated APIs for the most common use cases we've seen over the last year: classification, entity extraction, transforming data to types, and generating synthetic data. Marvin 2.0 is also fully multi-modal and supports images as inputs for classification, extraction, and transformation tasks (as well as simple image and speech generation). We've also introduces a Pythonic interface to OpenAI's assistants API, which now powers all of Marvin's interactive components.

We've tried to make an LLM framework that "sparks joy" and captures that same feeling you had the first time you saw an LLM in action. Try it out and let us know what you think!

(Repo: https://github.com/PrefectHQ/marvin)\n(Previous Show HN: https://news.ycombinator.com/item?id=35366838)","title":"Show HN: Marvin 2.0 \u2013 a lightweight, multi-modal AI toolkit","updated_at":"2024-09-20T16:11:50Z","url":"https://www.factsmachine.ai/p/marvins-turning-20"}],"hitsPerPage":50,"nbHits":67520,"nbPages":20,"page":0,"params":"query=Modal&tags=story&hitsPerPage=50&advancedSyntax=true&analyticsTags=backend","processingTimeMS":14,"processingTimingsMS":{"_request":{"queue":1,"roundTrip":19},"fetch":{"query":2,"scanning":10,"total":13},"total":14},"query":"Modal","serverTimeMS":16}