si

Best AI Website Builders For Fast Web Design

The Rise of AI Website Builders: Revolutionizing Website Creation with Professionalism 1. Introduction to AI website builders. In today's fast-paced d ...




si

Septerra Core Redesign: Legacy of the Creator Reimagined

Septerra Core: Legacy of the Creator stands as a testament to the golden era of role-playing games. With its intricate storyline, captivating characters, an ...



  • Design Roud-up

si

150 Simple Desktop Wallpapers For Minimalist Lovers

Today I have collected some excellent desktop wallpapers dedicated to minimalism. Minimalism is a popular style of design because it keeps things simple and ...



  • Design Roud-up

si

Realistic X-Men '97: Real-Life Version Of Mutant Nostalgia

New realistic Marvel art brings characters to real life from the X-Men '97 TV show. 2024 marked a new beginning for the X-Men: The Animated Series, as the f ...



  • Design Roud-up

si

Similar DeviantArt Websites: Alternatives For Free Art Exposure

DeviantArt has long been a go-to platform for artists seeking to showcase their work and connect with others in the creative community. However, as the digi ...




si

18 Clever Logo Design Ideas: Fresh Showcase Of Creativity

The gallery features a collection of 18 cleverly implemented logo design ideas that highlight the art of logo creation. These logos showcase not only smart ...




si

Personal User Interfaces: A.I. Augmented Reality And The Future Of Personalized Advertising

Technology today loves making stuff just for you, and it's changing the game in how we get our digital kicks. In an era where personalization is paramount, ...




si

Theme: Portfolio Solution for Creative Professionals

Daisho is a portfolio solution for creative professionals and companies looking for a minimal and professional look. Flexible and responsive presentation, smooth navigational flow and clutter-free approach. Put your works in focus. Powerful Typography Plugin included. The definitive portfolio solution for creative professionals available now. Pricing: $50 Requirements: WordPress Source: Buy it Now




si

The Challenges and Rewards of Responsive Design

During 2012 there were many progressions in the world of web design, and one of the main success stories was the growth and popularity of responsive web design. It’s no wonder either, as we were in need of something like this, to give an ounce of flexibility to traditional design – which is exactly what […]




si

Plugin: Responsive WordPress Grid Layout Plugin

Grid Layout Shock is the most complete responsive WordPress grid layout plugin. You can select between 8 box styles preloaded to costumize your own grid layout. You can select the components that you want to show, if you want to show the title, the image, the excerpt of the text or neither, you can do […]




si

A Glance over Depositphotos, the Fastest-Growing Microstock Agency

Stock photography business has become trend. It could be seen from the number of stock photography providers or so called microstock agencies in the internet which is increasing. The number affects the effort of every microstock agency to survive and get much buyers as possible. As a result, we can see so many microstock agencies […]




si

Photobox Theme Design

Check out the latest theme that I just released yesterday on Themify named Photobox. It is a WordPress theme for photobloggers. The theme features a gallery slider on the homepage and a lightbox gallery in the posts using WordPress built-in media gallery feature. No additional plugin is required to install this theme. Read more details […]




si

Web Designer Wall Redesign

After 3.5+ years, I finally gave Web Designer Wall a new look. The new design is not just visually appealing, but well coded in technical point of view. I incorporated a lot of new web standard techniques such as HTML5, CSS3, and media queries. The new design works on all devices and resolutions. The design […]




si

New Minimal & Responsive Theme Released at Themify

I just wanted to announce a new WordPress theme that I designed called Elemin. It is minimal theme coded with Google font, CSS3, Javascript and HTML5. The design is completely fluid and responsive (using CSS3 Media Queries). This means the layout automatically adapts based on the user’s viewport. To see it in action, visit the […]




si

Another Responsive Theme – Tisa

I just released another responsive WordPress theme at Themify called Tisa. Check our the demo and resize the browser window to see the fluid and responsive layout. It works on most modern mobile devices such as iPhone, iPad, Blackberry, Android, etc. and desktop browsers: Chrome, Safari, Firefox, and even Internet Explorer!




si

Best Web Gallery Redesigned

I recently redesigned Best Web Gallery with responsive features. Check it out!




si

New Illustration: Redesign The Web

Below is the latest illustration, Redesign the Web Poster, that I did for Smashing Magazine’s poster design contest: Redesign the Web, Redesign the World. The work is done with Adobe Illustrator and then touched up with Photoshop.




si

Flickr announces new photo licensing Marketplace

Yahoo has announced a new upcoming Marketplace for licensing images on Flickr. Short on details for now, but certainly full of potential.





si

22 passive income ideas to achieve financial freedom

Earn while you sleep: Realistic passive income ideas you can pursue part time! Ditch the 9-5 with the right idea, hard work, & these essential tools.




si

Unique value proposition — Why it matters and how to write one 

What makes consumers choose one company over another? Identify your unique value proposition to make more sales at higher prices. Examples & tips.




si

Migrating from GoDaddy Website Builder to WooCommerce

Ready to migrate from GoDaddy to WooCommerce? 6 signs you should make the move. GoDaddy vs Woo comparison chart. Pros & cons. 3 ways to switch.




si

Kellox and Maksimer: Speeding up 800,000 SKUs with WooCommerce

How one of Norway's largest importers migrated to WooCommerce and scaled an 800k SKU operation for a better user experience, performance, and results.




si

Ecommerce business models: Which is best for you?

Which ecommerce business model is best for your idea? Long-term and short-term strategies for operations, profits, and a successful launch.




si

Competitive analysis — What to do before you commit to your next great business idea

Planning a new online business? Conduct a competitive analysis to understand your market, beat your rivals, and position your brand for success.






si

Biodiversity Isn’t Just Pretty: It Future-Proofs Our World

By Elizabeth Boakes Aeon A small boy hauls enthusiastically on his fishing rod. The line flies up and a needle-spined fish strikes him in the eye. Desperate to stay outdoors, he ignores the pain, but his sight deteriorates over the … Continue reading




si

Nahel Moussi – Portfolio

Nahel Moussi is a Freelance Product Designer. Discover her work and get in touch if you want to collab.




si

A Guide to Accessibility Resources for Global Accessibility Awareness Day

Global Accessibility Awareness Day (GAAD) is May 16, 2024! GAAD was created to help bring attention and awareness to digital inclusivity. No matter your role on a project team, digital accessibility should always be a priority from start to finish. Why is accessibility so important?

  • Over 1 billion people worldwide have a disability, and that number is growing every day
  • 15% of people with disabilities say they never go online, compared to 5% of people without disabilities, according to Pew Research Center
  • According to a survey by Click-Away Pound, 71% of disabled users are forced to leave a website if they find it difficult to use

Digital accessibility directly impacts people’s ability to access information, buy products, apply for jobs, engage in discussion, and everything else that people do online that is becoming critical for modern life. Accessible spaces even benefit people without disabilities, as it allows anyone to take in content though their preferred method (reading the captions on a video instead of listening in a noisy environment, for example), and often breeds innovation as engineers work to find the best way to be sure everyone can access information equally.

The World Wide Web Consortium (W3C) has developed the Web Content Accessibility Guidelines (WCAG) in an effort to standardize digital accessibility. However, many websites unfortunately fail to meet these standards, leading to a lesser-quality user experience. WebAIM’s yearly report has highlighted some surprising statistics about WCAG across the top 1,000,000 home pages:

  • The most common accessibility failure across home pages is low contrast text
  • 98.1% of home pages have at least one WCAG 2.0 failure
  • On average, there are 56.8 accessibility errors per page (this increased 13.6% from 2023!) 
  • 16.8% of home pages had more than one <h1> tag

As you can see, there is still a lot of work that needs to be done to create a more accessible web for everyone. If you’re interested in learning more about digital accessibility and how to improve accessibility on your own projects, there are plenty of resources and online courses available. Resources range from free, to paid courses, to professional certifications. Below are some courses and resources that we recommend.

Free Courses and Resources

If you’re looking to introduce yourself to digital accessibility, these free resources are a great place to start:  

  • A11ycasts with Rob Dodson - A series of video tutorials on YouTube that highlights topics including semantics, focus, the correct way to use a button, and a11y testing
  • The Beginner’s Guide to Web Accessibility - An article by Dequeue University that summarizes why digital accessibility should be a priority, and how to determine if your website is accessible
  • Common Mistakes with Using Colour in Accessibility - Digital designer Andrée Lange provides insights into how to take color contrast into consideration when designing for the web
  • Deque Accessibility Resources - Dequeue offers a variety of free accessibility resources, including webinars, blog posts, and their accessibility testing browser extension, axe DevTools
  • HTML Semantics and Accessibility Cheat Sheet - WebAIM provides a list of the most common HTML tags that have an impact on digital accessibility
  • MDN Accessibility Tutorials - MDN is an open-source project documenting web technologies, which also includes an informative section on web accessibility documentation and best practices
  • Section 508 ICT Testing Baseline - Outlines minimal accessibility testing requirements for federal agencies subject to Section 508
  • WCAG 2.2 Quick Reference - WCAG are a series of web accessibility guidelines released and maintained by the W3C, with 2.2 being the current version of the guidelines. This page provides a reference to standards that websites should meet in order to meet current accessibility standards
  • Web.dev Learn Accessibility Course - A series of informative articles ranging from beginning a11y topics, to more advanced topics including animation and motion

Deep Dives with Paid Tutorials

If you’re a developer who has experience in accessibility and want to dig more into the topic, these comprehensive tutorials will help you improve your a11y knowledge:

  • Accessible Web Academy - Accessible Web Academy includes more focused a11y courses for designers, developers, content creators, and marketers looking to target specific topics 
  • Inclusive Components - There is a free online summary of Heydon Pickering’s Inclusive Components, but you can also purchase an eBook on the topic. Heydon’s blog provides examples of a pattern library that bakes accessibility into each component
  • Practical Accessibility by Sara Soueidan - Sara Souedien is a prolific front-end developer who specializes in accessibility. Her course, Practical Accessibility, is a comprehensive guide for all developers, from those looking to familiarize themselves with accessibility, to experienced developers looking to expand their a11y knowledge.

Advanced Knowledge with Certifications

As the world’s population and number of disabled users continues to grow, it’s clear that implementing digital accessibility in your products is more important than ever. By implementing the information from these lists, you can help users of all abilities access the content that you share, ensuring a better internet for everyone.




si

Your Website Transition Checklist

When onboarding a new partner to redesign your website, take over maintenance, or rescue a project going sideways, you'll need to carefully transition access to a variety of critical systems and tools. And if you're navigating a contentious relationship or onboarding into a new organization without documentation, you might not know where to start.

Does that sound scary? It doesn't have to be. 

Here's a comprehensive checklist to ensure that you retain full control of your website and avoid any potential hiccups during a transition.

  1. Codebase access. Ensure you have ownership or administrative access to the existing codebase or code repository. Popular platforms like Bitbucket and GitHub are often used for this purpose.
  2. Content Management System access. Ensure you have the highest level of access (super admin) for your Content Management System (CMS). 
  3. Hosting information and access. Gather all hosting information and ensure you have access to the account that owns the workspace. This is crucial to prevent unauthorized updates or changes to your site. For hosted platforms, you’ll need Owner access, not just Administrator access. 
  4. Additional services information and access. This might include your domain registrar (e.g., GoDaddy), DNS settings, email services, your content delivery network (CDN), if applicable. This could also include any third-party services that are integrated with your website. Common examples might include: Algolia, Hubspot, Stripe, etc. 
  5. Analytics and Data. Make sure you have access to all analytics tools used to monitor your website traffic and user behavior. This might include both old Google Universal Analytics data and current GA4 data, Google Tag Manager, or any other analytics services used on your website (e.g., Mixpanel, Hotjar, Adobe Analytics, etc.). 
  6. Backups. Secure a full backup of your site, including the file system. Plugins like UpdraftPlus for WordPress can be very helpful for this process. Also, ensure you have backups of shared files, such as those in Google Drive, Box, or Dropbox.
  7. Design Assets. Retain copies of raw design assets (e.g., Figma files). We always transfer ownership of Figma files to our client teams to ensure they have the ability to extend the design system in the future.
  8. Licenses. Make sure you own any required licenses, such as font/photo licenses, CMS licenses, API keys, or premium plugins. We insist that our client teams purchase any required licenses/subscriptions using their corporate information so we’re never blocking access to those critical resources.

Transitioning website partners can be a smooth process with foresight and preparation. While ideally there would never be gaps in access to these critical resources and services, by following this checklist, you can ensure that you’re not missing anything when offboarding old partners or getting your bearings with a new team or organization. 

Do you need help figuring out how this checklist might apply to your situation? Be in touch, and we’d be happy to discuss your current status and suggest next steps for your website transition. 




si

Motion Magic: Project Insights From My Viget Internship

When we open an app or website, we do so to accomplish a task or find information. A well-designed user experience ensures users can achieve their goals efficiently. But what keeps us engaged beyond basic functionality? What differentiates a mundane interface from an exciting one? In my opinion as an up and coming UI developer, one key element is motion.

During my summer internship at Viget, I had the opportunity to dive deep into the world of agency work. From getting the chance to contribute to client sites to participating in a hackathon and pursuing a personal project, I seriously leveled up my stack and gained valuable development experience. Not to mention the amount I learned from exceptional, dedicated mentorship and micro-classes on everything from React to SQL to business models. 

However, coming into the internship, I had the specific goal of learning how to add motion to my web projects. I walked in on day one with no idea where to start, and now I’m leaving my last week with a complex knowledge of Rive, canvas elements, JavaScript animation, GSAP, and more. Here’s how… 

Spinet

In this two week hackathon project, I worked alongside Faye and Paul, the Product Designer and App Developer interns, to create a spinning wheel name picker. During the first week, I took on branding and visual design work. 

I spent the second week implementing wireframes. Through this project I learned how to transform client specifications into design directions, a style guide, and ultimately, UI components.

For this app, the motion of the spinning wheel was critical to the experience. Initially, client feedback indicated that the spin felt too uniform. I adjusted the motion parameters by extending the slowdown time and changing the easing function from linear to cubic, which increased feelings of suspense at the end of the spin animation. 

To add a level of joy and celebration to the winner announcement popup at the end of a spin, I incorporated confetti animations. In doing so, I discovered the world of JavaScript animation libraries that make implementing animations as easy as simple as adding the script to my HTML and adjusting the timing and placement of the animation object. Finally, we had ultimately decided on a modern, clean-cut video game aesthetic for the branding, and pulled this in through inspired sound effects, the logo design, and a 3D button component with a click animation accomplished entirely through Tailwind. 

Luna chatbot

After the hackathon, I got the chance to work on a personal project of my choice: an AI mental health chatbot inspired by tools like Woebot and EarKick. I was motivated by the question of what could make conversational AI feel less intimidating and more empathetic. My answer was an AI support companion with an animated avatar to enhance feelings of emotional connection and understanding. 

To get started, I experimented with various chatbot APIs and found that the Llama3 model was the best at following system prompts and offered the most natural interactions. A huge part of this project was the chatbot’s expression animations. I surveyed several popular tools and found Rive was the best fit for this, offering intricate animation capabilities, easy web integration, and a state machine for managing overlapping states and complex transitions.

The first step of animating in Rive is to create a design. Luckily, Rive has a vibrant open-source community, and I learned a lot from examining and remixing community files. The second step was learning to create the animations themselves. This was my first time animating anything, but the concept of keyframes was relatively intuitive, and the UI reminded me of video editing software, like iMovie, I’d used in the past.

The third and most challenging step for me was making all the animations work together in a state machine. 

This is the logic that connects animations together, taking input values that determine when to transition between states. Getting smooth animations between emotional states required a lot of rewiring and experimenting. Finally, embedding the Rive file in my project and linking the emotion data from API responses to the animation inputs was relatively straightforward using vanilla JavaScript. 

In conclusion

Animations, whether simple or complex, add a layer of interactivity and visual interest to digital products. Over a short 10 weeks, my internship projects allowed me to explore UI development, modern animation tools, and motion using CSS and JavaScript.

If you’re interested in bringing ideas to life and sparking joy through motion design, then diving into a passion project, seeking inspiration from the community, and exploring tools like Rive and GSAP will definitely kickstart your journey!



  • Code
  • Internships and Apprenticeships

si

Use Behavioral Analytics Data to Make Your Site More Effective

Behavioral analytics are a great way to get a sense of what users are or are not doing on your website or app. While behavioral analytics may not provide insights into why users are behaving a certain way, this method does provide a quick and cost-effective way to see what your users are currently doing at scale. Knowing how your users are engaging with your website or product can help you make informed decisions that have a positive impact on engagement and conversions.

Here at Viget, we use behavioral analytics data for a number of use cases:

  1. Our client has a specific question about a certain aspect of their website or app (e.g., a specific user flow or content type) and wants to learn more about how and when users are engaging. 
  2. We are redesigning a client’s website and want to get a sense of where the current experience is excelling or falling short.
  3. We are conducting an annual analysis to help clients keep an eye on potential areas of growth or stagnation. 
  4. We are reviewing behavioral changes on a site or app after launching a new experience or feature to assess performance.

But what kind of insights can you expect to find from behavioral analytics data? 

It ultimately depends on the website or app, the users, and the kinds of questions you are asking, but let’s go through a few different examples of what kind of information you can gain from behavioral analytics tools.


Who is using your website or product?

Understanding who is using your website can provide helpful context on your user base and potentially unlock growth with new user groups you may have been unaware of. To investigate this, we may look at geographic location, language, device type, and any other demographic information that may be available. Sometimes this kind of data provides what I like to call descriptive information—information that often doesn’t feel immediately actionable but can become more useful relative to other data points. This could come from comparing your data to last year, to industry standards, to other content on the website, or it might come from comparing it to an assumption that an individual or organization holds. 

Here are some examples of findings that shed light on who was using the website or product:

32% of sessions were from users outside the United States. 
  Through a previously conducted survey, we were aware that some users were looking for content that was not specific to the United States. This metric helped us better gauge the size of that need.
97% of Canadian sessions interacted with the website in English, with only 3% of Canadian sessions using French.
  We were unsure to what degree French content needed to be prioritized and this metric helped provide a sense of scale.
15% of searches were conducted on a mobile device. 
  Although 15% may seem low, this metric was actually higher than expected because there were known issues with the mobile search experience. This demonstrated that even though the mobile experience was harder to use than the desktop version, users were still inclined to use it, further illustrating the importance of improving the mobile experience. 

How do users get to your website or product?

Knowing how users navigate to your website or product can highlight what traffic sources are particularly effective in driving conversions, but it can also help to provide important context on user expectations or goals. To understand this, we look at both the source/medium that brought them to the website as well as the first page they viewed. 

For example, users might:

  • Come from google and land on a blog article
  • Go directly to your home page
  • Come from an email referral to a donation page 
  • Learn about you from ChatGPT and land on your About page

From there, we might look at engagement rate, conversion rates, or other metrics to get a sense of what these users are doing and whether anything stands out as particularly effective or ineffective. 

Here are some examples of acquisition insights that informed our understanding and approach:

Only 10% of sessions started on the home page, with most users starting much deeper in the site on content-specific pages.
  Because only a small portion of users entered on the homepage, we could not solely rely on homepage messaging to orient users to the site. This highlighted the importance of providing sufficient context on any page of the site to ensure that users navigate to their desired content, regardless of what page they land on.
Although the paid ads were effective in driving users to the website, those sessions had abnormally high bounce rates, with one traffic source having a 95% bounce rate. 
  This indicated a potential mismatch between what users expected based on the ad, and what was actually on the page.
Organic search brought in a large amount of new traffic to their site through the blog pages and while users engaged with the blog content, they were not engaging with the CTAs. 
  Because these new users were potentially learning about this organization for the first time, the donation CTAs were likely not the best fit, and we recommended shifting the CTAs on those pages to focus more on learning about the organization.

What content or features do users engage with?

Here is where we start to get to the meat of what your users are actually doing on your website or product. Knowing what users are doing and what they’re not using can help to establish priorities and inform decisions. You might be surprised to learn that users are actually engaging with specific features or content quite a bit, but others are barely used. If the content or feature is surprisingly popular, then we likely don’t want to outright remove it and may instead consider iterating or leveraging that offering more. If users aren’t engaging with content or a feature, it may be worth considering the effort to maintain and iterate on that offering. 

Here are some examples of engagement insights that helped us identify opportunities related to content or features:

Less than 1% of users were engaging with a particular feature. 
  These same users were showing high engagement with other features though, indicating that users either didn’t know this feature existed, knew the feature existed but didn’t understand the value add, or the feature was simply not something they needed.
For a highly engaged audience, there wasn’t a standout page that most users visited. These users viewed a variety of pages across multiple sessions, typically viewing highly specific content pages. 
  This indicated that instead of relying on a single page to drive conversions, getting users to the specific details they needed was likely a better approach in getting users to try the product.
Nearly 84K sessions engaged with a particular content type. 
  While this was lower than other content types, it was much higher than expected. It was largely organic traffic and the sessions were highly engaged. We recommended doing some additional research to better understand the potential opportunities with that type of content.

What is the user journey or path?

Another major area of investigation is the sequence of steps users take when viewing content or completing certain actions. This could be perusing content on the website, going through a signup funnel, or checking out to make a purchase. 

This helps us identify:

  • the actual paths that lead to conversions (which is not always the path we assume it is) 
  • areas where users drop off at key points in the funnel
  • moments where users have to “turn around” in the journey, because the path laid before them doesn’t align with their needs 

This information can help you build towards a frictionless experience that encourages users to sign up, complete a purchase, or find the resources they need.

Here are some examples of user journey insights that helped us understand where there were existing points of friction for users:

While the CTA to demo the product appealed to users and they were quick to engage with it, it often resulted in users backtracking to the previous page. 
  We hypothesized that users were eager to get to the demo, but were moving too quickly and missed important context, resulting in them having to go back to a previous page. We were able to confirm this with user testing and recommended transitioning some of that context to the CTA page.

What “turning around” in the user journey can look like:

A select few products had abnormally high drop off rates, but at different stages depending on the product. 
  For one product, there was an abnormally high cart-abandonment rate, and for another product, there was an abnormally low add-to-cart rate. Based on these findings we recommended looking further into what is impacting a user’s purchasing decisions.

What dropoff can look like at different stages:

The Ecosystem at Large

Some clients have a larger ecosystem of products or services, and it’s important to look at how users engage with and navigate across the ecosystem. This might include subdomains for a shop, a marketing site versus the product site, help documentation, etc. By looking at the larger ecosystem we can reveal important connections that are missing or connections that could be strengthened.

Here are some examples of insights that demonstrated a need for changes in those ecosystem connections:

For sessions where a user was looking for a particular kind of resource, 95% of the searches were done exclusively in a single subdomain or microsite.
  Through user interviews we were able to confirm that this siloed experience was intentional for experienced users but unintentional for less-experienced users, who were largely unaware of the other parts of the ecosystem that were available. We recommended making changes to improve discoverability of those other areas.
For sessions where a user navigated between two domains, 75% of sessions navigated to the other domain to view documentation specifically.
  Yet, depending on the product, sometimes the documentation was hosted on a subdomain specific to documentation and sometimes it was available on the product domain. This created an inconsistent experience where for some products, users could find what they needed on the product website, but for other products, users were sent to an entirely different subdomain. We recommended creating a more consistent experience for users, where regardless of the product, the documentation would be found in the same location. 

Here at Viget, there are a wide variety of insights we may discover for any one project through behavioral analytics. These insights can help to identify new user groups, help to prioritize content or features maintenance and updates, or bring to attention moments in the user journey that are causing friction. These opportunities can help you bring in new users and retain your existing users, by providing an experience that aligns with their needs, whether that is finding resources, getting involved in a community, or making a purchase.  

If you’re interested in making your website or application more effective for your users by leveraging the power of behavioral analytics data, we’d love to hear from you




si

Setting up a Python Project Using asdf, PDM, and Ruff

When I was tasked with looking into alternative ways to set up a new Python project (not just using the good ol' pip and requirements.txt setup), I decided to try to find the tools that felt best to me, as someone who writes Python and Ruby. On this journey, I found a way to manage dependencies in Python that felt as good as bundler, among other great tools.

The Runtime Version Manager #

asdf has been my primary tool of choice for language version management for multiple years now. The ease of adding plugins and switching between versions of those plugins at a local or global level has saved me massive amounts of time compared to alternatives.

If you've never set up asdf before, follow the instructions here to get it set up. For reference, I use fish for my shell, so I installed asdf using the "Fish & Git" section.

Once you have asdf on your machine, the next step is to add the plugins you need for your project. Plugins are the actual tools that you want to manage the versions of, like NodeJS, Python, Ruby, etc. For the purposes here, I'll start with adding the plugin for Python:

asdf plugin-add python

Once you have added a plugin to asdf, you're ready to install various versions of that plugin. Since we just installed Python, we can install the version we want:

asdf install python 3.12.4
# OR if we want to just use whatever the latest version is
asdf install python latest

Once the version you want is installed, you can tell asdf to use that version in the current directory by running:

asdf local python 3.12.4
# OR 
asdf local python latest

depending on which version of python you installed.

The Dependency Manager #

In the past, I just used pip install and requirements file(s) to handle most of this. I knew of other options, like pipx or pipenv, but I still have never tried using them. I was more interested in finding a dependency manager that did these things in a significantly different way than what I was used to with pip.

Therefore, I wanted to find something that felt similar to bundler for Ruby. Luckily, very early on in my journey here, I found PDM.

Upon reading what PDM did, I immediately decided to try it out and get a feel for what it offered. Some key notes for me that piqued my interest:

  • Lockfile support
  • Can run scripts in the "PDM environment"
    • pdm run flask run -p 3000 executes the normal flask run -p 3000 command within the context of your installed packages with PDM.
    • In other words, it adheres to PEP 582 and allows you to run project commands without needing to be in a virtual environment, which to me is a big plus.
  • Similar commands to bundler
    • pdm run => bundle exec
    • pdm install => bundle install
    • pdm add <package> => bundle add <gem-name>
      • Note: My workflow was almost always to just add gem <gem-name> to the Gemfile rather than using bundle add, but there is no direct 1:1 equivalent of a Gemfile with PDM.

Installing PDM #

PDM has its own asdf plugin, so let's just use that here as well! Running:

asdf plugin-add pdm

adds the plugin itself to asdf, and running:

asdf install pdm latest 
# can replace 'latest' with a specific version number here too

installs the latest version of PDM. Finally, set the local version with:

asdf local pdm latest
Side note about asdf local
  asdf local creates a .tool-versions file (if it doesn't already exist) in the current working directory, and appends the plugin and version number to it. At this point, the directory in which you ran asdf local python 3.12.4 and asdf local pdm latest should have that .tool-versions file, and the contents should be a line each for Python and PDM with their associated version numbers. This way, if someone else pulls down your project, they can just run asdf install and it will install the versions of those plugins, assuming the user has the necessary plugins added themselves.

Now that we have PDM and Python set up, we're ready to use PDM to install whichever packages we need. For simplicity, let's set up a simple Flask app:

pdm add flask flask-sqlalchemy flask-htmx

This line adds Flask, Flask-SQLAlchemy and Flask HTMX. Flask is a web application framework, Flask-SQLAlchemy adds SQLAlchemy and its ORM, and HTMX builds on top of HTML to allow you to write more powerful HTML where you'd otherwise need some JS. Side note, but HTMX is really cool. If you haven't used it before, give it a go! I'm even a part of the exclusive group of HTMX CEOs.

Linting and Formatting #

Finally, I wanted to find a way to avoid pulling in multiple packages (commonly, Black, Flake8 and isort) to handle linting and formatting, which felt to me like it could be the job of one tool.

Pretty quickly I was able to find Ruff which did everything I wanted it to, along with being really fast (thanks Rust ????).

First things first, we need to install Ruff. Since it's a Python package, we can do it using PDM:

pdm add ruff

Once it's installed, we can use ruff check and ruff format to lint and format, respectively. Note that since we installed via PDM, we need to prepend those ruff calls with pdm run:

pdm run ruff check --fix

This runs the linter and fixes any issues found (if they are automatically fixable). The linter can also be run in --watch mode:

pdm run ruff check --watch

which re-lints on every saved change and tells you of any new errors it finds.

The Ruff formatter is similar to use:

pdm run ruff format

which will automatically fix any formatting issues that it finds and can fix. If you want to use this in CI (which you should), you can use the --check flag that will instead exit with a non-zero status code, rather than actually formatting the files:

pdm run ruff format --check

Bringing it all together #

Working with projects set up this way is much easier than how I used to do it. Using tools like asdf, PDM, and Ruff rather than pyenv, pip, and Black/Flake8/isort make both setting up projects and pulling down/installing existing projects more straightforward. I hope the contents of this article are helpful to anyone interested in setting up Python projects in a similar way.




si

Agency Partnerships: A Rising Tide Lifts All Boats

For agencies like ours, success doesn’t come from being an expert at everything—a big part of it is complementing our expertise and working hand-in-hand with like-minded partners who share our values and standards.

These partnerships haven't just boosted what we can do, they've created opportunities for us to engage with new clients. Here's how these collaborations have made us—and our partners—stronger:

  1. Incremental Value: We have a deep respect for expertise. We believe If you try to be an expert at everything, it’s difficult to be exceptional at anything. By teaming up with partners who bring different skills and services to the table, we get access to all sorts of proficiencies we wouldn't have on our own, adding value to prospective and existing clients. Instead of “That’s not our area of expertise”, now it’s “Yes, we can help with that.” These alliances empower us to deliver a higher level of service and comprehensive results for our clients.
  2. Mutual Scalability: Sometimes, there’s a ton of demand for what we do, and it's hard to keep up. Strategic partnerships mean we can call in reinforcements when we need them. By tapping into our partners' talent pools, we can handle even the most time-sensitive client demands without sacrificing quality or speed. And it’s mutual. When our team has time available, we are the reinforcements instead.
  3. More Leads, More Growth: In a crowded market, having a steady stream of clients is crucial. Naturally, every knock on our door can’t be a great fit. Through our partnerships, we've built a network of agencies that share our values, quality standards, and culture. By working closely together and passing leads back and forth, we've created a symbiotic ecosystem where projects flow smoothly, keeping all of us busy and growing.
  4. Reaching New Frontiers: Exploring new markets or industries can be risky, especially if you don't know the terrain. That's where partnerships come in handy. With an experienced partner on your team, it cracks open a door to reach new customers that may have otherwise been too difficult to open on your own. By teaming up with others who know the ropes in different areas (e.g. machine learning, hardware prototyping, reputation management, etc.), we can expand our reach, and establish ourselves in new segments with confidence.
  5. Getting Creative Together: Innovation flourishes when different minds come together under a set of constraints. By teaming up with partners who bring fresh ideas to the table, whether through smaller things like adding feedback to a partner’s open-source library, or bigger things like discussing AI’s impact on the web, we create a space where new approaches can flourish. (And, well, it’s our namesake after all).
  6. Professional Development: Values like “learn & grow” are part of a rewarding career at Viget. The symbiotic ecosystem created in our partner network provides opportunities for knowledge sharing. Partners help us solidify new skills including teaching others. Our own expertise shared with our peers gets reciprocated—each agency broadening the other’s horizons and leveling up one another’s teams. 

In the end, strategic partnerships are an important ingredient in our recipe for success. They give us access to all sorts of perks we wouldn't have on our own, and they help us build a community of successful agencies and contractors who all value the power of teamwork. 




si

Founders Welcoming Business Partners

When Viget was founded in 1999, Andy and I used the title “Founding Partner.” We were founders of the business and also committed business partners. Within a couple of years, we switched to more specific titles: Co-Founder and President (Andy) and Co-Founder and CEO (me), but “business partners” was always the key structure.

We divided responsibilities of leadership, delivery, and operations in ways that optimized our different strengths and weaknesses. Key decision making has always been a collaborative process, with healthy debate between the two of us. I know some incredible solo entrepreneurs, but for us, having a partner to lean on, leverage, and grow with has been not only rewarding, it’s been essential to Viget’s longevity and success.

Also key to our success has been a founding principle of hiring incredible people who share our values and vision, value longevity and lasting relationships, and take pride in their work and careers. As they’ve joined, we’ve shared the opportunities and responsibilities that come with running a healthy business. Empowering others to lead key parts of Viget has taken us further than we’d ever gone otherwise.

Being owners and partners in the business has always been a privilege, an honor, and, at times, a stressful burden. When things go well – clients are happy, the team is gelling, the finances are solid – I’m filled with pride, satisfaction, and calm. When things aren’t going well – projects are sideways, turnover seems contagious, and the metrics point in the wrong direction – I’m filled with anxiety, frustration, and self-doubt. In either scenario, having a partner to navigate the waters with has been vital.

In recent years, three key areas of our business have matured thanks to the overall strength of our team and especially strong leadership. Our sales and marketing systems, tools, and strategies have fed a much more predictable revenue engine with great clients. Our client delivery processes and best practices have helped us consistently deliver value for our clients with more clarity, less risk, and better results. Finally, through some very challenging years in our industry, our culture has grown stronger and more adaptable, still centered on meaningful human connections at the core.

These three business areas have been led by Zach Robbins (sales and marketing), Kelly Kenny (delivery), and Emily Bloom (culture). They are the pillars upon which all other aspects of the business are built. These leaders have truly grown up with the business, having joined more than 13, 14, and 17 years ago, respectively. Their impact first as individual contributors, then managers, and eventually strategic leaders has been immeasurable.

Viget is coming up on a major milestone: we’ll soon eclipse 25 years since our founding on December 27, 1999. As Andy and I looked out at the next decade and beyond of our business, expanding our partnership became a clear goal. Embracing additional partners to not just lead their area of the business but to weigh in on all major decisions would help Viget continue to mature into the business we believe it can be. We saw an opportunity to invite others into the deep water of business partnership – the good, bad, and ugly – so that our shared decision making can be sharper, more insightful, and more strategic in the years to come.

At our fall retreat last week, we announced that we're welcoming Emily, Zach, and Kelly as partners at Viget. They’ve each been here for more than half of Viget’s history, each shaping Viget into what it is today. As partners, they’ll have even more influence as we take Viget into our second quarter century and beyond.



  • News & Culture

si

What Is Silica Gel? How Does It Work?

This post: What Is Silica Gel? How Does It Work? was first published on Beyond Photo Tips by Susheel Chandradhas

Ever fished out those little packets from a new camera bag and thought, “What on earth is Silica Gel?” Well, buckle up, because we’re about to dive into the wonderful world of these moisture-munching marvels! You might think they’re just pesky packaging, but let me tell you, Silica Gel is about to become your camera […]

This post: What Is Silica Gel? How Does It Work? was first published on Beyond Photo Tips





si

RIP a Livecast #654 – Excessive Wind-Breaking

We kick things off by discussing our new Twitch channel. We review Alex Skolnick's new rap video about the Capitol riots. We discuss the new Fresh Prince of Bel-Air reboot. […]



  • RIP a Livecast

si

RIP a Livecast Bonus: The Matrix Resurrections Roundtable Discussion

As a special bonus, we have unlocked the first of two bonus episodes this month on the RIP a Livecast Patreon page, where we go through our thoughts on all […]




si

GENE SIMMONS Says VAN HALEN "Destroyed" BLACK SABBATH On Tour: "Tony Iommi Admitted It, And So Did Ozzy"

There will never be another Eddie Van Halen.




si

4 Business Scaling Strategies to Implement in 2023

Business scaling is setting the stage to support growth in your company. In other words, it means investing in cutting-edge technology, hiring top talent, and executing effective marketing campaigns to successfully grow your business. And while business owners often wish to achieve success overnight, scaling requires a long-term, sustainable strategy.  Scaling a business is often […]




si

How to Keep Your Digital Design Studio Running Smoothly?

If you want your design studio to succeed in a crowded market, it has to run smoothly and effectively.




si

Holographic technology’s transition from science fiction to reality

In science fiction literature and films, holography has received much attention. These tales frequently depict holograms as entertainment, communication tools, or live creatures. Their depiction in these sources is typically far more sophisticated than what is now technologically feasible. Holography is beginning to play a more significant part in current communications and technologies as technology […]




si

3 Branding Tips for Web Design Firms

In a sea of web design companies, standing out is both an art and a strategy. After all, if a web design firm can’t effectively brand itself, how will potential clients trust it to brand them? If you’re looking for helpful tips on how to improve your firm’s brand identity, this article has everything you […]




si

The Psychology of Colour in Web Design: How to Influence Customer Perception

There are over 7000 languages spoken in the world today, and it’s constantly increasing. Without the help of translation tools, many of us would not be able to make friends or do business with people beyond our geographical borders due to language barriers. However, if there is one language everybody on this planet speaks fluently […]




si

6 Tactics for Promoting Your Local Business

As a small business proprietor, you must establish connections with local patrons, integrate into the community, and differentiate yourself from your rivals. However, understanding how to market your business locally requires clever marketing techniques. Given the limited pool of potential customers in your vicinity, prioritizing local marketing endeavors is essential, especially when considering that your […]




si

A Guide for Writing Brochures and Uploading Them to Your Website

Even though digital types of content have taken over the marketing landscape, brochures still hold an enduring relevance as a powerful communication device. These portable companions, often overlooked in the modern age, hold the potential to inform, inspire, and captivate, which is why they’re an indispensable asset for any business. Exploring the Evolving Role of […]




si

Web Designer Must-Have Skills As A Pro in 2024 – Web Design Tips

As we navigate the ever-evolving landscape of web design, it’s crucial to stay ahead of the curve and continuously expand our skill set. As a seasoned web designer with years of experience, I’ve witnessed firsthand the rapid changes in our industry. Today, I’ll share my insights on the must-have skills for professional web designers in […]



  • Web Design
  • Adobe XD
  • advanced web design tools
  • AI in web design
  • CMS for web design
  • content management systems
  • continuous learning in web design
  • design prototyping tools
  • design systems
  • ethical web design
  • Figma for web design
  • Git for web designers
  • HTML CSS JavaScript
  • microinteractions in web design
  • mobile-first design
  • modern web design trends
  • must have web design skills
  • privacy and security in web design
  • professional web designer
  • Responsive web design
  • SEO best practices
  • Sketch for web design
  • user experience design
  • ux design
  • version control for web designers
  • web accessibility
  • web design animation
  • web design collaboration tools
  • web design skills 2024
  • web designer skills 2024
  • website performance optimization

si

Rekomendasi Provider Slot Online Paling Populer

Tidak di pungkiri saat ini permainan slot sudah berkembang pesat, dimana para penggemarnya dapat mainkan slot tersebut secara online. Tidak perlu lagi pergi ke casino untuk mainkan slot ini, cukup menggunakan smartphone atau laptop yang terhubung ke internet sudah dapat bermain sepuasnya. Kelebihan dari permainan slot online ini lebih variatif dengan tema-tema permainan yang berbeda-beda. […]