Hi! I'm Michael
And this is my website. I'm a frontend developer who likes to make things. I'm interested in the modern web revival. I'm passionate about web accessibility and usability. I like experimenting and learning new skills. This is site is part portfolio, part playground. Feel free to drop me a message in my guest book, or come hang out in the chat room, or if you wanna reach out to me directly, shoot me an email or text!
What are these settings?
Customize the appearance and behavior of my portfolio. Your choices will persist for your next visits.
You are visitor
Global settings
Theme
Switch between light and dark mode
Font
Plex Sans · Rubik
Display name
Change the name used in the greeting on the front page
Default settings
Restore layout and UI preferences to defaults.
Theme is unchanged.
Header settings
Show avatar
Variant 1 | Variant 2 | Variant 3
Audio settings
Variant
Choose the audio player variant
Please sign my guestbook!! :)
To-Do
Header
Sidebar
Global Settings and components
CV
New features
Experiments
Desktop
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis sapien ligula, facilisis quis ultricies sit amet, tristique tempor sem. Quisque id imperdiet nisi. Aenean turpis ipsum, vulputate ac placerat a, porttitor sit amet risus. Ut sit amet turpis viverra, facilisis augue non, sodales libero. Sed pharetra, nibh et euismod rhoncus, nisl elit mollis tortor, hendrerit vehicula sapien lectus ac ex. Duis id velit tincidunt arcu condimentum tempus nec eu tortor. Sed non massa at ante ornare bibendum. Nunc id nisi a turpis fermentum aliquam eu vitae urna. Nulla in vestibulum justo, vel fermentum purus. Phasellus pellentesque lacus sed viverra elementum. Sed blandit, mauris sed pellentesque cursus, enim tortor sollicitudin arcu, non vehicula ipsum purus id lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla in suscipit tortor.
Aliquam sollicitudin, eros sed placerat pellentesque, magna nibh tempus neque, id suscipit neque arcu et nunc. Nulla ac purus porta, posuere quam ac, viverra odio. Nullam vulputate nisl vel ex efficitur, nec commodo orci dapibus. Mauris elementum porttitor rhoncus. Aenean condimentum lorem urna, ac maximus sem sollicitudin sed. Donec at faucibus ante. Praesent non laoreet eros.
Donec posuere sem in augue placerat, ut tempor libero tristique. Vestibulum turpis ligula, suscipit quis est sit amet, suscipit efficitur nisi. Donec dictum consectetur metus, nec ullamcorper dui convallis nec. Quisque sed lacinia enim. Maecenas massa odio, auctor ut neque non, aliquam tincidunt erat. Mauris imperdiet tincidunt augue, ut pharetra lectus venenatis ac. Aliquam sed nisi ut dolor vulputate convallis vel sed ligula. Nullam finibus porta blandit. Donec blandit leo et leo convallis eleifend. Nam tempor enim quis tristique iaculis.
Praesent consequat pretium turpis non lobortis. Curabitur dignissim est mi, sit amet accumsan leo molestie id. Donec efficitur est ac turpis sagittis euismod. Vestibulum eu mattis erat. Sed vestibulum urna vel leo tincidunt, quis pharetra ipsum porta. Sed vitae enim tincidunt, scelerisque nibh at, aliquam odio. Ut non rutrum nibh. Praesent molestie tortor in vulputate ornare. Sed tempor, orci ut rhoncus pulvinar, neque tellus dictum nisi, ac consequat est leo sit amet purus. Duis elit tortor, imperdiet quis dui vel, aliquet viverra neque. Phasellus imperdiet, leo vel aliquam pulvinar, leo elit eleifend enim, eget luctus leo tellus ut ligula.
Nulla porta metus quis vestibulum luctus. Etiam id erat eget nibh tristique convallis id at augue. Quisque eget nulla dictum, dapibus massa et, faucibus metus. Phasellus eleifend interdum tristique. In malesuada imperdiet libero, eleifend tincidunt quam iaculis porta. Cras tristique lorem nec nunc posuere, ut auctor nibh tristique. Sed lacinia erat in est porta maximus sed eu ex. Suspendisse et tincidunt lacus, at congue lacus.
Duis tempus, purus tincidunt vulputate pulvinar, ligula velit laoreet ligula, in venenatis felis neque a nulla. Nulla suscipit mi efficitur sem laoreet, id interdum ipsum facilisis. Pellentesque a efficitur metus, non imperdiet nisl. Mauris eget feugiat justo, id elementum ante. Donec tempor risus vestibulum ipsum placerat condimentum. Vivamus pellentesque, justo sit amet tempus lobortis, lectus tellus vehicula orci, eget dapibus sem felis lobortis nisl. Sed vitae tristique tellus, sed congue leo. Phasellus eu erat venenatis, tempus tellus vitae, blandit magna. Sed ac risus vitae neque semper ultrices eu id augue. Sed imperdiet eros vitae ligula tristique tempor. Vestibulum aliquet lobortis turpis, ac rhoncus metus ornare sed. Vivamus cursus, mi at dapibus congue, turpis tellus euismod risus, non eleifend neque orci vitae elit. Phasellus vestibulum nec est eget porttitor. Nullam fringilla leo non enim gravida, vel vestibulum tellus placerat.
Nam iaculis elit tortor, eleifend venenatis nulla gravida eu. Vivamus eu blandit elit. Sed lorem enim, imperdiet ac tortor id, maximus pretium magna. Aliquam rutrum tempus pulvinar. Etiam ullamcorper efficitur orci, quis luctus purus egestas vitae. Donec consequat, diam quis eleifend suscipit, libero enim elementum metus, quis ullamcorper quam velit ac magna. Cras rhoncus velit non libero fringilla, ac maximus purus mattis. Duis imperdiet est non mi pharetra sollicitudin. Quisque vitae viverra mi. Maecenas sagittis lacus vitae nisl vehicula, a feugiat felis varius. Fusce interdum neque eget tortor imperdiet, nec volutpat ex rutrum. Vivamus eu lacus tempus, ultrices eros lacinia, hendrerit velit.
Curabitur porttitor varius enim, quis porttitor ex hendrerit eu. Nam suscipit orci sollicitudin, faucibus augue posuere, blandit lacus. Nulla facilisi. Nunc lobortis, tellus vitae tincidunt elementum, dui nulla rutrum turpis, eu finibus elit urna et nisl. Etiam a pulvinar odio. Aliquam porta viverra volutpat. Mauris egestas consequat auctor. Vivamus molestie scelerisque neque, et viverra enim vulputate vehicula. Donec vitae tellus suscipit, porta tortor sit amet, pretium diam. Fusce nec metus nec diam tincidunt ultrices. Integer dictum urna vel dolor dictum hendrerit. Sed posuere nisl in luctus ornare. Nunc id scelerisque ligula. Donec consectetur magna viverra ex faucibus, at congue mi blandit. Cras odio elit, pulvinar eget finibus eu, porta id elit.
Praesent sit amet condimentum mauris. Pellentesque blandit eros at volutpat convallis. Nunc turpis lorem, semper ut dignissim vel, efficitur vel tortor. Phasellus commodo venenatis nunc, at ultrices erat facilisis non. Praesent condimentum malesuada sem et viverra. Praesent luctus, augue rhoncus dictum bibendum, sem eros bibendum lacus, vel vulputate tortor mi scelerisque turpis. Mauris vitae mi elementum, placerat nulla vitae, dapibus tortor. Sed tortor libero, porta tempor luctus at, placerat sed turpis. Suspendisse elementum massa id purus porttitor, ac suscipit magna imperdiet. Duis tincidunt turpis libero, at consectetur leo facilisis vitae.
Vestibulum fermentum tempor vestibulum. Sed nisl quam, placerat ut dapibus a, venenatis nec felis. Cras vehicula eros quis dolor placerat, nec tristique ipsum malesuada. Pellentesque a lorem quis ante egestas pharetra. Nam aliquam lobortis justo sed condimentum. Quisque malesuada feugiat lectus, eu malesuada neque dignissim a. Mauris nec lectus est. Phasellus diam arcu, viverra at tempus id, euismod id eros.
Aenean euismod felis magna, finibus feugiat leo gravida quis. Curabitur risus leo, ornare sit amet egestas a, porta eget enim. Donec interdum consectetur massa, blandit hendrerit sapien fermentum id. Morbi fringilla pulvinar metus tempor convallis. Curabitur euismod eros ac nunc ultricies, sed auctor mi egestas. Nullam in dapibus tortor. Phasellus pretium turpis nec venenatis sollicitudin. Phasellus sodales enim neque, vestibulum ultricies libero semper eget. In iaculis ligula quis suscipit suscipit. Cras elementum interdum leo, quis auctor erat interdum non. In at ligula vehicula, commodo augue eu, tincidunt ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec tempus accumsan augue id tempus.
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla facilisi. Phasellus molestie massa elit, quis suscipit eros bibendum in. Aliquam nec nunc vitae nisl euismod aliquet ac quis sem. Pellentesque blandit gravida faucibus. Nullam eu interdum erat. Interdum et malesuada fames ac ante ipsum primis in faucibus. Suspendisse potenti. Mauris blandit neque in dapibus eleifend. Ut maximus enim non arcu accumsan euismod. Nullam feugiat at urna eget rutrum. Proin leo justo, egestas ac hendrerit quis, hendrerit eget felis.
Donec quam sem, feugiat ut volutpat non, tincidunt non massa. Duis eu luctus tellus, vitae porttitor metus. In egestas venenatis dictum. Suspendisse et magna in tortor egestas ullamcorper. Maecenas at velit vitae turpis consectetur lobortis et ac augue. Integer luctus placerat lobortis. Mauris tortor sapien, condimentum quis suscipit vel, mattis nec lacus. In ac nisl eleifend, faucibus mi at, luctus magna. In hac habitasse platea dictumst. Proin dui tellus, fringilla vel sollicitudin vitae, sollicitudin eget ante. Vestibulum sem lacus, vestibulum sed ante sed, maximus posuere dui. Mauris sit amet elit ipsum. Donec lectus ante, elementum non nisl non, elementum congue sem. Praesent nisl augue, condimentum non lectus id, mollis mollis nibh. Suspendisse potenti. Pellentesque viverra fringilla cursus.