home home

week 1 documentation

assignments

  • Plan & sketch a potential final project
  • student agreement to repo
  • work through a git tutorial

Setup checklist

  • install local program git
  • generate SSH key (id ed25519)
  • login to fabcloud
  • clone personal repo
  • make & publish changes
  • install markdown (optional)
  • explore
Week 1 pic1
                  
              # Replace the text below to customize your site

              site_name: Your name - Fab Academy
              site_description: Fab Academy documentation site for Your Name
              site_author: Your name
              copyright: Copyright 2023 Your name - Creative Commons Attribution Non Commercial

              site_url: http://fibasile.fabcloud.io/fabacademy-student-template/

              extra:
                # Set your own social media below (or remove)
                social:
                  # For other social icons at https://squidfunk.github.io/mkdocs-material/setup/adding-social-links/
                  - icon: fontawesome/brands/instagram
                    link: https://instagram.com/fabacademy
                  - icon: fontawesome/brands/facebook
                    link: https://facebook.com/fabacademy
                  - icon: fontawesome/brands/twitter
                    link: https://twitter.com/fabacademy
                  - icon: fontawesome/brands/linkedin
                    link: "https://linkedin.com/in/academy"

              theme:
                name: material
                palette:
                  # try other colors https://squidfunk.github.io/mkdocs-material/getting-started/#primary-colors
                  primary: deep
                  accent: indigo

                font:
                  # See available fonts at https://fonts.google.com/
                  text: Ubuntu
                  code: Ubuntu Mono

                icon:
                  logo: material/school

                favicon: images/favicon.svg

                features:
                  - navigation.tabs
                  - navigation.instant

              plugins:
                - search
                - git-revision-date-localized:
                    fallback_to_build_date: true
                    # Read more: https://timvink.github.io/mkdocs-git-revision-date-localized-plugin/options/#enabled
                    enabled: !ENV [ENABLED_GIT_REVISION_DATE, false]
                  
                

Project management

  • GIT = version control system
  • spiral development / Agile development
  • Linear → X bad idea
  • escape for disasterless escape
  • mvp min viable prototype (works looks like shit)
  • git VCS
  • see all change made (commits)
  • local centralised distributed
  • Linus TORVALD Linux + git father

Website to do: 4 pages to design

  1. landing weekly assignments
  2. final project
  3. about me
  4. template for weekly assignment page

Branches + MkDocs experiment

creating a branch to install mkdocs & document it & going back to the original to work on html & css & js

  • installed mk docs on branch, deleted everything in the branch & added mk docs files
  • edited a bit on VS Code & committed test changes
  • I have 3 branches now main handcoded & mkdocs
  • tried merging handcoded & main to publish — it worked!!
  • I prefer working in main directly and using git history if I need older versions

23rd January: local class - mk docs

Week 1 pic3 Week 1 pic6 Week 1 pic4 Week 1 pic7

i created a separate branch to run the mkdocs by using git checkout -b mkdocs

and to return to my original branch, I used git checkout main

then I designed the site on figma to visualise the elements and create the backgrounds.

27th, 28th January: coding the website

Week 1 pic9

and then coded on VS Code! i used different backgrounds i designed for different pages and coded the hotzones to create a clickable zone with multiple projects. P.s i made the header a part of the background for now, i plan to make it a text part of the code in the next week

the template for the week page

                    
                <header class="page-header">
                    <div class="top-line-title">
                        <div class="title-heart"></div>
                        <h1>Dhrishya Ramadass</h1>
                        <div class="title-heart"></div>
                    </div>

                    <h3>fabacademy at fablab barcelona 2026</h3>
                </header>

                <main>
                    <a class="home-link" href="../index.html">
                        <img src="../images/ui/icon-home.webp" alt="home" />
                        <span>home</span>
                    </a>

                    <div class="window-container">
                        <div class="window-top-bar window-top-bar-documentation">
                            <h3 class="window-top-bar-text">error</h3>
                        </div>

                        <div class="window-content">
                            <section class="week-content">
                                <h2>404-page not found</h2>
                                <h3>please try again later</h3>
                            </section>
                        </div>
                    </div>
                </main>
                    
                  

made some folders inside the repo to start coding and got this error on my terminal! after some troubleshooting with chatgpt, we added the SSH key again to gitlab and all was good!!

Week 1 pic10 Week 1 pic11

next i downloaded the background as a png and compressed it to a webp format on cloudinary

here is the css:

                  
              .bg-about {
                  background-image: url("images/bg/about.webp");
              }

              .bg-final {
                  background-image: url("images/bg/final.webp");
              }

              .bg-agreement {
                  background-image: url("images/bg/agreement.webp");
              }

              .bg-week {
                  background-image: url("images/bg/week-template.webp");
              }

              .bg-week1 {
                  background-image: url("/images/bg/week-1-bg.webp");
                  background-repeat: no-repeat;
                  background-position: top center;
                  background-size: 100% auto;
                  background-attachment: scroll;

                  /* subtle fallback color while image loads */
                  background-color: #f7efe9;
              }
                  
                

and added my fonts for the folder name and student agreement into the repo as well

                  
              /* small captions keep smaller size */
              .caption {
                  font-size: 14px;
                  opacity: 0.85;
                  margin-top: -8px;
                  margin-bottom: 20px;
              }

              /* fix: agreement-text font-size formatting */
              .agreement-text {
                  font-family: "ITC Garamond Std", serif;
                  font-size: 16px;
                  line-height: 1.208;
                  letter-spacing: 0.003em;
                  color: #2b1d1d;
              }

              .agreement-box {
                  position: absolute;
                  left: 10vw;
                  top: 28vh;
                  width: 72vw;
                  max-width: 1400px;

                  padding: 18px 22px;
              }
                  
                
Week 1 pic12 Week 1 pic13

first look! but the bottom got cropped because i made it on figma like i would make a site, and then increased the height as i needed to add more stuff - similar to prototyping for ui/ux design - so i needed to change the resolution again

Week 1 pic14

similar to prototyping for ui/ux design - so i needed to change the resolution again

Week 1 pic15

much better! now i want to add the folders in

Week 1 pic16

i ended up making the folder in the background bigger to fit the folders

Week 1 pic17

linked the pages with <href> in the html with the hotzones i created earlier and then committed the student agreement to my repo

Week 1 pic18

added a home button to make navigation easier on my site but i couldn’t see it. found out it was a pathway issue and i was referencing the wrong folder

                  
              icon-home.webp
                  
                
                
            <a class="home-link" href="index.html">
                <img src="images/ui/icon-home.webp" alt="Home" />
                <span>home</span>
            </a>
                
              

the css:

              
          .home-link {
              position: fixed;
              top: 24px;
              left: 24px;
              z-index: 1000;
              display: grid;
              justify-items: center;
              gap: 6px;
              text-decoration: none;
              color: inherit;
          }

          .home-link img {
              width: 40px;
              height: auto;
              display: block;
          }
              
            

the html:

changed linking

              
          <a class="home-link" href="../index.html">
              <img src="../images/ui/icon-home.webp" alt="Home" />
              <span>home</span>
          </a>
              
            
Week 1 pic19

can see it! i fixed these small bugs for now, to focus on finishing the documentation!

Week 1 pic21 Week 1 pic22 Week 1 pic23 Week 1 pic24

Final project idea

for my final project, I want to make a heartbeat visualiser and stabiliser

  • What does the machine do?
  • uses pulse sensor input and neopixel output to visualise the heartbeat of the person touching it
  • I was inspired to use a metronome from mu experience as a classical dancer and observing how beats influence the body and the speed at which breathing and movement happens.
  • it has metronome and a slider with different BPM (beats per minute) values as the input
  • the system uses a custom made PCB to control lights, OLEDs, motors and sensors.
  • the idea is that the user can see their heartbeat and set a higher or lower BPM on the metronome to increase or decrease the heartbeat
  • the oled screen will show the waveform and BPM data
  • I imagine this to be used for meditation, grounding, anxiety control or even just as a metronome

to find out

  • what materials will i use?
  • how will the interface be?
  • How can the 2 systems interact? the pulse visualiser and the metronome slider+ output
  • what will the output for the metronome be? speaker, vibrations, sound using motor and arm,etc
  • which electronic components to use to include

here is my initial idea

Week 1 pic1

what i need

  • barduino
  • neopixel lights
  • OLED screen
  • pulse sensor
  • motor
  • potentiometer
  • buzzer
Week 1 pic1 Week 1 pic1

final project execution plan

monthly overview:

  • February: Research and planning, understanding technical foundations: understand the components i need and assemble a minimum version with available components and barduino.
  • March: Prototyping and custom electronics designing: learn pcb making, circuitry and create a version of the final project
  • April: Testing and iteration, the physical experience: transform and tweak the experience to create a realistic and emotional output
  • May: Final adjustments, polishing and documentation: make the final version and update documentation on site
  • June: Presentations!

here is a more complex breakdown of the project timeline. this one is pretty ambitious but i hope to stick to it

Week 1 pic1

personal reflection

It was an exciting week as we explored the possibilities of technology and design and the potential for creating meaningful work and interactions. I am fairly new to coding so i used A LOT of help from ChatGPT to help me understand git , terminal, vs code, html and css. I considered using markdown to make it easier for myself but then I also made a highly unrealistic design that I plan to achieve with just html, css and javascript to help me learn the basics of these languages. I have always been curious about them so i appreciate the opportunity to explore.

Once the git setup is completed, he most consistent git commands i use are git status, git add ., and git push. During the html coding, i found that it was challenging but good for me to work in reverse where i had the design created and decided to do anything to reach my vision, rather than grow in the language at a realistic pace. i am happy that i am at a point where all the pages are fully coded and the code is handwritten by me and I understand to an extent what's in there.

i predict that i will get faster at coding as i work on the documentation and explore the limits of the cool things i can do with the languages i am learning. my hope is that i keep up regularly and don't forget easily what i learned this week. i learned that it is important to compress files and keep every push less than 2MB (i think? i need to clarify) this might also be complicated as it is difficult to do with 3d models and good quality renders.

over time i have made made modifications to my site such as separate sections in the weekly pages, table of contents, and more customisation of each weekly page. I have also replaced the background images with gradients in css and coded repedentations of the designs i created on figma.

P.s I celebrated this week by getting my nails to match my website design!

Week 1 pic1

notes

19th and 20th January: Bootcamp

Had a great intro to the course, watched presentations on useful things to keep in mind for documentation, opened up Nueval and created accounts on GitLab and Fabacademy. It was good to see some previous students talk about having fun throughout with memes, how to use AI in the best way and see previous projects.

21st January: First global class!

Went to the Fablab and met my classmates! Met up with my teachers from the masters I did in the same university. Met Neil! and he introduced us to the course and walked through the different important websites, and showed us Git, version control systems and how we can benefit from them.

22nd January: First local class!

Dani gave us a great class on the installation and linking with Git!

Some more notes from class:

  • Website design
  • What is terminal
  • Coding on VS Code
  • Orientation

26th January: final project idea meeting

modular interactive project
RFID inputs creative ways
modular add and remove parts
clicker

I had an idea for WEBSITE: Retro Windows XP aesthetic in pink girly.

Intro to VS Code / any terminal

Terminal (use) – Basic code:

  • pwd = print working directory - shows exactly where you are
  • ls = listing objects inside directory
  • man command –> ls pwd cd - manual help (Q) to close
  • git init = create git repository
  • mkdir = make directory
  • command --help = more actions

Learning HTML & CSS

  • RFC (add comment between code)
  • comment out stuff
  • Show hide
  • / directory folder
  • specific directory

Terminal (Git workflow)

  • git pull
  • git add
  • git status
  • git commit -m "comment"
  • git push

HTML intro

  • static site generator
  • sites without html (markdown)
  • I plan to use VS Code with html & CSS directly
  • No markdown
  • I want to practice & be good at code

Starting up

  • git github
  • every webpage can be in html
  • <div> add page
  • <a> add link </a>
  • opening tag / closing tag
  • what is the internet + how it is
  • network connections
  • 0s & 1s files
  • URL
  • make accessible inside the network of internet

Schedule notes

  • Global class: 15:00 - Wednesday
  • Local class: 9:30–13:30 – Thursday, Friday
  • Mondays → project review monthly (9:30 to 12:30)
  • Recitation every other week (15:00)
  • general fabacademy schedule

Feedback from Dani:

Start with the minimum viable output so just show information about one machine and it status Use the Barduino to start playing around but eventually have to design my own electronic pcb to make this work gave me a barduino and an e-paper screen to start start experimenting with

Week 1 pic8

Links