Portfolio banner

Portfolio

24 devlogs
39h 50m 24s

I’m building a new portfolio. Yes, like everyone, kinda boring, but high school is ending soon and I might have higher chances of getting accepted into university with an awesome portfolio like this one! Btw, the entire website will be in French at first, maybe I will have some time to translate everything into English, in the meantime, you can still admire it (or use Google Translate 😭)

Demo Repository

Loading README...

Johan

This devlog covers many commits, even through it doesn’t implement majors things for now, but it should officially mark the last devlog for the blog post parsing! It fixes tables, dynamic banners, inline images (in a paragraph), and italic text.
Also, the latest GitHub commit is dynamically displayed in the website footer; support for NodeJS is dropped in favor of Bun; and Markdown contents are built in HTML while building the Docker image if possible, or at runtime if it wasn’t available.

Attachment
Attachment
Attachment
0
Johan

Almost finished the Markdown parser that is made to display blog articles from my Obsidian vault! It includes basic markdown features (titles, links, lists, images, inline code) and more specific one (callout), including custom features (embed a blog article, mention a user)…

0
Johan

Updated my web framework (https://github.com/johan-perso/roc-framework) to allow a web server to register routes while running, making the redirection system (with origins and destinations coming from my Obsidian vault) possible! Also fixed the entry animation of the “Open in AI” Dropdown, and reversed the use of a SVG icon for one of the projects banners (it wasn’t rendering correctly on Firefox).

0
Johan

Spent the last days (even weeks??) on classes💔 I should be back, hopefully, and this devlog is a major update for the developement of my portfolio!
For this project, I am including a blogging system, pulled directly from my Obsidian with two steps:

  1. Retrieval, which make me push my Markdown files to the GitHub repo using my new project https://github.com/johan-perso/obsidian-gitpush
  2. Parsing, which converts the Markdown in HTML, using all my style and special components

This is still WIP, but it’s been some time since I’ve published something here, so here I am.

Attachment
0
Johan

The page layout for blog articles is almost done, the only missing piece is a functional backend to get them. In the meantime, this devlog fixes some visuals issues (responsive, animation, overflow, and some minors details), adds a Callout component, and another component to mention someone in an article!

Attachment
Attachment
Attachment
Attachment
0
Johan

Started to implement main content of blog article: title, image/banner, introduction text and primary buttons/CTAs

Attachment
Attachment
0
Johan

Started developing an article page for the future blog feature, currently a static page. A server-side rendered system will be implemented later to create the pages automatically when building the website.

Attachment
Attachment
0
Johan

Thanks to images and videos compression (check out one of my friend’s projects! I made the landing page: johanstick.fr/fwl ), the website loads much faster. Some images now use JPG or WEBP instead of PNG, one even uses SVG! This devlog also continues to improve accessibility readers trying to navigate on the website.

Attachment
0
Johan

The “Copy as markdown” in the “Ask AI to resume” dropdown is now functional: the website fetches a llms.txt file when loading the page (previous devlog), and copies it to the clipboard when the button is pressed, allowing users to use others AIs tools such as native apps (instead of websites) or incompatible one such as Gemini. This devlog also improves the blur intensity of toasts and makes the “about me” left sidebar a component to prepare the next pages.

Attachment
0
Johan

Some responsive elements were handled by JavaScript, and images can be slow to load, so I added a loading screen! This devlog also add an animation to the “open in ai” dropdown.

0
Johan

Just wrote a 142 lines llms.txt file, with a summary of who I am, my skills, my education, my social media links and contact informations, and a list of my ten favorite projects (with details such as my role, in which year, with what technologies, …).
This will allow any AI with internet access to obtain precise details of the website, which will enhance the “Ask AI to resume” button that I added.

Attachment
0
Johan

MAJOR responsive update, the website was mainly built for desktop or large tablets (like an iPad Pro 11” or smth), and I was just skipping things every time I saw a responsive issue, reporting it for later, but later is now. The grid can be scaled to display 2/3/5/6 columns, and many texts (like “Ask AI for questions”) have multiple variations to give the best look possible on every form factors.

Attachment
Attachment
Attachment
Attachment
Attachment
0
Johan

Two sections have been added to the portfolio: the first represents my past projects (to let them leave a trace or smth), and the second one displays the latest blog post (currently waiting to finish the blog system itself)

Attachment
0
Johan

All “large” projects cards are now displayed, the next devlog will includes “small” card that doesn’t includes images, for projects with smaller impact

0
Johan

Even more animations 🤌
The main content layout now displays social icons links with a sliding + opacity animation, and a video can even be played when hovering cursor over the image, allowing the user to see more context over the project.

0
Johan

I started the main content layout, which will display all my currents and past projects, blogs articles, and maybe more in the future, using a Bento layout. I also addressed some flaws in the left sidebar that happened to overflow elements when the screen was becoming too small.

Attachment
Attachment
0
Johan

I’ve added an “highlight” feature that automatically scroll and emphasize some sections when the user is going to a specific page (johanstick.fr/contact -> johanstick.fr/#contact -> detected by JS from here)

0
Johan

Implemented a toast system with a beautiful blur and some animations, while being responsive for mobile and desktop. This also includes new sections for contact links, and one for donate links (via PayPal, Ko-fi or cryptos).

Attachment
0
Johan

Added a news banner component, that allow me to add some announcements to the website (if I’m launching a new project for example). The “header” can tell if it’s brand new (“NOUVEAU” on the screenshot) or not by checking the date and comparing it with now, from the server side.

Attachment
Attachment
0
Johan

Added a map of where I live 🥖🥐, and tried to better optically align elements on the Y-axis

Attachment
Attachment
0
Johan

“Open in AI” dropdown is almost 100% working, you can directly ask ChatGPT/Claude/Grok to review the website for you, the only missing feature is the “Copy Markdown Prompt” that will be added later when most of the content will be available. Among the other AIs that aren’t available, Perplexity was not able to read links, Gemini didn’t supported opening a new thread with pre-filled input, and T3 Chat and Scira AI were too niche for this project.

Attachment
1

Comments

Whatsup
Whatsup about 1 month ago

nice

Johan

The segmented control is now interactive and includes a sliding animation, a dropdown menu has also been added on the same row (not currently interactive). I also needed to make an update to the web framework I’m using (and developing) because it was having trouble parsing some JS attributes in the components system.

0
Johan

Started to add the essentials which include my name (of course), “skills” (more to be added soon, I guess? Just Developer and Student for now), socials links (Twitter, GitHub, Telegram for contact), and a two-way button “Human/Machine” (an idea for later, follow the project to see what it will be👀)

Attachment
0
Johan

Just initialized a new project using my own framework (roc) and TailwindCSS, configured some colors in the Tailwind configuration, downloaded fonts and set up essentials files. I’ve spent about 10h designing a (not so) quick prototype of how it would look, I guess it’s time to start coding!

Attachment
0