skip to content
sys.name
vvhybe_os 26.10
status
200 building papyrus
user
vvhybe (yassine bouba)
location
marrakech,
focus
erp, typescript, pdf infra
contact
@vvhybe

About Yassine Bouba

cat about.md

I'm Yassine Bouba. On the internet I'm vvhybe (whybe7, before that). I'm a full-stack software engineer and artist in Marrakech, and my work bridges two worlds: enterprise business logic and modern web ecosystems.

By day I'm an ERP developer at BigBang.ma, working in Python and Odoo since 2023: data models, operational workflows, point-of-sale modules on the Odoo Apps Store, and concrete business problems solved within strict constraints. It pays the bills, and it taught me to respect pragmatic constraints.

By night I build clean web apps in TypeScript and Next.js. That's the part that pays in thrills. Lately that means @vvhybe/odoo-client, a typed bridge between Odoo and the modern TS ecosystem, and dashboards for studios that outgrew spreadsheets.

Right now I'm building Papyrus, an async-first PDF rendering service that keeps design apart from data. I'm also learning Rust, mostly so the borrow checker can teach me humility.

Away from the keyboard I draw manga, catch candid moments with my camera, and write a book in Arabic, slowly.

cat ~/.config/drivers

I'm a Muslim. These are the verses that shape how I live: my drivers for life.

translation
Al-Kahf (The Cave)الكهف 18:103–106

قُلْ هَلْ نُنَبِّئُكُم بِٱلْأَخْسَرِينَ أَعْمَـٰلًا ﴿١٠٣﴾ ٱلَّذِينَ ضَلَّ سَعْيُهُمْ فِى ٱلْحَيَوٰةِ ٱلدُّنْيَا وَهُمْ يَحْسَبُونَ أَنَّهُمْ يُحْسِنُونَ صُنْعًا ﴿١٠٤﴾ أُو۟لَـٰٓئِكَ ٱلَّذِينَ كَفَرُوا۟ بِـَٔايَـٰتِ رَبِّهِمْ وَلِقَآئِهِۦ فَحَبِطَتْ أَعْمَـٰلُهُمْ فَلَا نُقِيمُ لَهُمْ يَوْمَ ٱلْقِيَـٰمَةِ وَزْنًا ﴿١٠٥﴾ ذَٰلِكَ جَزَآؤُهُمْ جَهَنَّمُ بِمَا كَفَرُوا۟ وَٱتَّخَذُوٓا۟ ءَايَـٰتِى وَرُسُلِى هُزُوًا ﴿١٠٦﴾

  1. Say, [O Muḥammad], "Shall we [believers] inform you of the greatest losers as to [their] deeds?
  2. [They are] those whose effort is lost in worldly life, while they think that they are doing well in work."
  3. Those are the ones who disbelieve in the verses of their Lord and in [their] meeting Him, so their deeds have become worthless; and We will not assign to them on the Day of Resurrection any weight [i.e., importance].
  4. That is their recompense - Hell - for what they denied and [because] they took My signs and My messengers in ridicule.
  1. Dis : "Voulez-vous que Nous vous apprenions lesquels sont les plus grands perdants, en œuvres ?
  2. Ceux dont l’effort, dans la vie présente, s’est égaré, alors qu’ils s’imaginent faire le bien.
  3. Ceux-là qui ont nié les signes de leur Seigneur, ainsi que Sa rencontre. Leurs actions sont donc vaines.” Nous ne leur assignerons aucun poids au Jour de la Résurrection.
  4. C’est que leur rétribution sera l’Enfer, pour avoir mécru et pris en raillerie Mes signes (enseignements) et Mes Messagers.
read 18:103–106 on quran.com
Qāf (The Letter "Qaf")ق 50:16–35

وَلَقَدْ خَلَقْنَا ٱلْإِنسَـٰنَ وَنَعْلَمُ مَا تُوَسْوِسُ بِهِۦ نَفْسُهُۥ ۖ وَنَحْنُ أَقْرَبُ إِلَيْهِ مِنْ حَبْلِ ٱلْوَرِيدِ ﴿١٦﴾ إِذْ يَتَلَقَّى ٱلْمُتَلَقِّيَانِ عَنِ ٱلْيَمِينِ وَعَنِ ٱلشِّمَالِ قَعِيدٌ ﴿١٧﴾ مَّا يَلْفِظُ مِن قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ ﴿١٨﴾ وَجَآءَتْ سَكْرَةُ ٱلْمَوْتِ بِٱلْحَقِّ ۖ ذَٰلِكَ مَا كُنتَ مِنْهُ تَحِيدُ ﴿١٩﴾ وَنُفِخَ فِى ٱلصُّورِ ۚ ذَٰلِكَ يَوْمُ ٱلْوَعِيدِ ﴿٢٠﴾ وَجَآءَتْ كُلُّ نَفْسٍ مَّعَهَا سَآئِقٌ وَشَهِيدٌ ﴿٢١﴾ لَّقَدْ كُنتَ فِى غَفْلَةٍ مِّنْ هَـٰذَا فَكَشَفْنَا عَنكَ غِطَآءَكَ فَبَصَرُكَ ٱلْيَوْمَ حَدِيدٌ ﴿٢٢﴾ وَقَالَ قَرِينُهُۥ هَـٰذَا مَا لَدَىَّ عَتِيدٌ ﴿٢٣﴾ أَلْقِيَا فِى جَهَنَّمَ كُلَّ كَفَّارٍ عَنِيدٍ ﴿٢٤﴾ مَّنَّاعٍ لِّلْخَيْرِ مُعْتَدٍ مُّرِيبٍ ﴿٢٥﴾ ٱلَّذِى جَعَلَ مَعَ ٱللَّهِ إِلَـٰهًا ءَاخَرَ فَأَلْقِيَاهُ فِى ٱلْعَذَابِ ٱلشَّدِيدِ ﴿٢٦﴾ ۞ قَالَ قَرِينُهُۥ رَبَّنَا مَآ أَطْغَيْتُهُۥ وَلَـٰكِن كَانَ فِى ضَلَـٰلٍۭ بَعِيدٍ ﴿٢٧﴾ قَالَ لَا تَخْتَصِمُوا۟ لَدَىَّ وَقَدْ قَدَّمْتُ إِلَيْكُم بِٱلْوَعِيدِ ﴿٢٨﴾ مَا يُبَدَّلُ ٱلْقَوْلُ لَدَىَّ وَمَآ أَنَا۠ بِظَلَّـٰمٍ لِّلْعَبِيدِ ﴿٢٩﴾ يَوْمَ نَقُولُ لِجَهَنَّمَ هَلِ ٱمْتَلَأْتِ وَتَقُولُ هَلْ مِن مَّزِيدٍ ﴿٣٠﴾ وَأُزْلِفَتِ ٱلْجَنَّةُ لِلْمُتَّقِينَ غَيْرَ بَعِيدٍ ﴿٣١﴾ هَـٰذَا مَا تُوعَدُونَ لِكُلِّ أَوَّابٍ حَفِيظٍ ﴿٣٢﴾ مَّنْ خَشِىَ ٱلرَّحْمَـٰنَ بِٱلْغَيْبِ وَجَآءَ بِقَلْبٍ مُّنِيبٍ ﴿٣٣﴾ ٱدْخُلُوهَا بِسَلَـٰمٍ ۖ ذَٰلِكَ يَوْمُ ٱلْخُلُودِ ﴿٣٤﴾ لَهُم مَّا يَشَآءُونَ فِيهَا وَلَدَيْنَا مَزِيدٌ ﴿٣٥﴾

  1. And We have already created man and know what his soul whispers to him, and We are closer to him than [his] jugular vein.
  2. When the two receivers [i.e., recording angels] receive, seated on the right and on the left.
  3. He [i.e., man] utters no word except that with him is an observer prepared [to record].
  4. And the intoxication of death will bring the truth; that is what you were trying to avoid.
  5. And the Horn will be blown. That is the Day of [carrying out] the threat.
  6. And every soul will come, with it a driver and a witness.
  7. [It will be said], "You were certainly in unmindfulness of this, and We have removed from you your cover, so your sight, this Day, is sharp."
  8. And his companion, [the angel], will say, "This [record] is what is with me, prepared."
  9. [Allāh will say], "Throw into Hell every obstinate disbeliever,
  10. Preventer of good, aggressor, and doubter,
  11. Who made [as equal] with Allāh another deity; then throw him into the severe punishment."
  12. His [devil] companion will say, "Our Lord, I did not make him transgress, but he [himself] was in extreme error."
  13. [Allāh] will say, "Do not dispute before Me, while I had already presented to you the threat [i.e., warning].
  14. The word [i.e., decree] will not be changed with Me, and never will I be unjust to the servants."
  15. On the Day We will say to Hell, "Have you been filled?" and it will say, "Are there some more,"
  16. And Paradise will be brought near to the righteous, not far,
  17. [It will be said], "This is what you were promised - for every returner [to Allāh] and keeper [of His covenant].
  18. Who feared the Most Merciful in the unseen and came with a heart returning [in repentance].
  19. Enter it in peace. This is the Day of Eternity."
  20. They will have whatever they wish therein, and with Us is more.
  1. Nous avons effectivement créé l’homme et Nous savons ce que son âme lui suggère et Nous sommes plus près de lui que sa veine jugulaire.
  2. quand les deux recueillants, assis à droite et à gauche, recueillent .
  3. Il ne prononce pas une parole sans avoir auprès de lui un observateur prêt à l’inscrire.
  4. L’agonie de la mort fait apparaître la vérité : "Voilà ce dont tu t’écartais."
  5. Et l’on soufflera dans la Trompe : Voilà le jour de la Menace.
  6. Alors chaque âme viendra accompagnée d’un conducteur et d’un témoin.
  7. "Tu restais indifférent à cela. Et bien, Nous ôtons ton voile ; ta vue est perçante aujourd’hui .
  8. Et son compagnon dira: "Voilà ce qui est avec moi, tout prêt."
  9. "Vous deux, jetez dans l’Enfer tout mécréant endurci et rebelle ,
  10. acharné à empêcher le bien, transgresseur, douteur,
  11. celui qui plaçait à côté d’Allah une autre divinité. Jetez-le donc dans le dur châtiment"..
  12. Son camarade (le Diable) dira: "Seigneur, ce n’est pas moi qui l’ai fait transgresser; mais il était déjà dans un profond égarement".
  13. Alors [Allah] dira : "Ne vous disputez pas devant moi! Alors que Je vous ai déjà fait part de la menace.
  14. Chez moi, la parole ne change pas ; et Je n’opprime nullement les serviteurs."
  15. Le jour où Nous dirons à l’Enfer ; "Es-tu rempli ?" Il dira : "Y en a-t-il encore?"
  16. Le Paradis sera rapproché à proximité des pieux.
  17. "Voilà ce qui vous a été promis, [ainsi qu’] à tout homme plein de repentir et respectueux [des prescriptions divines]
  18. qui redoute le Tout Miséricordieux bien qu’il ne Le voit pas , et qui vient [vers Lui] avec un cœur porté à l’obéissance.
  19. Entrez-y en toute sécurité." Voilà le jour de l’éternité !
  20. Il y aura là pour eux tout ce qu’ils voudront. Et auprès de Nous il y a davantage encore.
read 50:16–35 on quran.com
Āyat al-Kursī, Al-Baqarah (The Cow)البقرة 2:255

ٱللَّهُ لَآ إِلَـٰهَ إِلَّا هُوَ ٱلْحَىُّ ٱلْقَيُّومُ ۚ لَا تَأْخُذُهُۥ سِنَةٌ وَلَا نَوْمٌ ۚ لَّهُۥ مَا فِى ٱلسَّمَـٰوَٰتِ وَمَا فِى ٱلْأَرْضِ ۗ مَن ذَا ٱلَّذِى يَشْفَعُ عِندَهُۥٓ إِلَّا بِإِذْنِهِۦ ۚ يَعْلَمُ مَا بَيْنَ أَيْدِيهِمْ وَمَا خَلْفَهُمْ ۖ وَلَا يُحِيطُونَ بِشَىْءٍ مِّنْ عِلْمِهِۦٓ إِلَّا بِمَا شَآءَ ۚ وَسِعَ كُرْسِيُّهُ ٱلسَّمَـٰوَٰتِ وَٱلْأَرْضَ ۖ وَلَا يَـُٔودُهُۥ حِفْظُهُمَا ۚ وَهُوَ ٱلْعَلِىُّ ٱلْعَظِيمُ ﴿٢٥٥﴾

  1. Allāh - there is no deity except Him, the Ever-Living, the Self-Sustaining. Neither drowsiness overtakes Him nor sleep. To Him belongs whatever is in the heavens and whatever is on the earth. Who is it that can intercede with Him except by His permission? He knows what is [presently] before them and what will be after them, and they encompass not a thing of His knowledge except for what He wills. His Kursī extends over the heavens and the earth, and their preservation tires Him not. And He is the Most High, the Most Great.
  1. Allah! Point de divinité à part Lui, le Vivant, Celui qui subsiste par Lui-même (Al Qayyum). Ni somnolence ni sommeil ne Le saisissent. A Lui appartient tout ce qui est dans les cieux et sur la terre. Qui peut intercéder auprès de Lui sans Sa permission? Il connaît leur passé et leur futur. Et, de Sa science, ils n’embrassent que ce qu’Il veut. Son Trône « Kursîy » déborde les cieux et la terre, dont la garde ne Lui coûte aucune peine. Et Il est le Très-Haut, le Très-Grand .
read 2:255 on quran.com

Arabic text and translations from quran.com: Saheeh International (English), Muhammad Hamidullah (français).

last vvhybe

  1. bigbang.maerp developernov 2023 - still logged in

    ERP development on Python and Odoo: data models, operational workflows, point-of-sale modules.

  2. jnanin-yogafull-stack developerjun 2023 - nov 2023(6m)

    Designed and built the studio's site: bookings, a weekly class calendar, English, Arabic and French, plus a real-time dashboard for bookings, users and payments.

  3. handyscriptjavascript engineermay 2023 - jan 2025(1y 9m)

    Created HandyScript, an open-source npm package of everyday JavaScript helpers.

  4. leorodneyfull-stack developermar 2023 - may 2023(3m)

    Architected an AI image platform as microservices: prompts to DALL·E, images on Cloudinary, auth throughout. MERN and Docker.

  5. m5tech.mafront-end developer, internfeb 2023 - mar 2023(2m)

    Web design and front-end for the Fantasia Production site in WordPress and PHP, with a team spread across Morocco.

  6. cactusiafull-stack developerjun 2022 - aug 2022(3m)

    An online cactus shop with pot-colour previews, dynamic pricing and a real-time orders and stock dashboard.

wtmp begins jun 2022. the full cv: man vvhybe

ls -la ~/diplomas

  • -r--r--r--2021-2023dts-software-engineeringDiplôme de technicien spécialisé, computer software engineering, OFPPT NTIC Marrakech
  • -r--r--r--2018-2021bac-physical-sciencesBaccalaureate, physical sciences, Taseltanet High School

git log --reverse ~/life

  1. initstart software engineering at ofppt ntic
  2. featfirst commit as whybe7
  3. featfirst client: cactusia's online shop
  4. featschool projects: todolist, luminia, tic-tac-toe
  5. featuniversal age, your age on every planet
  6. featphotolab, image filters written pixel by pixel
  7. featqr code generator, react native + expo
  8. featstart leorodney, an ai image generator
  9. pubhandyscript and dhom on npm
  10. featstart jnaninyoga.com
  11. tagdiploma in software engineering
  12. featjoin bigbang.ma, odoo by day begins
  13. pubtoothscript, typescript utility types
  14. featdome, a dotfiles manager in bash
  15. shipqee nano, cloud erp for small businesses
  16. featjnanin yoga command center
  17. pub@vvhybe/odoo-client 0.1.0
  18. wipbuilding papyrus, learning rust

gh contributions --last-year

octnovdecjanfebmaraprmayjunjulaugsep
2,204 contributions in the last year, 243 active days. denser means busier.

cat stack.toml

[day] # for the bills

items = ["python", "odoo 14-19", "fastapi", "redis", "docker", "json-rpc", "xml-rpc"]

[night] # for the thrills

items = ["typescript", "next.js", "react", "supabase", "drizzle", "tailwind", "shadcn/ui", "node", "express", "mongodb", "firebase"]

[shell]

items = ["bash", "lua", "git", "vitest", "jest"]

[learning] # currently hurting

items = ["rust", "go", "nixos", "nestjs"]

[studio] # fine arts side

items = ["illustrator", "photoshop", "figma", "after effects", "premiere"]

cat ~/.config/uses

os
linux, hyprland, waybar, rofi
terminal
kitty, tmux, zsh, starship
editor
neovim (lazyvim, config in vvhybe/nvim)
git
lazygit, lazydocker
dotfiles
synced by dome, my own manager
themes
catppuccin, gruvbox, tokyonight. this site: 1-bit