[{"data":1,"prerenderedAt":256},["ShallowReactive",2],{"project-crazy-curves":3,"policy-crazy-curves":104},{"id":4,"title":5,"available":6,"badges":7,"body":11,"client":79,"date":80,"description":81,"development":82,"duration":83,"extension":84,"image":85,"meta":86,"navigation":6,"path":87,"preview_type":10,"privacy":88,"role":89,"seo":90,"short_description":91,"status":92,"stem":93,"technology":94,"url":101,"weight":102,"__hash__":103},"projects/projects/crazy-curves.md","Crazy Curves",true,[8,9,10],"code","design","mobile",{"type":12,"value":13,"toc":75},"minimark",[14,21,24,58,61,72],[15,16,17,20],"p",{},[18,19,5],"strong",{}," is a mobile puzzle game where you rotate tiles to connect colorful curves into closed loops. Simple to pick up, but with 1000 levels of escalating difficulty and 15+ special tile types, it becomes a serious brain workout.",[15,22,23],{},"The game starts gently - small grids, two colors, basic tiles. But as you progress, new mechanics are introduced that completely change how you approach each puzzle:",[25,26,27,34,40,46,52],"ul",{},[28,29,30,33],"li",{},[18,31,32],{},"Ice"," tiles slide two steps at once",[28,35,36,39],{},[18,37,38],{},"Fire"," tiles rotate all their neighbors when you touch them",[28,41,42,45],{},[18,43,44],{},"Teleport"," tiles act as portals - their neighbors see the partner's curves instead",[28,47,48,51],{},[18,49,50],{},"Poison"," curves spread through your connected lines, forcing you to isolate them",[28,53,54,57],{},[18,55,56],{},"Ghost"," tiles go invisible after the first rotation - memorize fast",[15,59,60],{},"Every modifier has a strategic purpose. There are no decorative-only tiles - each one forces you to rethink your approach.",[15,62,63,64,67,68,71],{},"Beyond the main campaign, there's a ",[18,65,66],{},"Daily Challenge"," with streak tracking, and an ",[18,69,70],{},"Endless Mode"," that procedurally generates puzzles forever. The game supports 4 languages, multiple color palettes (including colorblind-friendly), and works fully offline.",[15,73,74],{},"Built with Nuxt 3, rendered entirely in SVG, and shipped as a native Android app via Capacitor. Levels are generated algorithmically with a seeded PRNG - same initial state on every device.",{"title":76,"searchDepth":77,"depth":77,"links":78},"",2,[],"Personal Project","2026-04-04","Crazy Curves is a mobile puzzle game where you rotate tiles to connect colorful curves into closed loops. Simple to pick up, but with 1000 levels of escalating difficulty and 15+ special tile types, it becomes a serious brain workout.",false,"~2 months","md","crazy-curves.png",{},"/projects/crazy-curves","crazy-curves","Fullstack Developer",{"title":5,"description":81},"Mobile puzzle game: rotate tiles to connect colorful curves across 1000 levels","Active","projects/crazy-curves",[95,96,97,98,99,100],"nuxt","vue","typescript","tailwind","capacitor","svg","https://play.google.com/store/apps/details?id=com.crazycurves.app",90,"oyVf0QJc4_-gBhk1-97Rsv2dHrJab_FpbFoWQuqBzvA",{"id":105,"title":106,"body":107,"description":250,"extension":84,"meta":251,"navigation":6,"path":252,"seo":253,"stem":254,"__hash__":255},"privacies/privacies/crazy-curves.md","Privacy Policy — Crazy Curves",{"type":12,"value":108,"toc":240},[109,113,119,124,127,131,148,152,159,163,170,173,191,194,202,206,209,213,216,220,223,227,230],[110,111,106],"h1",{"id":112},"privacy-policy-crazy-curves",[15,114,115,118],{},[18,116,117],{},"Last updated:"," April 4, 2026",[120,121,123],"h2",{"id":122},"overview","Overview",[15,125,126],{},"Crazy Curves is a puzzle game developed by FoxCode. Your privacy is important to us. This policy explains what data we collect (and don't collect) when you use our app.",[120,128,130],{"id":129},"data-we-do-not-collect","Data We Do NOT Collect",[25,132,133,136,139,142,145],{},[28,134,135],{},"No personal information (name, email, phone number)",[28,137,138],{},"No location data",[28,140,141],{},"No contacts or device identifiers",[28,143,144],{},"No usage analytics or tracking",[28,146,147],{},"No account registration required",[120,149,151],{"id":150},"local-data","Local Data",[15,153,154,155,158],{},"All game progress (completed levels, stars, settings, language preferences) is stored ",[18,156,157],{},"locally on your device only",". We do not have access to this data. Uninstalling the app will delete all local data.",[120,160,162],{"id":161},"advertising","Advertising",[15,164,165,166,169],{},"Crazy Curves uses ",[18,167,168],{},"Google AdMob"," to display optional rewarded advertisements. These ads are shown only when you choose to watch them in exchange for an in-game hint.",[15,171,172],{},"Google AdMob may collect certain data as described in Google's privacy policy:",[25,174,175,184],{},[28,176,177],{},[178,179,183],"a",{"href":180,"rel":181},"https://policies.google.com/privacy",[182],"nofollow","Google Privacy Policy",[28,185,186],{},[178,187,190],{"href":188,"rel":189},"https://policies.google.com/technologies/partner-sites",[182],"How Google uses information from apps",[15,192,193],{},"You can opt out of personalized ads in your device settings:",[25,195,196],{},[28,197,198,201],{},[18,199,200],{},"Android:"," Settings > Google > Ads > Opt out of Ads Personalization",[120,203,205],{"id":204},"childrens-privacy","Children's Privacy",[15,207,208],{},"Crazy Curves does not knowingly collect any personal data from children. The app contains no social features, user-generated content, or account systems.",[120,210,212],{"id":211},"third-party-services","Third-Party Services",[15,214,215],{},"The only third-party service used is Google AdMob for optional rewarded ads. No other third-party SDKs, analytics, or tracking services are integrated.",[120,217,219],{"id":218},"changes-to-this-policy","Changes to This Policy",[15,221,222],{},"We may update this privacy policy from time to time. Any changes will be reflected in the \"Last updated\" date above.",[120,224,226],{"id":225},"contact","Contact",[15,228,229],{},"If you have any questions about this privacy policy, please contact us at:",[15,231,232,235,236],{},[18,233,234],{},"Email:"," ",[178,237,239],{"href":238},"mailto:contact@foxcode.dev","contact@foxcode.dev",{"title":76,"searchDepth":77,"depth":77,"links":241},[242,243,244,245,246,247,248,249],{"id":122,"depth":77,"text":123},{"id":129,"depth":77,"text":130},{"id":150,"depth":77,"text":151},{"id":161,"depth":77,"text":162},{"id":204,"depth":77,"text":205},{"id":211,"depth":77,"text":212},{"id":218,"depth":77,"text":219},{"id":225,"depth":77,"text":226},"Last updated: April 4, 2026",{},"/privacies/crazy-curves",{"title":106,"description":250},"privacies/crazy-curves","Q9eAUFBgCm1jqie8bcjJt1h2soxjReAB4TTUHx4saPw",1776886073797]