[{"data":1,"prerenderedAt":153},["ShallowReactive",2],{"project-20036195":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":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":38,"post_text":29,"what":39,"said":50,"maker_in_thread":96,"shape":102,"grid":105,"attempts":115,"same_week":116,"maker_shows":145,"maker_hidden":146,"reader_version":147,"card":148},"20036195","offlinenotepad","an offline-first notepad that can sync across devices","title","Show HN: offlinenotepad – an offline-first notepad that can sync across devices","https:\u002F\u002Fgithub.com\u002Fschollz\u002Fofflinenotepad","github.com","qrv3w",1559094721,2019,12,5,1602,2195,73,"shown","productivity","notepad","web_app",[24,25,26,27],"offline notepad","encrypted notes","notes sync","offline-first","quiet",null,{"positive":31,"neutral":32,"mixed":33,"critical":31},0,2,1,3,{"privacy":36,"design":37},{"positive":31,"critical":31},{"positive":31,"critical":31},[34,31,34,34,31],{"problem":40,"audience":29,"pricing":29,"motivation":29,"time_to_build":29,"stack":46,"openness":47,"stage":48,"team_size":49},{"value":41,"source":42,"evidence":43},"Keeping notes available offline and syncing them across devices","maker",[44],{"id":45},"post",[],"open_source","launched","unknown",{"praise":51,"objections":60,"requests":69,"questions":83,"alternatives":91},[52],{"value":53,"source":54,"evidence":55},"Simple, focused on a single purpose","commenter",[56],{"id":57,"by":58,"text":59},"20038094","huhtenberg","Played with it a bit just now. Less and more, very nice. When returning to the page, it will allow you in with the wrong password and without any complaints. This is confusing.…",[61,65],{"value":62,"source":54,"evidence":63},"Password check accepts wrong password on return",[64],{"id":57,"by":58,"text":59},{"value":66,"source":54,"evidence":67},"Local copy encrypted but published copy public; expected password for backup and restore",[68],{"id":57,"by":58,"text":59},[70,76],{"value":71,"source":42,"evidence":72},"Add import of exported JSON files",[73],{"id":74,"by":11,"text":75},"20042978","Yes, I like to make sure data is accessible. I'll add importing in the future.",{"value":77,"source":54,"evidence":78},"Add password validation or backup and restore with password",[79,80],{"id":57,"by":58,"text":59},{"id":81,"by":58,"text":82},"20055706","Just take a random string, encrypt it with the password and save both plaintext and encrypted version in localStorage, stuff a username in one or another if needed. This will…",[84],{"value":85,"source":54,"evidence":86},"Is the JSON export meant to be re-uploaded to populate the app?",[87],{"id":88,"by":89,"text":90},"20039964","tenaciousDaniel","I got a content warning when I exported, because the format is json. Is the intention to do something like draw.io, where you can re-upload the file to populate the data into the…",[92],{"value":93,"source":54,"evidence":94},"draw.io",[95],{"id":88,"by":89,"text":90},{"comments":32,"answered":33,"key":97},[98,101],{"id":99,"text":100},"20042971","Thanks. I'll think about the password. Right now more than one person could claim a username but they will only decrypt what they can with their password. Because of that it's…",{"id":74,"text":75},{"commenters":34,"max_depth":34,"maker_replies":32,"first_comment_mins":103,"lifespan_hours":104},432,43,[106,108,110,111,113],[57,31,34,107,58,31],"project\u002Fmixed\u002Fprivacy",[99,31,31,109,11,33],"maker\u002Fneutral\u002Fprivacy",[81,31,34,109,58,31],[88,33,34,112,89,31],"project\u002Fneutral\u002Fdesign",[74,33,31,114,11,33],"project\u002Fneutral\u002Fidea",[],[117,122,127,131,136,140],{"id":118,"name":119,"points":120,"category":121},"20012687","nextdns.io",372,"infrastructure",{"id":123,"name":124,"points":125,"category":126},"20008466","tiptap",278,"dev_tools",{"id":128,"name":129,"points":130,"category":126},"20033728","Endoflife.date",248,{"id":132,"name":133,"points":134,"category":135},"20001339","Workstation",206,"consumer_social",{"id":137,"name":138,"points":139,"category":126},"20019877","youtube-dl-interactive",196,{"id":141,"name":142,"points":143,"category":144},"20024448","Imgsquash",178,"creative",13,false,"v2",{"id":149,"name":5,"line":6,"ai":146,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":150,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":151,"url":9,"mix":152,"praise":53,"objection":62,"sub":21},20036195,[24,25,26,27],"30330",[31,32,33,31],1794036577959]