<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[edgaras.com]]></title>
        <description><![CDATA[Edgaras is a Software Designer and Developer]]></description>
        <link>https://edgaras.com/</link>
        <generator>RSS for Node</generator>
        <lastBuildDate>Tue, 17 Mar 2026 05:45:53 GMT</lastBuildDate>
        <atom:link href="https://edgaras.com/feed.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Tue, 17 Mar 2026 05:45:52 GMT</pubDate>
        <copyright><![CDATA[Copyright 2026, Edgaras Benediktavicius]]></copyright>
        <language><![CDATA[en-US]]></language>
        <managingEditor><![CDATA[hi@edgaras.com (Edgaras Benediktavicius)]]></managingEditor>
        <webMaster><![CDATA[hi@edgaras.com (Edgaras Benediktavicius)]]></webMaster>
        <ttl>60</ttl>
        <item>
            <title><![CDATA[🤝 Design Meets Code #6]]></title>
            <description><![CDATA[<p>Hi, welcome to the sixth issue of the Design Meets Code newsletter!</p>
<p>Here&#39;s what caught my attention this week:</p>
<hr>
<h2>⭐ The Story of the Week</h2>
<h3>Emerging AI Video Niches</h3>
<p><img src="/images/posts/ai-shows.jpeg" alt="AI generated series">
(<a href="https://www.qwick.tv/watch/series/I9GBRT9xpK2FiCkKkATZ/1">Manquind</a>)</p>
<p>The landscape of video content creation is on the brink of transformation. While established players like Netflix remain cautious, innovative platforms are emerging that leverage AI to generate and monetize video content at scale. This shift isn&#39;t just about technology – it&#39;s about new business models that could reshape how we create and consume video content.</p>
<p>A recent example is <a href="https://www.qwick.tv/">qwick.tv</a> that enables creators to generate, monetize, and distribute AI-created video series. This represents a growing trend where early movers are establishing themselves in the AI-generated content space while traditional media companies watch from the sidelines.</p>
<p>The implications are significant:</p>
<ul>
<li>Lower barriers to entry for content creators</li>
<li>Rapid content iteration and personalization</li>
<li>New monetization models for AI-generated content</li>
<li>First-mover advantage in an emerging market</li>
</ul>
<p>As AI video generation technology matures, we&#39;re likely to see more platforms and tools emerge that bridge the gap between creative vision and technical execution.</p>
<hr>
<h2>My top picks of the week:</h2>
<p>🥇 <strong>Design and Build iOS app with AI</strong>: Build and design an AI image generator app for iOS without ANY design or coding experience, as shown in <a href="https://x.com/ammaar/status/1860767695135973842">this Twitter article</a>.</p>
<p><img src="/images/posts/ios-app-with-ai.jpeg" alt="Design and Build iOS app with AI"></p>
<p>🥈 <strong>Figma to AI Code Plugin</strong>: <a href="https://www.figma.com/community/plugin/1443774571835235184/figma-to-ai-code-by-designcode">Transform Figma designs into code</a> with AI, powered by Claude AI and GPT-4, converting your designs into production-ready code across multiple frameworks (React, SwiftUI, Flutter, and more), complete with responsive layouts and best practices.</p>
<p>🥉 <strong>Anthropic&#39;s Model Context Protocol</strong>: <a href="https://www.anthropic.com/news/model-context-protocol">Model Context Protocol (MCP)</a> is a new open-source tool from Anthropic (makers of Claude) that helps AI assistants talk directly to your data sources and tools like Google Drive and Slack. Think of it as a universal translator between AI and your data, making it much simpler to build AI-powered apps that can access real-world information.</p>
<hr>
<h2>The gems of the week</h2>
<p>💠 <strong>Chrome&#39;s AI evolution</strong>: Google is <a href="https://www.youtube.com/watch?v=J3VTXzdMPEg">bringing experimental AI tools</a> directly into the Chrome browser, signaling a shift towards more integrated AI assistance in our daily browsing experience.</p>
<p>💠 <strong>Cursor Code Editor&#39;s AI Agent</strong>: <a href="https://changelog.cursor.com/">Cursor code editor</a> got a new AI agent that smartly handles context selection, terminal commands, and git commit messages - making development more seamless.</p>
<p>💠 <strong>Lee Robinson&#39;s AI Fundamentals</strong>: Lee Robinson&#39;s <a href="https://leerob.com/n/ai">comprehensive guide</a> breaks down complex AI concepts like neural networks, deep learning, and transformers into digestible explanations for engineers. It covers the journey from raw data to functioning AI models, including key processes like tokenization, pretraining, and fine-tuning.</p>
<p><img src="/images/posts/neural-network.jpeg" alt="Neural Network"></p>
<p>💠 <strong>Understanding AT Protocol</strong>: While ActivityPub (used by Mastodon) connects servers to servers, <a href="https://www.youtube.com/watch?v=wJBCpzM1VfM">AT Protocol</a> (used by BlueSky) takes a different approach by separating identity from data. Key advantages:</p>
<ul>
<li>Use your domain as your universal handle</li>
<li>Own your data through Personal Data Server (PDS)</li>
<li>Future-proof identity across platforms</li>
<li>Better scalability through efficient indexing</li>
</ul>
<p>💠 <strong>Frontend Landscape 2024</strong>: The <a href="https://www.youtube.com/watch?v=FIYurQvJY2E">State of Frontend 2024</a> survey reveals interesting trends:</p>
<ul>
<li>90% TypeScript adoption</li>
<li>70% React usage (and well-liked)</li>
<li>36% Vercel adoption (surpassing AWS at 32%)</li>
<li>Traditional CSS tools still dominate despite new alternatives</li>
<li>Svelte and HTMX are the most &quot;wanted to learn&quot; technologies</li>
</ul>
<p>💠 <strong>Jupyter for JavaScript</strong>: Happend in September, but still relevant - Deno brings Jupyter notebooks to JavaScript, opening new possibilities for interactive development and data visualization in the JavaScript ecosystem.</p>
<p><img src="/images/posts/deno-jupyter.jpeg" alt="JavaScript Jupyter Notebook"></p>
<p>💠 <strong>Web Design Inspiration</strong>: <a href="https://tympanus.net/codrops/demos/">Tympanus Codrops</a> remains one of the most active sources of interactive web inspiration in 2024, consistently publishing high-quality demos spanning WebGL, 3D, animations and creative UI - their latest additions showcase cutting-edge techniques with React Three Fiber, Motion and WebGPU, all freely available under MIT license.</p>
<p><img src="/images/posts/typanus-codrops.jpeg" alt="Tympanus Codrops"></p>
<p>💠 <strong>Photo Gradient Tool</strong>: A new <a href="https://photogradient.com/">Photo Gradient tool</a> is available as a <a href="https://www.figma.com/community/plugin/1438020299097238961/photo-gradient">Figma Plugin</a> and web app.</p>
<p><img src="/images/posts/photogradient.jpeg" alt="Photo Gradient"></p>
<p>💠 <strong>Meshy AI for 3D Models</strong>: <a href="https://www.meshy.ai/">Meshy AI</a> lets creators turn 2D images into textured, animated 3D models through a simple upload-and-generate process, predicted to be revolutionizing technology for 3D in 2025.</p>
<p><img src="/images/posts/meshy.jpeg" alt="Meshy AI"></p>
<p>💠 <strong>Auini.ai for Moving 3D Characters</strong>: <a href="https://aiuni.ai/">Auini.ai</a> - another interesting tool, turns videos into moving 3D characters.</p>
<p>💠 <strong>Trio Design&#39;s Lean Approach</strong>: <a href="https://www.trio.design/">Trio.design</a> - An interesting approach to app design services - they focus on designing just 3 core screens with components and style guides. They target developers get the design direction they need while keeping the project lean. They deliver editable Figma files within 72 hours.</p>
<p><img src="/images/posts/triodesign.jpeg" alt="3 screens"></p>
<p>💠 <strong>The Second-Hand Story Effect</strong>: A powerful insight about <a href="https://www.youtube.com/watch?v=LZEh-QTim2Q">idea communication</a>: &quot;Optimize for the re-telling of your idea – chances are you get one shot to say it how you want to say it, and then you&#39;re dependent on that person to rearticulate your idea in your absence.&quot;</p>
<p>For your design ideas to spread, make them:</p>
<ul>
<li>Concise: Strip to the essential concept</li>
<li>Memorable: Give it a sticky name</li>
<li>Sharable: Easy for others to explain in your absence</li>
</ul>
<hr>
<p>That&#39;s it for this week!</p>
<p>Found something useful? Got cool stuff to share? I&#39;d love to hear about it. Drop me a line – your finds might make it into next week&#39;s issue.</p>
<p>If you know someone who&#39;d like this too, feel free to pass it along!</p>
<p>Stay curious,<br>Edgaras</p>
]]></description>
            <link>https://edgaras.com/design-meets-code-6</link>
            <guid isPermaLink="true">https://edgaras.com/design-meets-code-6</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Tue, 10 Dec 2024 15:22:40 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[🤝 Design Meets Code #5]]></title>
            <description><![CDATA[<p>Hi! Welcome to the fifth issue of the Design Meets Code newsletter!</p>
<p>Here&#39;s what caught my attention this week:</p>
<h2>⭐ The Story of the Week</h2>
<h3>BlueSky’s Social Media Revolution</h3>
<p><a href="https://bsky.app/">BlueSky</a>, born from a Twitter research project in 2019, is making waves in social media. After hitting #1 on the US App Store and seeing a massive influx of users from X (formerly Twitter), the platform has grown to 22 million users with notably high engagement rates.</p>
<p>What makes BlueSky different is its &quot;AT Protocol&quot; - think email for social media. You get an address like <code>@user.bsky.social</code> that works independently of any single app, giving you unprecedented control over your social experience. You can:</p>
<ul>
<li>Keep your identity across platforms</li>
<li>Choose your preferred content algorithms</li>
<li>Maintain connections between services</li>
<li>Create custom feeds and filters</li>
</ul>
<p>The web and mobile platform is built on modern tech <a href="https://reactnative.dev/">React Native</a> and <a href="https://expo.dev/">Expo</a> and is completely open source, with its <a href="https://github.com/bluesky-social/social-app">211,000-line codebase</a> available for anyone to examine or build upon. This transparency has attracted notable developers like <a href="https://bsky.app/profile/danabra.mov">Dan Abramov</a> from React.</p>
<p>With $23M in funding and a subscription-based revenue model, BlueSky is working toward a stable AT Protocol 1.0 release. Their focus on openness and interoperability could reshape how we think about social media, making it more like the open web than a walled garden.</p>
<p>Some interesting related resources:</p>
<ul>
<li>Read this <a href="https://bsky.app/profile/pfrazee.com/post/3l6xwi52zti2y">thread about how it works</a> from a core developer of the AP protocol - Paul Frazee</li>
<li>Create your <a href="https://bsky.social/about/blog/06-26-2024-starter-packs">Starter Pack</a> - a personalized invitation bundle with your favorite follows and feeds to help friends find their community.</li>
<li>Check out <a href="https://bsky.app/starter-pack/edgaras.com/3lbh7gtnnaq2o">Design Meets Code starter pack</a></li>
<li><a href="https://sdk.blue/">Collection of libraries &amp; SDKs</a> for starting to build with BlueSky.</li>
<li>If you wanna dive really deep, check out <a href="https://atproto.com/">AT Protocol docs</a> to develop apps/addons on top of the BlueSky or even launch your own PSD (Personal Data Server)</li>
</ul>
<h2>My top picks of the week:</h2>
<p>🥇 <strong>The CMS for Next.js</strong>: Payload CMS 3.0 is stable and production ready! For Next.js website development, Payload is now a first-class citizen providing CMS and admin interface. The admin dashboard is generated automatically through configuration files. Payload 3 marks a major evolution with its Next.js native architecture, allowing developers to run both CMS backend and admin panel directly in their Next.js apps without separate deployments. It introduces powerful features like database joins, advanced querying, improved rich text editing, and a robust jobs queue system. Check out their <a href="https://www.youtube.com/watch?v=5E9ZDXOk0_8">announcement video</a> and <a href="https://github.com/payloadcms/payload/tree/main/templates">templates</a>.</p>
<p>🥈 <strong>Jaguar&#39;s Controversial Rebrand</strong>: The <a href="https://www.jaguar.com/copy-nothing/index.html">&quot;Copy nothing&quot; campaign</a> sparked a design community backlash, with designers creating satirical logo variations and mocking the rebrand. However, all this attention might actually benefit Jaguar in their build-up to the final product line reveal - sometimes there&#39;s no such thing as bad publicity.</p>
<p>🥉 <strong>OpenSourcers Around the Globe</strong>: Explore the <a href="https://github.com/gayanvoice/top-github-users/tree/main/markdown/public_contributions">top GitHub contributors by country</a> 🌏</p>
<h2>The gems of the week:</h2>
<p>💠 <strong>Pricing Strategy</strong>: Hunter Hammonds shares insights on <a href="https://x.com/_hunterhammonds/status/1859606050917228677">how to price design services</a>. Project-based work offers the best balance of profitability (50%+ margins) and client satisfaction, while subscription models tend to have lower value capture despite being easier to sell.</p>
<p>💠 <strong>Women-First Design</strong>: The <a href="https://womencentricdesign.notion.site/women-centric-design-handbook-ebeb3bba397f45b9b2759d25c0db05fc">Woman-centric design handbook</a> provides a comprehensive toolkit with frameworks and methodologies for designing products that better serve women&#39;s needs. Includes practical examples and exercises, available in multiple languages.</p>
<p>💠 <strong>Software Deal Discovery</strong>: Fellow solo founder <a href="https://x.com/d4m1n">Dan</a> has created <a href="https://rarebigdeal.com/">Rare Big Deal</a> - a curated platform for discovering genuine deals and discounts on selected SaaS, software, apps &amp; services during Black Friday and Cyber Monday.</p>
<p>💠 <strong>The Fastest GitHub Search</strong>: Vercel acquires <a href="https://grep.app/">Grep</a> - the fastest search engine for code across half a million GitHub repositories.</p>
<p>💠 <strong>My Favourite Web Analytics Tool</strong>: <a href="https://umami.is/">Umami</a>, the free and open-source web analytics platform, introduces <a href="https://umami.is/docs/reports/report-revenue">Revenue Reports</a> in v2.14, helping identify the most profitable website pathways.</p>
<p>💠 <strong>Learning SEO</strong>: This week I&#39;m diving into search engine optimization to drive free organic traffic. I bought <a href="https://www.dannypostma.com/seo-course?via=edgaras">Danny Postma&#39;s SEO course</a> (affiliate link) - worth checking out if you want to reduce dependence on paid marketing.</p>
<h3>AI</h3>
<p>💠 <strong>Free AI Moderation</strong>: Just discovered - OpenAI offers a FREE moderation API - a fine-tuned model that can detect whether text may be sensitive or unsafe. Thanks to <a href="https://x.com/LinasLekavicius">Linas Lekavicius</a> for <a href="https://x.com/LinasLekavicius/status/1858901382473892239">pointing it out</a>.</p>
<p>💠 <strong>AI is Challenging Engineering</strong>: <a href="https://bolt.new">Bolt.new</a>, <a href="https://v0.dev/">v0</a>, <a href="https://www.cursor.com/">Cursor</a>, <a href="https://codeium.com/windsurf">Windsurf</a> and <a href="https://claude.ai/">Claude</a> continue to challenge the software development market, enabling MVP launches in minutes/hours at zero cost instead of thousands of dollars.</p>
<p>💠 <strong>AI Industry Move</strong>: Amazon <a href="https://www.cnbc.com/2024/11/22/amazon-to-invest-another-4-billion-in-anthropic-openais-biggest-rival.html">doubles down on AI</a> with an additional $4B investment in Anthropic (creator of Claude), intensifying competition with OpenAI.</p>
<p>💠 <strong>AI-Powered Gradients</strong>: Justin Jay Wang, Designer at OpenAI, <a href="https://justinjay.wang/methods-for-random-gradients/">shares some methods</a> for generating beautiful gradients using AI techniques.</p>
<p>💠 <strong>Ben Affleck on AI in Hollywood</strong>: <a href="https://www.youtube.com/watch?v=07XJicGWMVo">Ben Affleck shares his opinion</a> on how artificial intelligence might impact the film industry.</p>
<h3>Design Systems</h3>
<p>💠 <strong>eBay Enterprise Design System</strong>: eBay openly shares their new Design System called <a href="https://playbook.ebay.com/">eBay Playbook</a>. Packed with valuable insights and featuring a beautifully crafted documentation website.</p>
<p>💠 <strong>Design System Evolution</strong>: There&#39;s a growing shift towards lighter-weight &quot;design toolkits&quot; that provide reusable components without enterprise overhead. Successful startups like Perplexity and Cron prove you don&#39;t need product-market fit to start building basic design blocks. Learn more in this <a href="https://www.youtube.com/watch?v=F7yTiO8mUBk">detailed analysis</a>.</p>
<p>💠 <strong>Design Documentation</strong>: <a href="https://www.figmayo.com/">Fig Mayo</a> caught my attention as a promising tool for bridging the gap between design and development documentation. It helps teams align on both code and visual components - though I haven&#39;t tried it personally yet.</p>
<p>💠 <strong>Dev Tools Update</strong>: Figma enhances developer experience by making Figma Variables visible in Dev Mode.</p>
<p>💠 <strong>Design System Metrics</strong>: Building Design Systems can be resource-intensive. Here are actionable <a href="https://thedesignsystem.guide/design-system-metrics">Design System Metrics</a> to help measure ROI and effectiveness.</p>
<h2>Quote of the week</h2>
<blockquote>
<p>Fill your bowl to the brim
and it will spill.</p>
<p>Keep sharpening your knife
and it will blunt.</p>
<p>Chase after money and security
and your heart will never unclench.</p>
<p>Care about people&#39;s approval
and you will be their prisoner.</p>
<p>Do your work, then step back.
The only path to serenity.</p>
<p>— Laozi</p>
</blockquote>
<p>That&#39;s it for this week!</p>
<p>Found something useful? Got cool stuff to share? I&#39;d love to hear about it. Drop me a line – your finds might make it into next week&#39;s issue.</p>
<p>If you know someone who&#39;d like this too, feel free to pass it along!</p>
<p>Stay curious,<br>Edgaras</p>
]]></description>
            <link>https://edgaras.com/design-meets-code-5</link>
            <guid isPermaLink="true">https://edgaras.com/design-meets-code-5</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Sun, 24 Nov 2024 19:36:57 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[🤝 Design Meets Code #4]]></title>
            <description><![CDATA[<p><a href="https://x.com/LouisShulman/status/1856186320898425089">A post by Louis Shulman</a> caught my eye this week about the hidden benefits of sharing content consistently.</p>
<p>Every week, digging back through my design, code and online business bookmarks, picking what&#39;s worth your time, and connecting the dots between different ideas – it all sharpens my own thinking and understanding.</p>
<p>As Louis puts it: &quot;The greatest return from publishing content isn&#39;t publishing, it&#39;s the work involved in creation.&quot; For me, it&#39;s the work of curation, of staying curious, of keeping my eye on the trends of what matters in design and development. Each newsletter becomes a snapshot of our industry&#39;s evolution, forcing me to reflect more deeply about where we&#39;re headed.</p>
<p>Now, here&#39;s what caught my eye this week:</p>
<hr>
<h2>My top picks of the week:</h2>
<p>🥇 <a href="https://codeium.com/">Codeium</a>&#39;s <a href="https://codeium.com/windsurf">Windsurf</a> is making waves as the new &quot;agentic IDE&quot; that could dethrone <a href="https://www.cursor.com/">Cursor</a>, with <a href="https://x.com/search?q=windsurf&src=typed_query">developers praising</a> its superior codebase understanding and seamless AI flows that &quot;feel like magic&quot;.</p>
<p>🥈 The data from 2.5 million sign-ins shows that <a href="https://x.com/tweetsbycolin/status/1857900968245072087">Sign in with Google is the fastest and most popular authentication method</a> (3.86 seconds, 65% usage), followed by traditional passwords (7.22 seconds, 27%), while &quot;Magic Links&quot; are the slowest and least used option (56.85 seconds, 1.6% usage), demonstrating <a href="https://clerk.com/">Clerk</a>&#39;s success in guiding developers toward more efficient authentication strategies.</p>
<p>🥉 <a href="https://www.relume.io/ai-style-guide-builder">Reloom has introduced a new AI-powered style guide builder</a> feature that allows users to transform wireframes into complete design concepts with automated color palettes and typography, which can be customized, compared, and shared with clients before exporting to Figma or Webflow.</p>
<hr>
<h2>Development picks</h2>
<p>💠 <a href="https://stripe.dev/blog/adding-payments-to-your-agentic-workflows">Stripe launched a new agent toolkit</a> that lets AI applications handle payments and financial services directly, integrating with major frameworks like <a href="https://sdk.vercel.ai/">Vercel AI SDK</a>, <a href="https://www.langchain.com/">LangChain</a> and <a href="https://www.crewai.com/">CrewAI</a> to enable automated billing, payments, and virtual card generation for AI workflows.</p>
<p>💠 <a href="https://motion.dev/blog/framer-motion-is-now-independent-introducing-motion">Framer Motion is now Motion</a> - Popular animation library goes independent as &quot;Motion&quot;, expanding beyond React to serve all web developers from its new <a href="https://motion.dev/">motion.dev</a> home.</p>
<p>💠 <a href="https://www.youtube.com/watch?v=5GG-VUvruzE">In 30 min, learn how to handle permissions/authorization</a> - ABAC (Attribute-Based Access Control) evaluates 4 elements for permissions: Who is doing it? (subject), What are they doing? (action), What are they doing it to? (resource), and What&#39;s the context? (environment) - way more flexible than just checking roles.</p>
<p>💠 <a href="https://x.com/MengTo/status/1857427477079232667">You can build iOS apps with Cursor and Claude AI even as a beginner</a></p>
<p>💠 <a href="https://www.youtube.com/watch?v=ceJ82RaW9mM">5 techniques to build gradients on the Web</a></p>
<hr>
<h2>Design picks</h2>
<p>💠 <a href="https://uxdesign.cc/reimagining-prototyping-with-ai-b6beb1105974">Reimagining prototyping with AI</a> - Companies used to skip prototyping due to time constraints, but AI now turns written descriptions into functional prototypes in seconds, revolutionizing how products are validated before launch.</p>
<p>💠 <a href="https://medium.com/@NateBaldwin/design-tokens-authoring-vs-consuming-82762e699580">Design tokens: authoring vs consuming</a> - We&#39;ve been doing tokens wrong! They should work like a CMS database with unique IDs, not fancy hierarchical variables.</p>
<p>💠 <a href="https://www.designsystems.com/">DesignSystems.com</a> - guides, articles, design ops tips, Figma resources.</p>
<p>💠 <a href="https://x.com/graceongrid/status/1857217158109163887">How designers are using AI images in their client work</a></p>
<p>💠 <a href="https://x.com/figma/status/1856772325741662363">Figma updates their eyedropper tool</a> which now can grab much more than just a color value</p>
<p>💠 <a href="https://www.youtube.com/watch?v=G0ZCZgmhOI0">Final Cut Pro 11 introduces AI-powered features</a> like Magnetic Mask for subject isolation and Transcribe to Captions, plus native spatial video editing support for Apple Vision Pro, also enhanced iPad features and Final Cut Camera updates for iPhone 16 Pro.</p>
<p>💠 <a href="https://lab01.dev/#ui-experiment-1">A new UI styling trend</a>. What should we call it though?</p>
<h2>Business picks</h2>
<p>💠 My buddy <a href="https://tomaslau.com/">Tomas</a> discovered <a href="https://polar.sh/">Polar.sh</a>, a developer-focused payment platform and Merchant of Record (MoR) that handles all the global tax/VAT complexities for you. It lets you monetize everything from private GitHub repos to Discord access in minutes, with built-in analytics and issue funding – all while charging zero monthly fees. They take 4% + 40¢ per transaction, which is reasonable compared to competitors.</p>
<p>💠 How two founders at Tally <a href="http://blog.tally.so/bootstrapping-to-150k-mrr-by-doing-less-better/">turned &quot;boring&quot; forms into $150K MRR</a> by going against every SaaS playbook: unlimited free tier, no feature bloat, and a text-based builder that designers actually enjoy using.</p>
<p>💠 <a href="https://x.com/NotionHQ/status/1857194880759746783">Complete hiring system built without code in Notion</a>, using new connected workflows - Sites, Forms, Databases, Charts, Layouts, Automations and Mail.</p>
<hr>
<h2>Quote of the week</h2>
<blockquote>
<p>Talking is faster than typing.</p>
<p>Reading is faster than listening.</p>
<p>AI bridges the gap</p>
</blockquote>
<p>— Sahil Lavingia</p>
<hr>
<p>That&#39;s it for this week!</p>
<p>Found something useful? Got cool stuff to share? I&#39;d love to hear about it. Drop me a line – your finds might make it into next week&#39;s issue.</p>
<p>If you know someone who&#39;d like this too, feel free to pass it along!</p>
<p>Stay curious,<br>Edgaras</p>
]]></description>
            <link>https://edgaras.com/design-meets-code-4</link>
            <guid isPermaLink="true">https://edgaras.com/design-meets-code-4</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Sun, 17 Nov 2024 19:20:47 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[🤝 Design Meets Code #3]]></title>
            <description><![CDATA[<p>Hi! Welcome to the third issue of the Design Meets Code newsletter! I usually send these on Sundays, but this one&#39;s running a bit late.</p>
<p>Now, here&#39;s what caught my eye this week:</p>
<hr>
<h2>My top picks of the week:</h2>
<p>🥇 <a href="https://claude.ai">Claude</a> can now edit content in place and interact with devices - from adding UFC events to calendars to analyzing construction site safety videos. AI assistants are becoming more capable of real-world interactions.</p>
<p>🥈 <a href="https://www.better-auth.com/">Better Auth</a> is approaching v1 release - promising to become the most comprehensive, framework-agnostic authentication library for TypeScript. Perfect for developers who want to focus on building their application rather than reinventing wheel.</p>
<p>🥉 Shopify&#39;s <a href="https://www.shopify.com/mobile">mobile app</a>, used by millions of merchants worldwide, just completed a <a href="https://x.com/mustafa01ali/status/1853619638141071573">massive migration to React Native</a>. The successful transition of such a large-scale app proves React Native&#39;s maturity and reliability for enterprise applications. As Steven Tey puts it - <a href="https://x.com/steventey/status/1853695567446388944">Never bet against React</a>!</p>
<hr>
<h2>Development picks</h2>
<p>💠 <a href="https://aman.ai/primers/ai/top-30-papers/">Ilya Sutskever shares his &quot;30 Essential Reads for Mastering AI&quot;</a> - a curated list promising &quot;90% of what matters today&quot; in AI understanding.</p>
<p>💠 Point-in-time recovery feature in PostgreSQL proves its worth - as demonstrated by <a href="https://x.com/marckohlbrugge/status/1855715781763567798">Marc Köhlbrugge&#39;s production database save</a>. A reminder of why proper database management is crucial.</p>
<p>💠 <a href="https://cursor.directory/">Cursor Directory</a> - add a .cursorrules file to your project for enhanced Cursor Chat and Ctrl/⌘ K features. Make your project&#39;s AI assistance more specific and effective.</p>
<p>💠 <a href="https://github.com/turbostarter/extro">Extro</a> - an open-source browser extension starter kit making Chrome extension development even easier.</p>
<p>💠 NVIDIA and Vercel are organizing <a href="https://shortest-hackathon.vercel.app/">&quot;the world&#39;s shortest hackathon&quot;</a> - a 2-hour coding challenge with the chance to win a GPU signed by Jensen Huang.</p>
<p>💠 <a href="https://icons.pqoqubbw.dev/">Beautifully crafted animated icons</a> - a new open-source (MIT License) collection built with <a href="https://www.framer.com/motion/">Framer Motion</a> and <a href="https://lucide.dev/icons/">Lucide Icons</a>.</p>
<hr>
<h2>Design picks</h2>
<p>💠 <a href="https://photogradient.com/">Image to Mesh Gradient</a> - a new tool that creates beautiful gradients from uploaded photos.</p>
<p>💠 <a href="https://redesigningdesign.systems/component-process/getting-started.html">A practical guide to Design System components</a> - an in-depth free guide for building better design systems.</p>
<p>💠 <a href="https://x.com/dhh/status/1853517913745137698">DHH&#39;s perspective on V1</a>: &quot;V1 should be for you, not an MVP. Because you&#39;re not just building blind for some imaginary user, you&#39;re building for yourself first.&quot;</p>
<hr>
<h2>Business picks</h2>
<p>💠 <a href="https://x.com/_hunterhammonds/status/1855328270490697966">Hunter Hammonds shares the &quot;master plan&quot;</a> for sustainable business growth: Start with services, maintain high margins, accumulate cash, and experiment incrementally.</p>
<p>💠 <a href="https://x.com/girdley/status/1853089783662432535">The 5 Steps to Effective Delegation</a>:</p>
<ol>
<li>Output/end result: Define what <strong>done</strong> looks like</li>
<li>Purpose: Explain the <strong>why</strong> behind the task</li>
<li>Inputs: Provide necessary resources</li>
<li>Constraints: Set clear parameters</li>
<li>Next steps: Establish check-in points</li>
</ol>
<hr>
<h2>Quote of the week</h2>
<blockquote>
<p>&quot;Be fucking impossible to ignore.
Stand so tall that they can&#39;t look
past you. Intoxicate with your
presence. Be notorious. Remain
on people&#39;s minds. Flow so freely
that they&#39;ll be scared of drowning
in your thoughts. Don&#39;t be taken
lightly. Be sure of yourself.
Be irreplaceable. Move so fast that
no one can see where you&#39;re going.
Give them something to chase,
but never let them catch up with you.
Be more than what they bargained for.
Make them hate you for being so
fucking good. Burn so brightly that
you catch the whole world on fire.&quot;</p>
</blockquote>
<p>— <a href="https://x.com/gfdaco/status/1728125707761410508">GFDA</a></p>
<hr>
<p>That&#39;s it for this week!</p>
<p>Found something useful? Got cool stuff to share? I&#39;d love to hear about it. Drop me a line – your finds might make it into next week&#39;s issue.</p>
<p>If you know someone who&#39;d like this too, feel free to pass it along!</p>
<p>Stay curious,<br>Edgaras</p>
]]></description>
            <link>https://edgaras.com/design-meets-code-3</link>
            <guid isPermaLink="true">https://edgaras.com/design-meets-code-3</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Sun, 17 Nov 2024 19:19:06 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[🤝 Design Meets Code #2]]></title>
            <description><![CDATA[<p>Hi! Welcome to the second issue of the Design Meets Code newsletter! I&#39;m building a new habit of summarizing my weekly discoveries and sharing them with you.</p>
<p>Before diving in, I wanted to share some things I&#39;m working on that you might find interesting.</p>
<p>I&#39;m using <a href="https://www.beehiiv.com/">Beehiiv</a> for sending these newsletters. While it&#39;s a great tool, I found it difficult to write directly in their editor since it doesn&#39;t fully support markdown. After trying maaaany note editors in my life, today I got an unconventional idea - why not use my code editor?!</p>
<p>I currently use <a href="https://www.cursor.com/">Cursor</a>, a fork of <a href="https://code.visualstudio.com/">VSCode</a> with great AI features. With its <a href="https://www.cursor.com/pricing">Pro</a> version, I get unlimited access to <a href="https://claude.ai/">Claude AI</a>, currently the <a href="https://aider.chat/docs/leaderboards/#code-editing-leaderboard">best performing LLM</a> for code and text. It&#39;s refreshingly simple - pure markdown, great tooling, and familiar keyboard shortcuts from coding. For mobile access, <a href="https://apps.apple.com/us/app/one-markdown/id1507139439">One Markdown</a> helps me sync and edit via iCloud.</p>
<p><a href="https://bsky.app/">Bluesky</a> (a more decentralized alternative to X) was booming last week, and I kept coming back to experiment with posting there. It would be great if one day it becomes mainstream and we all have more control and ownership of our data.</p>
<p>This week I also started working <em>stealth</em> on a new product - an open source Next.js directory website template. It will be a very simple first version that I&#39;ll release open-source and for free. If it gets some attention, I&#39;ll likely design and build more features for a Pro version. Initially the plan was to build a landing page website builder, but after some experimentation it felt too challenging at this point. It feels much better starting simple as a code template. Let&#39;s see how that goes.</p>
<p>I hope to finish and release the free template next week! Keep an eye on my <a href="https://x.com/edgarasben">X</a> and <a href="https://bsky.app/profile/edgaras.com">Bluesky</a>.</p>
<p>Besides that, a regular freelance design work week awaits, where I&#39;m currently working on a mobile app for football clubs, building a feature to guide fans about pre-match stadium events.</p>
<p>Now, here&#39;s what caught my eye this week:</p>
<hr>
<h2>My top picks of the week:</h2>
<p>🥇 OpenAI launches <a href="https://openai.com/index/introducing-chatgpt-search/">SearchGPT</a> and <a href="https://cloud.google.com/vertex-ai/generative-ai/docs/grounding/overview">Google introduces Search Grounding</a>, marking major advances in AI-powered search.</p>
<p>🥈 The web scraping game is changing with AI tools. Check out <a href="https://www.youtube.com/watch?v=7kbQnLN2y_I">how to scrape 99% of websites</a> with 3 different techniques.</p>
<p>🥉 Jonathan from <strong>AJ&amp;Smart</strong> on <strong>Startup Ideas Podcast</strong> teaches <a href="https://www.youtube.com/watch?v=m58nGC-KGHg">how to build &quot;funnels&quot;</a> (landing pages) and how they&#39;re often totally different from your website (spoiler: very sales focused and content heavy).</p>
<hr>
<h2>Development picks</h2>
<p>💠 Learn about the concept of <a href="https://nerdy.dev/headless-boneless-and-skinless-ui">Boneless, skinless &amp; lifeless UI</a> and how it differs from headless UI.</p>
<p>💠 Meta open sources <a href="https://github.com/meta-llama/llama-recipes/tree/main/recipes/quickstart/NotebookLlama">NotebookLlama</a> as their version of NotebookLM from Google.</p>
<p>💠 <strong>Drizzle ORM</strong> that I use with Next.js and PostgreSQL <a href="https://orm.drizzle.team/docs/rls">now supports RLS</a> (Row-Level-Security) which should make writing application-level authorization easier and more reliable.</p>
<p>💠 Learn <a href="https://x.com/midudev/status/1850190977853501485">SQL joins</a> once and for all.</p>
<p>💠 Check out the new DOM components for <a href="https://docs.expo.dev/guides/dom-components/">Expo</a> which makes building apps across web and mobile native easier.</p>
<hr>
<h2>Design picks</h2>
<p>💠 Talented Design Engineer Emil Kowalski is launching <a href="https://animations.dev/">animations.dev</a> next week - a comprehensive course on web animations. Worth checking out if you want to level up your animation skills.</p>
<p>💠 <strong>Vytas</strong> shares his thoughts about Startups&#39; timing with Design Systems being &quot;<a href="https://x.com/VytasBu/status/1851543061811155439">either too early or too late</a>&quot; - good insight for product teams</p>
<p>💠 A new website design trend in Tech SaaS - minimal, text-heavy, monotype font landing pages. Check out the new <a href="https://planetscale.com/">Planet Scale website redesign</a>.</p>
<p>💠 Edit pictures with AI directly in Figma with the new <a href="https://x.com/huseyingayiran/status/1850801623716573459">Unblocked AI Figma plugin</a>.</p>
<p>💠 Create a stunning <a href="https://x.com/him_uiux/status/1851561941623529878">mesh color gradient in Figma</a> with this mini tutorial.</p>
<p>💠 Check out this cool <a href="https://x.com/bbssppllvv/status/1850942887166689655">dissolve effect</a> UI exit animation.</p>
<p>💠 An interesting idea: <a href="https://x.com/mortenjust/status/1850835466418827482">editing videos by editing Markdown</a>?</p>
<hr>
<h2>Business picks</h2>
<p>💠 I purchased a very practical <a href="https://www.dannypostma.com/seo-course">SEO course</a> from a fellow indie hacker I trust.</p>
<p>💠 <strong>ElevenLabs</strong> has created an app that generates a unique voice based on your X profile - test out <a href="http://xtovoice.com">how your X profile sounds</a>!</p>
<p>💠 Use this smart <a href="https://x.com/HyperSalesman/status/1850532011565355168">searchEmail</a> function directly in <strong>Google Sheets</strong> to find emails from any website.</p>
<p>💠 <a href="https://soverin.ai/">Soverin</a> - an interesting directory of <strong>AI agents</strong> and other AI tools.</p>
<hr>
<h2>Quote of the week</h2>
<blockquote>
<p>Types are to code what Design Systems are to creativity: helpful constraints.
— Me 😅</p>
</blockquote>
<hr>
<p>That&#39;s it for this week!</p>
<p>Found something useful? Got cool stuff to share? I&#39;d love to hear about it. Drop me a line – your finds might make it into next week&#39;s issue.</p>
<p>If you know someone who&#39;d like this too, feel free to pass it along!</p>
<p>Stay curious,<br>Edgaras</p>
]]></description>
            <link>https://edgaras.com/design-meets-code-2</link>
            <guid isPermaLink="true">https://edgaras.com/design-meets-code-2</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Sun, 03 Nov 2024 18:39:17 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[🤝 Design Meets Code #1]]></title>
            <description><![CDATA[<p><a href="http://edgaras.com">Edgaras</a> here. Welcome to the first issue of my newsletter!</p>
<p>You&#39;re getting this because you signed up for my newsletter a while back. Just wanted to remind you that you can <a href="https://edgaras.beehiiv.com/subscribe/SUBSCRIBER_ID/manage?post_id=91f1485b-109c-48ef-8747-55d1bb520fb4">unsubscribe</a> whenever you want - no hard feelings!</p>
<hr>
<p>I spend way too much time scrolling through tech, design and development news (probably should cut back on that), but hey, at least now I can share the good stuff with you.</p>
<p>Each week, I&#39;ll drop a few interesting bits I&#39;ve found about designing, building and selling products online. Just things I think are cool or useful.</p>
<p>Anyway, here&#39;s what caught my eye this week:</p>
<hr>
<p><strong>Top gem picks of the week:</strong></p>
<p>🥇 <a href="http://Bolt.new">Bolt.new</a> is probably the hottest AI tool in town this week/month for building any kind of website or application. Check out <a href="https://x.com/sulco/status/1848883749510959241">surprising things</a> people are building with it. It&#39;s also <a href="https://github.com/stackblitz/bolt.new">open-sourced</a> under MIT license!</p>
<p>🥈 <strong>Next.js</strong> had a <a href="https://nextjs.org/conf">conf</a> this week and they released bunch of cool stuff. One of the big topic - self-hosting. Here you can find a list of self-hosted Next.js <a href="https://github.com/nextjs">templates</a> for different hosts/services. And here is another package - <a href="https://quicky.dev">Quickly</a> that helps self-hosting Next.js.</p>
<p>🥉 <strong>Miro</strong> Released <a href="https://miro.com/innovation-workspace/">Innovation Workspaces</a> that helps Product Mangers and Designers to turn sticky noted into working prototypes.</p>
<hr>
<p><strong>More design gems:</strong></p>
<p>💠 <strong>Dann Petty</strong> shares how to <strong><a href="https://x.com/DannPetty/status/1805814198061903927">make your portfolio more effective</a></strong> just in few super simples steps.</p>
<p>💠 Turn your <strong>Read.cv</strong> profile into a <strong><a href="https://read.cv/sites">personal website</a></strong>. For those who code, customize templates with React and npm packages.</p>
<p>💠 <strong><a href="https://www.isocons.app/">Isocons</a></strong> - a new nicely crafted and free isometric icon/illustration library.</p>
<p>💠 <a href="https://coolshap.es/">Cool Shapes</a> (SVG) for your projects.</p>
<hr>
<p><strong>More development gems:</strong></p>
<p>💠 <a href="https://tsh.io/state-of-frontend/">State of Frontend 2024</a> survey results</p>
<p>💠 <a href="https://github.com/leerob/next-saas-starter">Next.js SaaS starter</a> template from <strong>Lee Rob</strong> at Vercel.</p>
<p>💠 <a href="https://aider.chat/docs/leaderboards/">LLMs leaderboard</a> by <strong>Aider</strong></p>
<p>💠 A <strong>directory</strong> for <strong><a href="https://saasboilerplates.dev/">Best SaaS Boilerplates</a></strong>.</p>
<p>💠 A playground for building <strong><a href="https://shadcn-form-build.vercel.app/playground">shadcn/ui forms</a></strong>.</p>
<p>💠 Awesome <a href="https://pilcrowonpaper.com/blog/oauth-guide/">Oath Guide</a> by <strong>Pilcrow</strong> for those who want to learn how to integrate your own Oauth authentication system</p>
<p>💠 <strong><a href="https://rn-primitives.vercel.app/">rn-primitives</a></strong> is the <strong>Radix UI/shadcn-ui</strong> equivalent for React Native</p>
<hr>
<p><strong>More business gems:</strong></p>
<p>💠 Peek behind the curtain: <strong>Resend</strong>&#39;s open company <strong><a href="https://resend.com/handbook">HandBook</a></strong> reveals their unique approach to remote work, engineering cycles, and even swag philosophy.</p>
<p>💠 Can you sell $1M+ agency contracts in 17 days from your kitchen? You sure can, with <strong><a href="https://x.com/gregisenberg/status/1805715495619899634">creative proposals</a></strong> like building a cheeky website called &#39;No Mids Allowed&#39; instead of sending boring emails.</p>
<hr>
<p>That&#39;s it for this first week!</p>
<p>Found something useful? Got cool stuff to share? I&#39;d love to hear about it. Drop me a line – your finds might make it into next week&#39;s issue.</p>
<p>If you know someone who&#39;d like this too, feel free to pass it along!</p>
<p>Stay curious,<br>Edgaras</p>
]]></description>
            <link>https://edgaras.com/design-meets-code-1</link>
            <guid isPermaLink="true">https://edgaras.com/design-meets-code-1</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Sun, 27 Oct 2024 12:24:32 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Token Swapper - made my first Figma plugin]]></title>
            <description><![CDATA[<p>Multi-brand theming is a tough nut to crack in Figma. The new variable Modes feature helps, but it&#39;s pretty limited - you only get 4 modes in the Pro version and 40 in Enterprise. For our project (designing a multi-brand mobile app for football clubs), that just wasn&#39;t cutting it.</p>
<h2>My journey to a solution</h2>
<p>I went through a bunch of different setups before I landed on a plugin:</p>
<ul>
<li>Multiple files and a shared library: Tried separate files for different brand apps, but it got messy real quick and was a time-suck for our small team.</li>
<li>Single file with themed component variants: Threw everything into one file, making multiple variants for each component to cover all the club styles. It was still difficult to manage.</li>
<li>General components with a &quot;TEST&quot; theme: Switched to more simple, generic components without theme variants, just styled with a basic TEST theme. Used Figma variables and styles to theme component instances for different brands. It worked, but was it slow and tedious.</li>
</ul>
<p>In the end, I&#39;ve tried looking for a plugin to solve some of the issues and speed us up, but I couldn&#39;t find one.</p>
<h2>The Solution: Token Swapper Plugin</h2>
<p><img src="https://edgaras.com/images/posts/token-swapper-2.png" alt="Token Swapper Figma Plugin"></p>
<p>So, I got to work myself and made the Token Swapper plugin. It&#39;s pretty straightforward - it swaps variables and styles based on their top-level folder names. For example, if you swap &quot;Theme A&quot; and &quot;Theme B,&quot; tokens like:</p>
<blockquote>
<p>THEME-A/background/primary/soft</p>
</blockquote>
<p>become:</p>
<blockquote>
<p>THEME-B/background/primary/soft</p>
</blockquote>
<p>Simple, but it gets the job done!</p>
<h2>Try it out (it&#39;s free)</h2>
<p>If you&#39;re wrestling with multi-brand UI design and hitting similar roadblocks, try out the plugin. It&#39;s free and up for grabs in the Figma Community:</p>
<p><a href="https://www.figma.com/community/plugin/1413574934305847457/token-swapper">Token Swapper Plugin</a></p>
<p>Would love to hear your thoughts! Leave a comment in the Figma Community under the plugin.</p>
]]></description>
            <link>https://edgaras.com/token-swapper</link>
            <guid isPermaLink="true">https://edgaras.com/token-swapper</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Wed, 11 Sep 2024 22:57:14 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[AI Art]]></title>
            <description><![CDATA[<figure>
    ![dreamy watercolor landscape in Denmark 2](https://edgaras.com/images/posts/visualelectric-1716064183077.jpg)
   <figcaption>Dreamy watercolor landscape in Denmark ([Visual Electric](https://visualelectric.com))</figcaption>
</figure>]]></description>
            <link>https://edgaras.com/ai-art</link>
            <guid isPermaLink="true">https://edgaras.com/ai-art</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Sat, 18 May 2024 20:03:56 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Now]]></title>
            <description><![CDATA[<p>What I am up to now:</p>
<ul>
<li>Just moved to back to Lithuania after 15 years abroad (in Denmark, EU and Asia). Working towards more stable lifestyle.</li>
<li>As a contractor, making design systems and mobile apps for the top Danish football clubs.</li>
<li>As a side-project and own business, working on Naispage - a multi-tenant directory website framework.</li>
<li>Taking practicing and dancing social Bachata dance</li>
<li>Hitting gym 3 times a week</li>
<li>Currently in 🇱🇹 Kaunas, Lithuania</li>
</ul>
<p>Read <a href="https://nownownow.com/about">why this page exists</a>? And check out other people <a href="https://nownownow.com/">/now</a> pages.</p>
]]></description>
            <link>https://edgaras.com/now</link>
            <guid isPermaLink="true">https://edgaras.com/now</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Fri, 19 Jan 2024 13:37:28 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Code Snippets]]></title>
            <description><![CDATA[<h2>TypeScript</h2>
<p>Template Literal types:</p>
<pre><code class="language-ts">type hue = &#39;red&#39; | &#39;blue&#39;
type step = &#39;300&#39; | &#39;500&#39; | &#39;700&#39;
type color = `text-${hue}-${step}`
</code></pre>
<h2>Supabase</h2>
<p>For adding an automatic <code>updated_at</code> column (by <a href="https://github.com/supabase/supabase/issues/379#issuecomment-1005614974">riderx</a>):</p>
<ol>
<li>Allow <code>moddatetime</code> in Extensions</li>
<li>Add <code>updated_at</code> column to a table, timestamptz type, default <code>now()</code> value</li>
<li>Run sql command:</li>
</ol>
<pre><code class="language-sql">create trigger handle_updated_at before update on [TABLENAME]
for each row execute procedure moddatetime (updated_at);
</code></pre>
]]></description>
            <link>https://edgaras.com/snippets</link>
            <guid isPermaLink="true">https://edgaras.com/snippets</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Thu, 14 Dec 2023 01:46:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Deploy simple Node.js website or app on VPS (Hetzner)]]></title>
            <description><![CDATA[<p>The article is a work in progress 🚧</p>
<h2>1. Generate SSH keys</h2>
<p>Generating SSH key is recommended and it will be used to log in to your VPS automatically without password.</p>
<ol>
<li>Open <strong>Terminal</strong> (PowerShell on Windows).</li>
<li>Type <code>ssh-keygen -t ed25519</code> and press ENTER.</li>
<li>It will say, “Enter file in which to save the key (/Users/yourname/.ssh/id_ed25519):”, press <code>ENTER</code>.</li>
<li>When it says <code>Enter passphrase (empty for no passphrase):</code> press ENTER.</li>
<li>When it says, <code>Enter same passphrase again:</code> press ENTER.</li>
<li>You will need this file when creating VPS server: <code>Your public key has been saved in</code> ... <code>id_ed25519.pub</code>.</li>
<li>The file named <code>id_ed25519</code> without <code>.pub</code> is your private key and should be always kept private!</li>
</ol>
<h2>2. Get a VPS server</h2>
<ol>
<li><a href="https://accounts.hetzner.com/signUp">Sign up</a>  Hetzner account.</li>
<li>Log in to <a href="https://console.hetzner.cloud/projects">Hetzner Cloud</a>.</li>
<li>Click <strong>+ New Project</strong>, give it a name and go to this new project.</li>
<li>Click <strong>Add Server</strong>.</li>
<li>Choose <strong>Location</strong> (the closest will be default).</li>
<li>Choose <strong>Ubuntu</strong> image.</li>
<li>Choose cheapest <strong>Shared vCPU</strong> for now.</li>
<li>In Networking section, keep <strong>Public IPv4</strong>, but deselect Public IPv6.</li>
<li>In <strong>SSH Keys</strong> section upload your public SSH key, the <code>id_ed25519.pub</code> file from previous step.</li>
<li>Create volume (e.g. 10GB, least possible).</li>
<li>Click <strong>Create &amp; Buy now</strong> to launch your cloud server.</li>
</ol>
<h2>Log in to server</h2>
<ol>
<li>Copy <strong>Public IP</strong>, this is your server address.</li>
<li>Open your command line interface, I use Terminal on Mac.</li>
<li>Type <code>ssh root@PUBLIC_IP</code>. Instead of PUBLIC_IP, paste the IP address.</li>
<li>You might see a message saying something similar to:</li>
</ol>
<pre><code>The authenticity of host &#39;12.524.412.245 (12.524.412.245)&#39; can&#39;t be established.
ED25519 key fingerprint is SHA256:ANlLAjSsImPBhBIZA1+R28PcBzA/ufgy67rf8og.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
</code></pre>
<p>type <code>yes</code> and press ENTER.</p>
<h2>Initial setup</h2>
<ol>
<li>Update and upgrade system, type <code>sudo apt update &amp;&amp; sudo apt upgrade -y</code></li>
<li>Install Nginx server type <code>sudo apt install nginx</code></li>
<li>Start and enable Nginx, type: <code>sudo systemctl start nginx &amp;&amp; sudo systemctl enable nginx</code></li>
<li>Check Nginx status: <code>sudo systemctl status nginx</code></li>
<li>Allow firewall traffic <code>sudo ufw allow &#39;Nginx Full&#39;</code></li>
</ol>
<h2>Configure domain name</h2>
<ol>
<li>Create a new configuration file for your domain: <code>sudo nano /etc/nginx/sites-available/mydomain.com</code></li>
<li>Add the following configuration</li>
</ol>
<pre><code class="language-bash">server {
    listen 80;
    server_name mydomain.com www.mydomain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
</code></pre>
<ol start="3">
<li>Enable the configuration by creating a symlink:</li>
</ol>
<pre><code>sudo ln -s /etc/nginx/sites-available/mydomain.com /etc/nginx/sites-enabled/
</code></pre>
<ol start="4">
<li><p>Test Nginx for syntax errors: <code>sudo nginx -t</code></p>
</li>
<li><p>If successful, reload Nginx: <code>sudo systemctl reload nginx</code></p>
</li>
</ol>
<h2>Obtain an SSL (HTTPS) Certificate</h2>
<p>To secure your domain with HTTPS, you can use Certbot to get a free SSL certificate:</p>
<ol>
<li>Install Certbot: <code>sudo apt install certbot python3-certbot-nginx</code></li>
<li>Obtain and configure the SSL certificate for your domain: <code>sudo certbot --nginx -d mydomain.com -d www.mydomain.com</code></li>
<li>Restart everything: <code>sudo systemctl restart nginx</code></li>
</ol>
]]></description>
            <link>https://edgaras.com/vps</link>
            <guid isPermaLink="true">https://edgaras.com/vps</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Mon, 07 Aug 2023 00:46:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Canonical links]]></title>
            <description><![CDATA[<p>I like the idea of owning my own content (posts, articles etc.). At the same time it’s useful to take advantage of other platforms such as Medium to reach out to broader audiences.</p>
<p>But who has time to create unique content for all of these platforms? The answer is — you don’t have to. You can take advantage of <a href="https://indieweb.org/POSSE">POSSE</a>: <strong>p</strong>ublish <strong>o</strong>n your own <strong>s</strong>ite, <strong>s</strong>yndicate <strong>e</strong>lsewhere.</p>
<p>But then what about search engines, wouldn’t they punish you for copy/pasting the same content around? No. Here <a href="https://en.wikipedia.org/wiki/Canonical_link_element">canonical links</a> come to help us out. </p>
<p>Essentially, a canonical link is just a meta tag that you add to your html. For example, this post you are reading would have a canonical link meta tag in html head section:</p>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;link rel=&quot;canonical&quot; href=&quot;https://edgaras.com/posts/canonical-links&quot;&gt;
	&lt;/head&gt; 
&lt;body&gt; 
	... 
&lt;/body&gt; 
&lt;/html&gt;
</code></pre>
<p>You don’t have to add this meta tag if you only post in one place (e.g. your blog). But if you republish content to other platforms, canonical link is recommended.</p>
<p>Here is, for example, how to canonical links using some of the popular publications:</p>
<ul>
<li><a href="https://help.medium.com/hc/en-us/articles/360033930293-Set-a-canonical-link">Medium</a></li>
<li><a href="https://dev.to/michaelburrows/comment/125j0">dev.to</a></li>
</ul>
<p>However, be aware, some of the platforms doesn’t allow you to set canonical links:</p>
<blockquote>
<p>Substack doesn’t allow writers to set canonical links, forcing them to publish on Substack first. This issue is by design — they want to be the first platform to publish your original content and be ranked higher than your other places by search engines</p>
</blockquote>
<p><a href="https://twitter.com/DesignJokes/status/1498715274542915586?s=20&t=m-n_HfGJJDbIlpDAL43mlA">@DesignJokes</a></p>
<p><strong>Update:</strong> It seems now canonical links are working now, if you connected a custom domain to Substack (Which costs $50 as a one-time fee).</p>
<h2>Further reading</h2>
<p>If you&#39;re interested in learning more about canonical links, I suggest exploring additional resources for further reading.</p>
<ul>
<li><a href="https://ahrefs.com/blog/canonical-tags/">Ahrefs take on canonical tags</a></li>
<li><a href="https://developers.google.com/search/blog/2013/04/5-common-mistakes-with-relcanonical">5 common mistakes with rel=canonical</a></li>
</ul>
]]></description>
            <link>https://edgaras.com/canonical-links</link>
            <guid isPermaLink="true">https://edgaras.com/canonical-links</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Wed, 12 Jul 2023 00:46:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Foreign keys and delete on cascade]]></title>
            <description><![CDATA[<p>As I was working with our PostgreSQL database in Supabase yesterday, I encountered a problem that had me stumped for a bit. Whenever I tried to delete an entry in a <code>jobs</code> table, I had to first go through the tedious process of deleting related entries in other tables, such as <code>job_filters</code>. I wanted to find a solution to simplify this process and make deleting a job automatically delete all related job filters or other related table entries.</p>
<p>After some research, I stumbled upon the amazing SQL command <code>ON DELETE CASCADE</code>. This allows you to add a foreign key relation that will automatically delete related entries in other tables. The only issue was figuring out which tables and foreign key relations to add it to. </p>
<p>Let’s first take a look at my example database structure:</p>
<p><img src="https://edgaras.com/images/posts/on-cascade-delete.png?v2" alt="On Cascade Delete"></p>
<p>I have 3 tables <code>jobs</code>, <code>job_filters</code>, and a table to connect those two <code>jobs_job_filters</code> for so called many-to-many relation. The <code>jobs_job_filters</code> table also have a <a href="https://pysql.tecladocode.com/section08/lectures/01_composite_primary_keys/">composite primary key</a> <code>job_id, filter_slug</code>.</p>
<p>So now how do I add a foreign key connection between those tables with an automation deletion feature <code>ON CASCADE DELETE</code>? It’s actually quite simple.</p>
<p>Here is the SQL command I had to execute:</p>
<pre><code class="language-sql">ALTER TABLE jobs_job_filters
ADD FOREIGN KEY (job_id) REFERENCES jobs (id) ON DELETE CASCADE,
ADD FOREIGN KEY (filter_slug) REFERENCES job_filters (slug) ON DELETE CASCADE;
</code></pre>
<p>That’s it, now the tables are connected and the deletion of related filters works!</p>
<hr>
<p><strong>One thing to be careful about though.</strong></p>
<p>I can run the SQL command as many times as I want, it will always return <code>success</code> without warming me that the <strong>foreign key reference already exists</strong>. I had to use this command to check all existing foreign key connections first:</p>
<pre><code class="language-sql">SELECT conname, confrelid::regclass, confkey, confupdtype
FROM pg_constraint
WHERE confrelid = &#39;jobs&#39;::regclass
AND confrelid IS NOT NULL;
</code></pre>
<p>and</p>
<pre><code class="language-sql">SELECT conname, confrelid::regclass, confkey, confupdtype
FROM pg_constraint
WHERE confrelid = &#39;job_filters&#39;::regclass
AND confrelid IS NOT NULL;
</code></pre>
<p>Also notice, weirdly enough, I had to run these queries on <code>jobs</code> and <code>job_filters</code> tables to see the existing foreign key constrains. If I ran the command on <code>jobs_job_filter</code> it didn’t show me any foreign key relations, even though I added them on this exact table!</p>
<p>So once I discovered the duplicate foreign keys I could remove them as such:</p>
<pre><code class="language-sql">ALTER TABLE jobs_job_filters DROP CONSTRAINT jobs_job_filters_job_id_fkey;
ALTER TABLE jobs_job_filters DROP CONSTRAINT jobs_job_filters_job_id_fkey1;
ALTER TABLE jobs_job_filters DROP CONSTRAINT jobs_job_filters_job_id_fkey2;

/* And so on */
</code></pre>
<p>Hope it helps for someone too!</p>
]]></description>
            <link>https://edgaras.com/delete-on-cascade</link>
            <guid isPermaLink="true">https://edgaras.com/delete-on-cascade</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Wed, 12 Jul 2023 00:46:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[My Visual Studio Code (VSCode) extensions]]></title>
            <description><![CDATA[<p>These are Visual Studio Code (VSCode) extensions I use:</p>
<ul>
<li>Dracula Refined — my favourite theme (also experimenting with Moonlight II)</li>
<li>Prettier — automatic code formatter</li>
<li>Import Cost — displays the size of imported packages</li>
<li>Tailwind CSS IntelliSence — auto-suggestions for TailwindCSS</li>
<li>Auto Rename Tag — rename opening and closing tags at once</li>
<li>ESLint — linter</li>
<li>ENV — adds formatting and syntax highlighting support for <code>.env</code> files</li>
</ul>
]]></description>
            <link>https://edgaras.com/vscode</link>
            <guid isPermaLink="true">https://edgaras.com/vscode</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Wed, 12 Jul 2023 00:46:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Uses]]></title>
            <description><![CDATA[<p>Software, hardware and other tools I am currently using.</p>
<h2>Design</h2>
<ul>
<li><a href="https://figma.com">Figma</a> - for design client work or sketching mockups</li>
<li><a href="https://www.figma.com/figjam/">FigJam</a> - for sketching, UX thinking</li>
</ul>
<h2>Tech stack</h2>
<ul>
<li>⚒️ <a href="https://developer.mozilla.org/en-US/docs/Web/javascript">JavaScript</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/html">HTML</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/CSS">CSS</a> - using the basic web tools whenever possible :)</li>
<li>💙 <a href="https://react.dev/">React</a> - the JavaScript library for building composable UIs and more</li>
<li>🖤 <a href="https://nextjs.org/">Next.js</a> - website/app meta-framework</li>
<li>💚 <a href="https://supabase.com">Supabase</a> - database and authentication</li>
<li>🩵 <a href="https://tailwindcss.com/">Tailwind CSS</a> - the best way for authoring CSS</li>
<li>🧱 <a href="https://www.radix-ui.com/primitives">Radix UI</a> - interactive UI primitives library, easy to style with Tailwind.</li>
<li>🎨 <a href="https://ui.shadcn.com/">shadcn/ui</a> - collection of components built with Tailwind, Radix and other great React packages, and code generation CLI.</li>
<li>⛓️ <a href="https://orm.drizzle.team/">Drizzle </a> - ORM tool for connecting directly to a Postgres database instead of using Supabase JS SDK</li>
<li>📦 <a href="https://developers.cloudflare.com/r2/">Cloudflare R2</a> - static file storage (like AWS S3)</li>
<li>💌 <a href="https://react.email">React Email</a> - allows me to use React to write accessible email templates</li>
<li>📤 <a href="https://resend.com">Resend</a> - service for sending transactional and marketing emails</li>
<li>🔁 <a href="https://git-scm.com">Git</a>, <a href="https://github.com">GitHub</a>, <a href="https://desktop.github.com">GitHub Desktop</a> - source code storage and versioning</li>
<li>🔄 <a href="https://zod.dev">Zod</a> - validation and type system</li>
<li>💫 <a href="https://motion.dev/">Motion</a> - animation library</li>
<li>💸 <a href="https://stripe.com">Stripe</a> - payment processing</li>
<li>▲ <a href="https://vercel.com/">Vercel</a> - serverless deployment platform</li>
<li>🚅 <a href="https://railway.app/">Railway</a> - deployment platform for long running apps</li>
<li>☁️ <a href="https://www.hetzner.com/">Hetzner Cloud</a> - cheap servers in cloud</li>
</ul>
<p><strong>Experimenting:</strong></p>
<ul>
<li><a href="https://coolify.io/">Coolify</a> - free and open source deployment platform, an alternative to Vercel and Railway</li>
</ul>
<p><strong>Want to try:</strong></p>
<ul>
<li><a href="https://authjs.dev/">Lucia Auth</a> - an auth library that abstracts away the complexity of handling sessions.</li>
<li><a href="https://authjs.dev/">Auth.js</a> - open source authentication instead of using Supabase Auth.</li>
<li><a href="https://trigger.dev/">Trigger.dev v3</a> - background jobs, queues and schedules</li>
<li><a href="https://payloadcms.com/">Payload CMS</a> - a CMS, once they make it available directly in Next.js app code</li>
<li><a href="https://react-spectrum.adobe.com/react-aria/">React Aria</a> - UI library similar to Radix UI</li>
<li><a href="https://expo.dev/">Expo</a> - native mobile app development framework built on top of React Native</li>
</ul>
<h2>Productivity</h2>
<ul>
<li><a href="https://claude.ai/">Claude AI</a> - My AI writing and coding assistant 😛</li>
<li><a href="https://www.raycast.com">Raycast</a> - it&#39;s how I control my computer with a keyboard</li>
<li><a href="https://trello.com">Trello</a> - A simple kanban for managing some of the projects</li>
<li><a href="https://toggl.com">Toggl</a> - Time tracker and reports for client work</li>
<li><a href="https://arc.net/">Arc</a> - My browser of choice</li>
<li><a href="https://1password.com/">1Password</a> - Password manager on Mac, iPhone and browser</li>
<li><a href="https://magnet.crowdcafe.com/">Magnet</a> - app window organizer using keyboard shortcuts on Mac</li>
<li><a href="https://marco.org/apps#quitter">Quitter</a> - A neat little Mac app that runs in background and closes apps that I didn&#39;t use for some minutes or hours. Minimizes mental clutter.</li>
<li><a href="https://selfcontrolapp.com/">SelfControl</a> - Sometimes, hard-blocking distracting websites is the only option to break free from addiction.</li>
<li><a href="https://one.one.one.one/">WARP</a> - free VPN by Cloudflare</li>
<li><a href="https://shottr.cc/">Shottr</a> - Free sreenshot annotation tool</li>
<li><a href="https://usecontrast.com/">Contrast</a> - Quick color contrast checker</li>
</ul>
<h2>Communication</h2>
<ul>
<li><a href="https://slack.com">Slack</a> - Quick messaging and calls with my partners and colleagues </li>
<li><a href="https://twitter.com">X / Twitter</a> - A powerful tool for finding inspiration and connecting with other knowledge workers. At the same time super time consuming and distracting. </li>
<li><a href="https://linkedin.com">LinkedIn</a> - public resume, people search</li>
<li><a href="https://telegram.org/">Telegram</a> - experimenting with it as a messenger and for communities</li>
<li><a href="https://www.screen.studio/">Screen Studio</a> - makes me look like a pro when sharing screen recordings</li>
<li><a href="https://www.beehiiv.com/">Beehiiv</a> - newsletter tool</li>
</ul>
<h2>Coding</h2>
<ul>
<li><a href="https://www.cursor.com/">Cursor</a> - VSCode fork with AI coding abilities</li>
<li><a href="https://yaak.app/">Yaak</a> - Favourite API client for mac</li>
<li><a href="https://tableplus.com/">TablePlus</a> - Database management tool</li>
</ul>
<h2>Browser extensions</h2>
<ul>
<li><a href="https://www.wappalyzer.com/">Wappalyzer</a> - see what technologies are used on a website</li>
<li><a href="https://1password.com/">1Password</a> - password manager</li>
</ul>
<h2>Electronics</h2>
<ul>
<li><a href="https://amzn.to/3YaHx4S">MacBook Pro 16”</a> - the work horse</li>
<li><a href="https://amzn.to/3xXPgJ2">AirPods Pro</a> - one of the best purchases</li>
<li><a href="https://nuphy.com/products/air60-v2">NuPhy Air60 V2</a> - slim and fun mechanical keyboard</li>
</ul>
<h2>Gadgets</h2>
<ul>
<li><a href="https://amzn.to/3Z3oVFa">NextStand</a> - a stand to keep laptop at eye level</li>
<li>Haglöfs Backup backpack - durable backpack</li>
</ul>
<h2>Fun</h2>
<ul>
<li><a href="https://www.lofi.cafe">Lofi.Cafe</a> - website radio with nice lo-fi beats</li>
<li><a href="https://music.youtube.com">Youtube Music</a> - great for music too. Got premium.</li>
<li><a href="https://spotify.com/">Spotify</a> - the way I listen to podcasts</li>
<li><a href="https://www.everand.com">Everand</a> - I find some audio books to listen to there</li>
</ul>
<h2>Stopped using</h2>
<ul>
<li><a href="https://notion.so">Notion</a> - Still migrating... I haven been using it for notes and for my website CMS. However, I find the interface very clunky, the whole product is a bit overhelming and the Notion API is lacking Webhooks.</li>
<li><a href="https://discord.com">Discord</a> - been trying to use it for participating in niche communities, but I find it overwhelmingly busy. Hard to find a way to participate meaningfully.</li>
<li><a href="https://bsky.app">BlueSky</a> - just have my profile there. Didn&#39;t really take off as Twitter/X alternative.</li>
<li><a href="https://canva.com">Canva</a> - don&#39;t use it much these days</li>
<li><a href="https://github.com/features/copilot">GitHub Copilot</a> - switched to Claude 3.5 Sonner</li>
<li><a href="https://code.visualstudio.com">VSCode</a> - switched to Cursor</li>
<li><a href="https://fig.io">Fig</a> - missing auto-suggestions in Terminal, but Fig became buggy and paid</li>
<li><a href="https://codeium.com/">Codeium</a> - AI coding helper, replaced it with Cursor</li>
<li><a href="https://tryklack.com">Klack</a> - fun Mac app that makes artificial keyboard sounds. Kind of relaxing. Don&#39;t use it anymore. </li>
<li><a href="https://www.keychron.com/products/keychron-k3-wireless-mechanical-keyboard">Keychron K3</a> - swapped to NuPhy Air60 V2</li>
<li>Insomnia API client, now using Yaak</li>
<li>Webflow</li>
<li>Claudinary</li>
<li>Discord</li>
</ul>
]]></description>
            <link>https://edgaras.com/uses</link>
            <guid isPermaLink="true">https://edgaras.com/uses</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Wed, 12 Jul 2023 00:46:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Framer Web Custom Component with Fetch]]></title>
            <description><![CDATA[<pre><code class="language-tsx">import { useState, useEffect } from &quot;react&quot;

export default function Steps(props) {
    const [steps, setSteps] = useState(0)

    async function update() {
        const response = await fetch(
            &quot;https://XxXxXxX.supabase.co/rest/v1/steps&quot;,
            {
                method: &quot;GET&quot;,
                headers: {
                    apikey: &quot;XXXXX&quot;,
                },
            }
        )
        const data = await response.json()
        setSteps(data[0].count)
    }

    useEffect(() =&gt; {
        update()
    }, [])

    return (
        &lt;&gt;
            {steps ? (
                &lt;div&gt;
                    &lt;span&gt;{steps} &lt;/span&gt;
                    &lt;span&gt;steps today&lt;/span&gt;
                &lt;/div&gt;
            ) : (
                &quot;Loading...&quot;
            )}
        &lt;/&gt;
    )
}
</code></pre>
]]></description>
            <link>https://edgaras.com/framer-custom-component</link>
            <guid isPermaLink="true">https://edgaras.com/framer-custom-component</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Fri, 15 Dec 2023 01:46:51 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Yearly reflections 2022]]></title>
            <description><![CDATA[<p>As the new year approaches, I&#39;m getting excited to see what it has in store. But before I charge ahead, I like to take a moment to reflect on the past year. By thinking back on my experiences, I can better understand what has happened and be better prepared for the future.</p>
<p>As I think about the past year, I am struck by all the amazing moments and experiences that have enriched the year 30 of my life. I am grateful for the good times and the lessons I have learned from the more difficult ones.</p>
<p><img src="https://edgaras.com/images/posts/hiking-in-south-of-spain.jpg" alt="Water and high rocks during sunny day. Hiking in south of Spain."></p>
<p>Water and high rocks during sunny day. Hiking in south of Spain.</p>
<p>Here are a few of my and professional highlights (and lowlights) from the past year 2022:</p>
<h2>⭐ Highlights</h2>
<ul>
<li>Lived and worked remotely in 🇹🇷 Turkey for 2 months</li>
<li>Completed five freelance design projects for five different clients, including two well-known companies in Denmark and worldwide</li>
<li>Continued co-building <a href="https://bestwriting.com/">Best Writing</a> with my friend <a href="https://tomaslau.com/">Tom</a></li>
<li>Continued learning web programming with JavaScript (React, Node, NextJS) and TailwindCSS</li>
<li>Participated in Copenhagen 🕺 Salsa Festival</li>
<li>Had 2 work-vacations in 🇪🇸 Malaga and Alicante</li>
<li>Hiked ⛰️ in south of Spain</li>
<li>Moved in to new co-living community in 🇩🇰 Copenhagen</li>
<li>Learned to play 🎾 Padel tennis</li>
<li>Celebrated my 🎂 30th birthday with some of my best friends and family.</li>
<li>Visited my family in 🇱🇹 Lithuania multiple times</li>
<li>Took my grandma to 💆 SPA retreat for several days</li>
<li>Finally designed, developed, launched my personal website and <a href="https://twitter.com/edgarasben/status/1602810871264198656">shared the process in public</a></li>
<li>Learned more about designing and building modular Design Systems</li>
<li>Met some amazing new people on 🐦 Twitter</li>
<li>Saw my first big football match live in 🏟️ Sevilla stadium</li>
<li>Ran our own <a href="https://twitter.com/edgarasben/status/1598977979476250624">GTP-3 hackathon weekend</a> with my friend, and co-founder</li>
<li>Lived a minimalistic lifestyle with purchasing and owning very little</li>
<li>Enjoyed balanced food diet (Mostly <a href="https://www.forbes.com/health/body/what-is-the-pegan-diet/">Pegan</a>)</li>
<li>Started 🥊 boxing classes</li>
</ul>
<h2>🥀 Lowlights</h2>
<ul>
<li>Had a particularly bad sleeping habits which affected my productivity and immune system</li>
<li>Was sick with the flu for the entire Christmas season</li>
<li>It was difficult to balance freelance work and building a business</li>
<li>Didn’t improve my Danish</li>
<li>Didn’t reach a sustainable 10K MRR with my business</li>
<li>Didn’t exercise regularly</li>
</ul>
<p>In addition to the ups and downs, here are some of my most valuable discoveries in 2022:</p>
<h2>🔍 Top picks</h2>
<ul>
<li><strong>Top podcasts</strong>: <a href="https://37signals.com/podcast/">Rework</a>, <a href="https://syntax.fm/">Syntax</a>, <a href="https://www.mfmpod.com/">MFM</a>, <a href="https://uibreakfast.com/">UI Breakfast</a>, <a href="https://modernweb.podbean.com/">Modern Web</a>, <a href="https://thebootstrappedfounder.com/">The Bootstrapped Founder</a></li>
<li><strong>Top Books</strong>: <a href="https://www.buildingasecondbrain.com/">Building a Second Brain by Tiago Forte</a>, <a href="https://sive.rs/a">Anything You Want by Derek Sivers</a>, <a href="https://readmake.com/">Make by levelsio</a>.</li>
<li><strong>Top Youtube channels:</strong> <a href="https://www.youtube.com/@Fireship">Fireship</a>,  <a href="https://www.youtube.com/@t3dotgg">t3.gg</a>, <a href="https://www.youtube.com/@samselikoff">Sam Selikoff</a>, <a href="https://www.youtube.com/@WesBos">Wes Bos</a>,</li>
<li><strong>Top Products</strong>: <a href="https://www.youtube.com/premium">Youtube Subscription</a>,</li>
</ul>
<p>I am incredibly grateful for all of the amazing experiences I have had. However, there are also some disappointments that I am still reflecting on. As I look towards the new year, I am determined to work on improving those areas and making the most of every opportunity that comes my way.</p>
<p><img src="https://edgaras.com/images/posts/ae-antalya.jpg" alt="Me with my girlfriend and a cat sitting outside. Water and mountains are in the background."></p>
<p>Me with my girlfriend and a cat sitting outside. Water and mountains are in the background.</p>
]]></description>
            <link>https://edgaras.com/yearly-reflections-2022</link>
            <guid isPermaLink="true">https://edgaras.com/yearly-reflections-2022</guid>
            <dc:creator><![CDATA[Edgaras Benediktavicius]]></dc:creator>
            <pubDate>Wed, 28 Dec 2022 15:46:51 GMT</pubDate>
        </item>
    </channel>
</rss>