برچسب: Personal

  • The Making of a Personal Project Platform: A Portfolio that Grew out of Process and Play

    The Making of a Personal Project Platform: A Portfolio that Grew out of Process and Play



    This summer I created my Personal Project Platform. It wasn’t exactly intentional. When I realised where my process was going, I was already some way along.

    Speaking of process, I’m a big fan. When you’re ready to surrender, you’ll find yourself in places you wouldn’t expect. Anyway, two paths came together when I discovered I was working on my Personal Project Platform. Let’s talk about the first one.

    Path 1: A Necessary Happy Place

    As a designer, or as a human being for that matter, not every day is full of inspiration. Especially when the design-and-AI landscape changes as fast as it does now, it’s sometimes hard to see the big picture.

    As a remedy, I started building a moodboard that would serve as my Happy Place. Whenever I came across a reference that made me smile, I put it there. It had sections for my dream office; quotes and thoughts that resonated with me; and random image fragments that, together, felt like me ~ or at least a designer version of me. I started adding my own scribbles, notes and thoughts about purpose: why am I still doing this? What am I looking for as a designer?

    Things that inspired me. Among MyMind, Bon Iver, Collins, Orchid and other stuff from great designers.
    A section from my Happy Place. Snippets from MyMind, Bon Iver, Collins, Orchid, Kode, Daylight and other work from great designers.

    Path 2: Instagram Experiments

    One evening in December 2022, I had a drink with a designer friend. We were making random things just for fun. At work, I had shifted into more of a managerial role, and I missed designing. 

    Then I thought: why not throw it online? So I created an Instagram account and posted my first Processing sketch.

    The more I made, the more I wanted to make. Over time, this habit became part of me. Sketches became interactive, but it bothered me they only ran locally ~ I was the only one who could interact with them. I also started sharing quick tutorials, and was amazed by how many positive responses I got from people who felt inspired to make something of their own.

    Where the Two Paths Meet

    Meanwhile, my “Happy Place” notes grew longer and more intentional. I wanted more people to interact with my sketches. Since I was doing it all for fun, why not share the source code? Why not collect my resources for others to use?

    Slowly it became an idea for a platform: one where the intentional and the unexpected coexist, showing new designers ~ especially with AI replacing all the fun ~ that learning a craft, practising, and training your creative muscle still matter. 

    Now I just had to build it.

    I started with just a few basic components in Figma.

    Building the Platform

    Since we’re on Codrops, let’s talk code. I have a background in PHP and JavaScript ~ old-school, before ES6 or TypeScript, let alone Vue or React. I wanted to use this project to learn something new.

    After some research, I decided on Nuxt.js. From what I read, it’s easier to set up than Next.js. And since my platform isn’t likely to scale any time soon, I think it does the job. I had also played with Prismic CMS a few years back. Lightweight, not too many features, but fine for me. So I watched some Nuxt.js+Prismic tutorials, and off I went.

    The Hero

    I knew I wanted interactive components. Something that gave visitors an immediate sense of my work. Let’s start with the hero.

    With your mouse you draw objects onto the canvas, plain and simple. I wanted the objects to have a link with nature ~ something that grows, can flourish ~ as you would do when you take on lots of personal projects.

    In my first sketch the flowers scaled from small to big, literally growing. But then I thought: how many times had I got stuck on a sketch, frustrated over an idea that just wouldn’t work out? So I decided linear growth wouldn’t be honest. Most of the time when I work on my projects my head is all over the place. Things should scale randomly, they don’t even need to match in width and height. I like it like this, it mirrors the tension between control and chaos in my work. Below you’ll find the bit where this is happening.

    /**
     * Get a portion of the next image
     */
     public getPortion(): p5.Image {
       // Fetch original
       const original = this.getNext();
       if (! original) return null;
    
       // Source
       const ow = original.width;
       const oh = original.height;
       const sx = Math.random() * ow;
       const sy = Math.random() * oh;
    
       // Remaining part
       const loW = ow - sx;
       const loH = oh - sy;
    
       let sw = Math.round(loW * Math.random()) + 10;
       let sh = Math.round(loH * Math.random()) + 10;
    
       // Destination
       const dx = 0;
       const dy = 0;
       const dw = sw;
       const dh = sh;
        
       // Create new image
       const copy = this.p.createImage(dw, dh);
       copy.copy(original, sx, sy, sw, sh, dx, dy, dw, dh);
    
       return copy;
     }
    
     public getRandomSizedPortion(): p5.Image {
       // Get portion
       const img = this.getPortion();
       if (! img) return null;
    
       // Random size
       const maxSize = this.p.width * .1;
       img.resize(this.p.random(10,maxSize), this.p.random(10,maxSize));
    
       return img;
     }

    The Footer

    To balance the hero, I also made the footer interactive. I used an older sketch as a base, adding depth and texture to make it feel a little like an abstract ocean.

    For me, it brings a sense of calm and focus ~ with subtle vertical movement and a tone that changes as you move the mouse along the x-axis. The snippet below should give you an idea of how it works, but the original sketch is available to download on the platform. So if you’re curious, go ahead and play.

    /**
     * Calculate all data
     */
     public update() {
    
       // Animation settings
       let duration: number = 128;
       let progress: number = this.p.frameCount % duration;
       if(progress == 0) this.iteration++;
        
       // Rows and height
       let numRowsDrawn: number = this.numRows + 1 + this.iteration;
       let colW: number = this.p.width / this.numCols;
       let rowH: number = this.p.height / this.numRows;
    
       let count = 0;
       // Loop through rows
       for (let y: number = this.iteration; y<numRowsDrawn; y++) {
          
         // Calculate y position (start at the bottom)
         let targetY: number = this.p.height - (y+1) * rowH + this.iteration * rowH;
    
         // Where are we in the progress
         let posY: number = this.p.map(progress, 0, duration, targetY, targetY+rowH);
         // Mouse influence
         const smoothing = 0.06;
         this.currentMouseX += (this.p.mouseX - this.currentMouseX) * smoothing;
         const mouseInfluence: number = this.p.map(this.currentMouseX, 0, this.p.width, .8, -.3);
    
         // What is the influence based on the y position
         let yInfluence: number = this.p.map(posY / this.numRows, 0, rowH, 1, this.numRows+1) * mouseInfluence;
         // Double columns each row
         let extraCols: number = Math.exp(yInfluence * Math.LN2); 
         // Size and position
         let currentW: number = colW + extraCols * colW;
          
         // Loop through columns
         for (let x:number = 0; x<this.numCols; x++) {
           // Calculate x position
           let posX: number = x * currentW - (extraCols * yInfluence + 1) * colW;
    
           // Don't draw things out of screen x-axis
           if(posX > this.p.width) continue;
           if(posX + currentW < 0) continue;
    
           // Draw 
           this.display(x, y, posX, posY, currentW, rowH);
           count++;
          }
        }
      }

    The Masonry Grid

    I’ve always liked inspiration websites where a lot is going on. You get all sorts of images and videos that are strong on their own, but gain new purpose in a different context. That’s what I wanted for my case overview

    Since I don’t aim for any particular graphical style, I like that it feels more like a collection of references. This is why I decided to go for a masonry grid. I didn’t want to use a plugin, so I built this little CSS/JavaScript thingy where I use CSS Grid rows to distribute the images, and JavaScript to calculate how many rows it should span, depending on the aspect ratio that is set in the CMS. I think there is still room for improvement, but to be honest, I ran low on patience on this one. I decided it does the job for now. Maybe I will get back to it someday to refactor. Below is the snippet where most of the work happens.

    function applyMasonry() {
       // Fetch grid and items
       const grid = document.querySelector('.masonry-grid');
       const items = grid?.querySelectorAll('.masonry-item');
    
       // Make sure they’re both loaded
       if (!grid || !items) return
    
       // Get properties from CSS
       const rowHeight = parseInt(getComputedStyle(grid).getPropertyValue('grid-auto-rows'))
       const gap = parseInt(getComputedStyle(grid).getPropertyValue('gap') || 0)
        
       items.forEach(item => {
    
         // Fetch media and info container separately
         const media = item.querySelector('.masonry-item__image-container')
         const info = item.querySelector('.masonry-item__info-container')
    
         if (!media || !info) return
    
         // Combine them to item height
         const mediaHeight = media.getBoundingClientRect().height
         const infoHeight = info.getBoundingClientRect().height
         const itemHeight = mediaHeight + infoHeight
    
         // Calculate how many rows to span
         const rowSpan = Math.ceil((itemHeight + gap) / (rowHeight + gap))
    
         // Apply row span
         item.style.gridRowEnd = `span ${rowSpan}`;
         item.style.opacity = 1;
       })
     }

    Resources & Code

    Since I truly want to encourage people to start their own journey with personal projects, I want to share resources and code examples to get them started.

    Of course with the launch of this platform I had to do this retrospectively for more than 20 projects, so in future I’ll probably share more process and behind-the-scenes. Who knows. Anyway, this component gives me a space for anything that might be useful to people who are interested.

    Two Weeks Without a Laptop

    Then the summer holiday arrived. France. Four days of Disneyland chaos, followed by some peace near the ocean. Days were simple: beach, pool, playgrounds. In between, I picked up a Bon Iver notebook I’d bought back home.

    At the time, the platform had a temporary wordmark with my initials “mvds”. But I felt I could spend a little more time and attention crafting something beautiful. So every day I doodled my initials in all sorts of forms. By the end of the holiday I had a pretty good idea of what my logomark should become. Back home, with two more weeks before I needed to get back to work, I started digitising my sketches and tweaking anchor points until I got it right. (Then tweaked a little more, you know how it goes.) This resulted in a logomark I’m quite proud of. So I figured it needed a place on the platform.

    P5.js vs Three.js

    For the launch of my logomark on Instagram, I created a Processing sketch that placed the logo in a pixelated 3D scene, rotating. I liked that it almost became a sculpture or building of sorts. Now I only needed to build a web version.

    Because my Hero and Footer components were both p5.js, this was my first choice. But it was slow ~ I mean like really slow. No matter how I tried to optimise it, the 3D workload killed the performance. I had only worked with Three.js once a few years back, but I remembered it handled 3D pretty well. Not sure you’re going to have the best performing website by using multiple libraries, but since it’s all just for fun, I decided to give it a go. With the Three.js version I could add far more detail to the structure, and it still performed flawlessly compared to the p5.js version. Below you’ll see me looping through all the voxels.

    let instanceId: number = 0;
    
    // Loop using voxel resolution (detail), not image resolution
    for (let z: number = 0; z < detail; z++) {
      for (let y: number = 0; y < detail; y++) {
        const flippedY: number = detail - 1 - y;
    
        for (let x: number = 0; x < detail; x++) {
          // Sample image using normalized coordinates
          const sampleX: number = Math.floor((x / detail) * imgDetail);
          const sampleY: number = Math.floor((flippedY / detail) * imgDetail);
          const sampleZ: number = Math.floor((z / detail) * imgDetail);
    
          const brightness1: number = getBrightnessAt(imgData, imgDetail, sampleX, sampleY);
          const brightness2: number = getBrightnessAt(imgData, imgDetail, sampleZ, sampleY);
    
          if (brightness1 < 100 && brightness2 < 100 && instanceId < maxInstances) {
            dummy.position.set(
              x * cellSize - (detail * cellSize) / 2,
              y * cellSize - (detail * cellSize) / 2,
              z * cellSize - (detail * cellSize) / 2
              );
            dummy.updateMatrix();
            mesh.setMatrixAt(instanceId, dummy.matrix);
            instanceId++;
          }
        }
      }
    }

    Wrapping Up

    This platform isn’t finished ~ that’s the point. It’s a space to interact with my coded tools, for sketches to be shared for further exploration and for process itself to stay visible. If you’re a designer or coder, I hope it nudges you to start or continue your own side projects. That’s how creativity stays alive. Thank you for reading.





    Source link

  • Digital Personal Data Protection act Guide for Healthcare Leaders

    Digital Personal Data Protection act Guide for Healthcare Leaders


    The digital transformation of India’s healthcare sector has revolutionized patient care, diagnostics, and operational efficiency. However, this growing reliance on digital platforms has also led to an exponential increase in the collection and processing of sensitive personal data. The Digital Personal Data Protection (DPDP) Act 2023 is a critical regulatory milestone, shaping how healthcare organizations manage patient data.

    This blog explores the significance of the DPDP Act for hospitals, clinics, pharmaceutical companies, and other healthcare entities operating in India.

    Building an Ethical and Trustworthy Healthcare Environment

    Trust is the cornerstone of patient-provider relationships. The DPDP Act 2023 reinforces this trust by granting Data Principals (patients) fundamental rights over their digital health data, including access, correction, and erasure requests.

    By complying with these regulations, healthcare organizations can demonstrate a commitment to patient privacy, strengthening relationships, and enhancing healthcare outcomes.

    Strengthening Data Security in a High-Risk Sector

    The healthcare industry is a prime target for cyberattacks due to the sensitivity and value of patient data, including medical history, treatment details, and financial records. The DPDP Act mandates that healthcare providers (Data Fiduciaries) implement comprehensive security measures to protect patient information from unauthorized access, disclosure, and breaches. This includes adopting technical and organizational safeguards to ensure data confidentiality, integrity, and availability.

    Ensuring Regulatory Compliance and Avoiding Penalties

    With strict compliance requirements, the Digital Personal Data Protection Act provides a robust legal framework for data protection in healthcare. Failure to comply can result in financial penalties of up to ₹250 crore for serious violations. By aligning data processing practices with regulatory requirements, healthcare entities can avoid legal risks, safeguard their reputation, and uphold ethical standards.

    Promoting Patient Empowerment and Data Control

    The DPDP Act empowers patients with greater control over their health data. Healthcare providers must establish transparent mechanisms for data collection and obtain explicit, informed, and unambiguous patient consent. Patients also have the right to know how their data is used, who has access, and for what purposes, reinforcing trust and accountability within the healthcare ecosystem.

    Facilitating Innovation and Research with Safeguards

    While prioritizing data privacy, the Digital Personal Data Protection Act also enables responsible data utilization for medical research, public health initiatives, and technological advancements. The Act provides pathways for the ethical use of anonymized or pseudonymized data, ensuring continued innovation while protecting patient rights. Healthcare organizations can leverage data analytics to improve treatment protocols and patient outcomes, provided they adhere to principles of data minimization and purpose limitation.

    Key Obligations for Healthcare Providers under the DPDP Act

    Healthcare organizations must comply with several critical obligations under the DPDP Act 2023:

    • Obtaining Valid Consent: Secure explicit patient consent for collecting and processing personal data for specified purposes.
    • Implementing Security Safeguards: To prevent breaches, deploy advanced security measures, such as encryption, access controls, and regular security audits.
    • Data Breach Notification: Promptly report data breaches to the Data Protection Board of India and affected patients.
    • Data Retention Limitations: Retain patient data only as long as necessary and ensure secure disposal once the purpose is fulfilled.
    • Addressing Patient Rights: Establish mechanisms for patients to access, correct, and erase their personal data while addressing privacy-related concerns.
    • Potential Appointment of a Data Protection Officer (DPO): Organizations processing large volumes of sensitive data may be required to appoint a DPO to oversee compliance efforts.

    Navigating the Path to DPDP Compliance in Healthcare

    A strategic approach is essential for healthcare providers to implement the DPDP Act effectively. This includes:

    • Conducting a comprehensive data mapping exercise to understand how patient data is collected, stored, and shared.
    • Updating privacy policies and internal procedures to align with the Act’s compliance requirements.
    • Training employees on data protection best practices to ensure organization-wide compliance.
    • Investing in advanced data security technologies and establishing robust consent management and incident response mechanisms.

    A Commitment to Data Privacy in Healthcare

    The Digital Personal Data Protection Act 2023 is a transformative regulation for the healthcare industry in India. By embracing its principles, healthcare organizations can ensure compliance, strengthen patient trust, and build a secure, ethical, and innovation-driven ecosystem.

    Seqrite offers cutting-edge security solutions to help healthcare providers protect patient data and seamlessly comply with the DPDP Act.

     



    Source link

  • Importance of Digital Personal Data Protection for Retail Sector

    Importance of Digital Personal Data Protection for Retail Sector


    India’s retail sector is undergoing a significant digital transformation, with e-commerce, loyalty programs, and personalized marketing becoming the norm. This evolution means retailers are collecting and processing vast amounts of customer data, making compliance with the Digital Personal Data Protection (DPDP) Act 2023 a business necessity.

    This blog explores why the DPDP Act is critical for the Indian retail ecosystem, highlighting its role in strengthening customer trust, enhancing data security, and ensuring responsible data management. By aligning with this legislation, retailers can meet regulatory requirements and differentiate themselves through stronger data governance and transparency.

    • Building Stronger Customer Relationships Through Trust

    Customer trust is a critical business asset in today’s competitive retail landscape. The DPDP Act grants consumers (Data Principals) key rights over their data, including access, correction, and erasure under specific conditions. By aligning with the DPDP Act’s compliance framework, retailers can reinforce their commitment to data privacy and transparency, strengthening customer relationships.

    These principles enhance brand credibility and foster long-term customer loyalty, positioning retailers as responsible data stewards in an evolving digital marketplace.

    • Ensuring Data Security in a Digital Marketplace

    The retail sector faces growing cybersecurity risks, with data breaches potentially exposing sensitive customer information such as payment details and contact data. Under the DPDP Act, as Data Fiduciaries, retailers must implement robust security measures to prevent breaches and promptly notify the Data Protection Board of India and affected customers in case of an incident.

    By prioritizing compliance-driven data security, retailers can mitigate cyber risks, protect customer information, and safeguard brand reputation, ensuring long-term business resilience in an increasingly digital landscape.

      • Promoting Fair and Transparent Data Practices

    The DPDP Act enforces key principles like purpose limitation and data minimization. It requires retailers to collect only necessary data for defined purposes—such as processing transactions or personalizing offers—and retain it only as long as needed.

    By adopting transparent data practices, retailers can ensure ethical data usage, reduce compliance risks, and enhance customer confidence. The Act also mandates clear customer notifications on data collection and usage, reinforcing trust and regulatory accountability in an increasingly data-driven retail landscape.

    • Ensuring Regulatory Compliance in a Growing Sector

    The DPDP Act establishes a comprehensive legal framework for data protection, which is crucial for India’s rapidly expanding retail industry. Compliance ensures that retailers meet regulatory standards for processing digital personal data, mitigating risks of penalties and legal liabilities.

    By aligning with the Act’s requirements, retailers can reinforce their commitment to ethical data practices, enhance customer trust, and operate with greater transparency and accountability in the evolving digital marketplace.

    • Empowering Consumers with Control Over their Data

    The DPDP Act grants consumers the right to access, correct, and request the erasure of their digital personal data held by retailers. To ensure compliance, businesses must implement efficient mechanisms for handling these requests within the legal framework.

    By prioritizing consumer data rights, retailers can enhance transparency, strengthen accountability, and foster trust, allowing customers to make informed decisions about the data they share—ultimately improving brand credibility and customer engagement.

    • Key Compliance Obligations for Retailers under the DPDP Act

    Retailers must align with several critical obligations under the DPDP Act 2023 to ensure compliance and data protection:

    • Obtaining Informed Consent: Customer consent is required to process personal data, including marketing and loyalty programs.
    • Implementing Security Measures: Strong technical and organizational controls must safeguard customer data, such as secure access to corporate resources and endpoint protection.
    • Data Breach Notification: Any data breaches must be promptly reported to the Data Protection Board and affected customers.
    • Data Retention Policies: Clear policies must ensure customer data is retained only as long as necessary for its intended purpose.
    • Handling Data Principal Rights Requests: Efficient processes should be in place to manage customer requests for data access, correction, and erasure.
    • Potential Appointment of a Data Protection Officer (DPO): Large retailers classified as Significant Data Fiduciaries may be required to appoint a DPO for compliance oversight.

     

    • Navigating the Path to DPDP Compliance in Retail

    Retailers must take a proactive approach to ensure compliance with the DPDP Act. This includes conducting a comprehensive assessment of current data processing practices and updating privacy policies to align with regulatory requirements.

    Staff training on data privacy protocols and investing in data privacy management systems are essential. Additionally, retailers must establish clear procedures for obtaining and managing customer consent, ensuring compliance, transparency, and enhanced customer trust in the digital marketplace.

    Building a Privacy-First Retail Ecosystem

    The Digital Personal Data Protection Act 2023 is pivotal in strengthening data security and trust in India’s retail sector. The Act enhances customer relationships and industry integrity by enforcing responsible data handling, empowering consumers, and prioritizing privacy compliance.

    Retailers who proactively adopt DPDP Act compliance fulfill legal requirements and gain a competitive edge by showcasing their commitment to customer data protection. Seqrite offers comprehensive data protection solutions to help retailers navigate compliance complexities and implement robust security frameworks. Contact us or visit our website for information.

     



    Source link