Help
RSS
API
Feed
Maltego
Contact
Domain > mhenrixon.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-11-14
3.121.205.73
(
ClassC
)
2025-11-30
104.21.44.217
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Sun, 30 Nov 2025 13:29:47 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveCache-Control: no-cacheReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?s1VdhutPMAggI%2F2u0gFrGlSeoOgBuxFv7ePs7X0HDmhwhnqtGcoA90V5EoTZyXqrPPaPmYUFffobnRB76XL3bZnSRw0x7wQyNwKJI}}Link: /assets/coding-b4d91a48.css>; relpreload; asstyle; nopushReferrer-Policy: strict-origin-when-cross-originNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Strict-Transport-Security: max-age63072000; includeSubDomainsVary: Accept,Accept-EncodingX-Content-Type-Options: nosniffX-Frame-Options: SAMEORIGINX-Permitted-Cross-Domain-Policies: noneX-Request-Id: 449314ff-06d0-468e-8f00-066bd5962d73X-Runtime: 0.090734X-Xss-Protection: 0cf-cache-status: DYNAMICServer: cloudflareSet-Cookie: localeeyJfcmFpbHMiOnsibWVzc2FnZSI6ImJuVnNiQT09IiwiZXhwIjoiMjA0NS0xMS0zMFQxMzoyOTo0Ny4yNTFaIiwicHVyIjoiY29va2llLmxvY2FsZSJ9fQ%3D%3D--c764400fce6c4d238d20b6a13ff7faf0f387dbcb; SameSiteLax; Secure; Path/; ExpiresThu, 30 Nov 2045 13:29:47 GMTSet-Cookie: ahoy_visitor2b59dd69-e8aa-4434-b881-d1b9e5749dda; SameSiteLax; Secure; Path/; ExpiresTue, 30 Nov 2027 13:29:47 GMTSet-Cookie: ahoy_visit6875b359-1859-458e-9e10-ce4f35a4624f; SameSiteLax; Secure; Path/; ExpiresSun, 30 Nov 2025 17:29:47 GMTSet-Cookie: _session_id5mVvVjbN6QGc9TW1yKMTSXcsbmjKvKWSSD7hqSZuS7%2BkTkLHYutZHRrmH0iWgsMFDwelhrd4Zk3TYgwjnvWMC5SHcp98F9ZNngPNdnMdgcn5YlqWF5UTRqnqV%2B7ifYH2iW9Kj2lmIkVA4y4O%2F0VzZOEQlG0Z%2FfXfkAYF%2F7q5ef8PAzplAeu0N7TZnAahKwTg4W12PIl8beXdGr1hfZ9rAfc9kpo%2BebAY%2BkdnUh%2B1ThQ7aT71ex1SuZFZnKv0IBLL60cn4xWC5lsJQlKMuKUCpIXHiU461OV1lmBkb9LInpduvr86qo16RXQ%3D--2W85AvLEjfTPec9h--Fclkx0QUfvx8E1yXqzxO6g%3D%3D; HttpOnly; SameSiteLax; Secure; Path/; ExpiresSun, 14 Dec 2025 13:29:47 GMTCF-RAY: 9a6ab2143901706c-PDXalt-svc: h3:443; ma86400 !doctype html>html data-themelight classmin-h-full h-full min-w-full w-full mx-0 my-0 text-base antialiased>head>meta charsetutf-8>meta nameviewport contentwidthdevice-width, initial-scale1, user-scalableno>meta nameview-transition contentsame-origin>meta nameapple-mobile-web-app-capable contentyes>meta nameturbo-prefetch contenttrue>meta namecsrf-param contentauthenticity_token />meta namecsrf-token contentLE5sc0q_Mw8tZz4i2ClzYz_RN45S8xfjws8-OfhcQQB91-k9GSy4h-hpt9FEJlJ3v9pxfq84lizI5xHY2OX9MQ />link relstylesheet href/assets/coding-b4d91a48.css data_turbo_trackreload deferdefer />script typeimportmap data-turbo-trackreload>{ imports: { application: /assets/application-d3393264.js, @hotwired/turbo-rails: /assets/turbo.min-2bcb7875.js, @hotwired/stimulus: /assets/@hotwired--stimulus-745bd373.js, @hotwired/stimulus-loading: /assets/stimulus-loading-25917588.js, @rails/activestorage: /assets/activestorage.esm-cd7c12f3.js, trix: /assets/trix-43091050.js, @rails/actiontext: /assets/actiontext-47670e28.js, @rails/request.js: /assets/@rails--request.js-ff400e4a.js, ahoy: /assets/ahoy-8a0849c1.js, stimulus-autocomplete: /assets/stimulus-autocomplete-46bf78d7.js, stimulus-use: /assets/stimulus-use-9a297524.js, stimulus-dropdown: /assets/stimulus-dropdown-cda926d4.js, el-transition: /assets/el-transition-56e152e9.js, hotkeys-js: /assets/hotkeys-js-d4fc5f6a.js, mrujs: /assets/mrujs-fe3392f0.js, morphdom: /assets/morphdom-930fddd7.js, stimulus-rails-nested-form: /assets/stimulus-rails-nested-form-d80925a7.js, js-cookie: /assets/js-cookie-26dce017.js, filepond: /assets/filepond-71d30771.js, filepond-plugin-file-validate-size: https://ga.jspm.io/npm:filepond-plugin-file-validate-size@2.2.8/dist/filepond-plugin-file-validate-size.js, filepond-plugin-image-preview: https://ga.jspm.io/npm:filepond-plugin-image-preview@4.6.12/dist/filepond-plugin-image-preview.js, buffer: https://ga.jspm.io/npm:@jspm/core@2.0.1/nodelibs/browser/buffer.js, @shopify/draggable: /assets/@shopify--draggable-b123fdbd.js, jstimezonedetect: /assets/jstimezonedetect-78556fa7.js, stimulus: /assets/stimulus-8460570e.js, tailwindcss-stimulus-components: https://ga.jspm.io/npm:tailwindcss-stimulus-components@6.1.3/dist/tailwindcss-stimulus-components.module.js, cropperjs: https://cdn.jsdelivr.net/npm/cropperjs@2.1.0/dist/cropper.esm.min.js, @cropper/element: https://cdn.jsdelivr.net/npm/@cropper/element@2.1.0/dist/element.esm.min.js, @cropper/element-canvas: https://cdn.jsdelivr.net/npm/@cropper/element-canvas@2.1.0/dist/element-canvas.esm.min.js, @cropper/element-crosshair: https://cdn.jsdelivr.net/npm/@cropper/element-crosshair@2.1.0/dist/element-crosshair.esm.min.js, @cropper/element-grid: https://cdn.jsdelivr.net/npm/@cropper/element-grid@2.0.0/dist/element-grid.esm.min.js, @cropper/element-handle: https://cdn.jsdelivr.net/npm/@cropper/element-handle@2.1.0/dist/element-handle.esm.min.js, @cropper/element-image: https://cdn.jsdelivr.net/npm/@cropper/element-image@2.1.0/dist/element-image.esm.min.js, @cropper/element-selection: https://cdn.jsdelivr.net/npm/@cropper/element-selection@2.1.0/dist/element-selection.esm.min.js, @cropper/element-shade: https://cdn.jsdelivr.net/npm/@cropper/element-shade@2.1.0/dist/element-shade.esm.min.js, @cropper/element-viewer: https://cdn.jsdelivr.net/npm/@cropper/element-viewer@2.1.0/dist/element-viewer.esm.min.js, @cropper/elements: https://cdn.jsdelivr.net/npm/@cropper/elements@2.1.0/dist/elements.esm.min.js, @cropper/utils: https://cdn.jsdelivr.net/npm/@cropper/utils@2.1.0/dist/utils.esm.min.js, luxon: /assets/luxon-c16093de.js, highlight.js: https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/es/highlight.js, controllers/application: /assets/controllers/application-217f0678.js, controllers/bulk_select_controller: /assets/controllers/bulk_select_controller-4e3f6720.js, controllers/comment_trix_controller: /assets/controllers/comment_trix_controller-ae518300.js, controllers/comments_controller: /assets/controllers/comments_controller-e3077ef6.js, controllers/cookies_controller: /assets/controllers/cookies_controller-3b4b6ef8.js, controllers/customer_card_controller: /assets/controllers/customer_card_controller-8c5b8c2f.js, controllers/date_controller: /assets/controllers/date_controller-cfa85ae1.js, controllers/date_time_controller: /assets/controllers/date_time_controller-ab8ad668.js, controllers/debounce_controller: /assets/controllers/debounce_controller-f0788786.js, controllers/dialog_controller: /assets/controllers/dialog_controller-bdbc72f2.js, controllers/dropdown_controller: /assets/controllers/dropdown_controller-903f9233.js, controllers/email_verification_controller: /assets/controllers/email_verification_controller-407eb718.js, controllers/filter_panel_controller: /assets/controllers/filter_panel_controller-d27255bb.js, controllers/flash_controller: /assets/controllers/flash_controller-16476995.js, controllers/focus_controller: /assets/controllers/focus_controller-3a2a557c.js, controllers/form_controller: /assets/controllers/form_controller-365a3142.js, controllers/highlight_controller: /assets/controllers/highlight_controller-5cec3ddb.js, controllers/image_preview_controller: /assets/controllers/image_preview_controller-cf9cf45f.js, controllers/images_controller: /assets/controllers/images_controller-85fd6821.js, controllers: /assets/controllers/index-123d0167.js, controllers/inline_edit_controller: /assets/controllers/inline_edit_controller-00fc7b78.js, controllers/invoice_controller: /assets/controllers/invoice_controller-0b6d937b.js, controllers/invoice_item_controller: /assets/controllers/invoice_item_controller-d5c29291.js, controllers/invoice_items_controller: /assets/controllers/invoice_items_controller-1380982f.js, controllers/keyboard_shortcuts_controller: /assets/controllers/keyboard_shortcuts_controller-cc5506b7.js, controllers/list_view_controller: /assets/controllers/list_view_controller-9f683fbe.js, controllers/loading_button_controller: /assets/controllers/loading_button_controller-a4c2992b.js, controllers/mobile_menu_controller: /assets/controllers/mobile_menu_controller-35adfcc9.js, controllers/modal_controller: /assets/controllers/modal_controller-7a498714.js, controllers/nested_form_controller: /assets/controllers/nested_form_controller-dd8fc847.js, controllers/notification_controller: /assets/controllers/notification_controller-fcad38ed.js, controllers/opengraph_embed_controller: /assets/controllers/opengraph_embed_controller-fed3a815.js, controllers/remove_controller: /assets/controllers/remove_controller-e754e763.js, controllers/reset_controller: /assets/controllers/reset_controller-579a918f.js, controllers/search_controller: /assets/controllers/search_controller-b61c6021.js, controllers/sidebar_controller: /assets/controllers/sidebar_controller-0dcddca9.js, controllers/tags_controller: /assets/controllers/tags_controller-64965623.js, controllers/theme_controller: /assets/controllers/theme_controller-98d909a2.js, controllers/toggle_controller: /assets/controllers/toggle_controller-3749a1df.js, controllers/trix_controller: /assets/controllers/trix_controller-c94bf324.js, controllers/tz_controller: /assets/controllers/tz_controller-801b6a11.js, initializers/autocomplete: /assets/initializers/autocomplete-3d1b2559.js, initializers/current: /assets/initializers/current-c1578d59.js, initializers: /assets/initializers/index-47667d47.js, initializers/rich_text: /assets/initializers/rich_text-c46db8cc.js, lib/autocomplete/autocomplete_handler: /assets/lib/autocomplete/autocomplete_handler-af6534f7.js, lib/autocomplete/base_autocomplete_handler: /assets/lib/autocomplete/base_autocomplete_handler-6c248cd0.js, lib/autocomplete/collection: /assets/lib/autocomplete/collection-e63a9c3b.js, lib/autocomplete/constants: /assets/lib/autocomplete/constants-60f17cf2.js, lib/autocomplete/custom_elements/suggestion_option: /assets/lib/autocomplete/custom_elements/suggestion_option-e7eaebff.js, lib/autocomplete/custom_elements/suggestion_select: /assets/lib/autocomplete/custom_elements/suggestion_select-5e2da075.js, lib/autocomplete/helpers: /assets/lib/autocomplete/helpers-df57a0c1.js, lib/autocomplete/mentions_autocomplete_handler: /assets/lib/autocomplete/mentions_autocomplete_handler-c9dbe651.js, lib/autocomplete/renderer: /assets/lib/autocomplete/renderer-9b9ec4f1.js, lib/autocomplete/selection: /assets/lib/autocomplete/selection-8ece19ce.js, lib/autocomplete/suggestion_context: /assets/lib/autocomplete/suggestion_context-c7ae541a.js, lib/autocomplete/suggestion_controller: /assets/lib/autocomplete/suggestion_controller-49371bf1.js, lib/autocomplete/suggestion_results_controller: /assets/lib/autocomplete/suggestion_results_controller-f2ca7aab.js, lib/autocomplete/utils: /assets/lib/autocomplete/utils-057493b5.js, lib/rich_text/unfurl/lib/opengraph_embed_operation: /assets/lib/rich_text/unfurl/lib/opengraph_embed_operation-4c78bca4.js, lib/rich_text/unfurl/lib/paste: /assets/lib/rich_text/unfurl/lib/paste-7c3dc61f.js, lib/rich_text/unfurl/unfurler: /assets/lib/rich_text/unfurl/unfurler-93aebedc.js, lib/setup_filepond: /assets/lib/setup_filepond-a6b7daef.js, helpers/dom_helpers: /assets/helpers/dom_helpers-3b011c2d.js, helpers/navigator_helpers: /assets/helpers/navigator_helpers-c1521dd0.js, helpers/string_helpers: /assets/helpers/string_helpers-4a4a9190.js, helpers/timing_helpers: /assets/helpers/timing_helpers-4538390f.js, helpers/turbo_helpers: /assets/helpers/turbo_helpers-5496333b.js, helpers/tz_util: /assets/helpers/tz_util-25f5aabf.js, models/client_message: /assets/models/client_message-0004febf.js, models/file_uploader: /assets/models/file_uploader-61289374.js, models/message_formatter: /assets/models/message_formatter-e80632fe.js, models/message_paginator: /assets/models/message_paginator-9f32c7b1.js, models/scroll_manager: /assets/models/scroll_manager-aede642e.js, models/typing_tracker: /assets/models/typing_tracker-c81df268.js }}/script>link relmodulepreload href/assets/application-d3393264.js>link relmodulepreload href/assets/turbo.min-2bcb7875.js>link relmodulepreload href/assets/@hotwired--stimulus-745bd373.js>link relmodulepreload href/assets/stimulus-loading-25917588.js>link relmodulepreload href/assets/activestorage.esm-cd7c12f3.js>link relmodulepreload href/assets/trix-43091050.js>link relmodulepreload href/assets/actiontext-47670e28.js>link relmodulepreload href/assets/@rails--request.js-ff400e4a.js>link relmodulepreload href/assets/ahoy-8a0849c1.js>link relmodulepreload href/assets/stimulus-autocomplete-46bf78d7.js>link relmodulepreload href/assets/stimulus-use-9a297524.js>link relmodulepreload href/assets/stimulus-dropdown-cda926d4.js>link relmodulepreload href/assets/el-transition-56e152e9.js>link relmodulepreload href/assets/hotkeys-js-d4fc5f6a.js>link relmodulepreload href/assets/mrujs-fe3392f0.js>link relmodulepreload href/assets/morphdom-930fddd7.js>link relmodulepreload href/assets/stimulus-rails-nested-form-d80925a7.js>link relmodulepreload href/assets/js-cookie-26dce017.js>link relmodulepreload href/assets/filepond-71d30771.js>link relmodulepreload hrefhttps://ga.jspm.io/npm:@jspm/core@2.0.1/nodelibs/browser/buffer.js>link relmodulepreload href/assets/@shopify--draggable-b123fdbd.js>link relmodulepreload href/assets/jstimezonedetect-78556fa7.js>link relmodulepreload href/assets/stimulus-8460570e.js>link relmodulepreload href/assets/luxon-c16093de.js>link relmodulepreload hrefhttps://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/es/highlight.js>link relmodulepreload href/assets/controllers/application-217f0678.js>link relmodulepreload href/assets/controllers/bulk_select_controller-4e3f6720.js>link relmodulepreload href/assets/controllers/comment_trix_controller-ae518300.js>link relmodulepreload href/assets/controllers/comments_controller-e3077ef6.js>link relmodulepreload href/assets/controllers/cookies_controller-3b4b6ef8.js>link relmodulepreload href/assets/controllers/customer_card_controller-8c5b8c2f.js>link relmodulepreload href/assets/controllers/date_controller-cfa85ae1.js>link relmodulepreload href/assets/controllers/date_time_controller-ab8ad668.js>link relmodulepreload href/assets/controllers/debounce_controller-f0788786.js>link relmodulepreload href/assets/controllers/dialog_controller-bdbc72f2.js>link relmodulepreload href/assets/controllers/dropdown_controller-903f9233.js>link relmodulepreload href/assets/controllers/email_verification_controller-407eb718.js>link relmodulepreload href/assets/controllers/filter_panel_controller-d27255bb.js>link relmodulepreload href/assets/controllers/flash_controller-16476995.js>link relmodulepreload href/assets/controllers/focus_controller-3a2a557c.js>link relmodulepreload href/assets/controllers/form_controller-365a3142.js>link relmodulepreload href/assets/controllers/highlight_controller-5cec3ddb.js>link relmodulepreload href/assets/controllers/image_preview_controller-cf9cf45f.js>link relmodulepreload href/assets/controllers/images_controller-85fd6821.js>link relmodulepreload href/assets/controllers/index-123d0167.js>link relmodulepreload href/assets/controllers/inline_edit_controller-00fc7b78.js>link relmodulepreload href/assets/controllers/invoice_controller-0b6d937b.js>link relmodulepreload href/assets/controllers/invoice_item_controller-d5c29291.js>link relmodulepreload href/assets/controllers/invoice_items_controller-1380982f.js>link relmodulepreload href/assets/controllers/keyboard_shortcuts_controller-cc5506b7.js>link relmodulepreload href/assets/controllers/list_view_controller-9f683fbe.js>link relmodulepreload href/assets/controllers/loading_button_controller-a4c2992b.js>link relmodulepreload href/assets/controllers/mobile_menu_controller-35adfcc9.js>link relmodulepreload href/assets/controllers/modal_controller-7a498714.js>link relmodulepreload href/assets/controllers/nested_form_controller-dd8fc847.js>link relmodulepreload href/assets/controllers/notification_controller-fcad38ed.js>link relmodulepreload href/assets/controllers/opengraph_embed_controller-fed3a815.js>link relmodulepreload href/assets/controllers/remove_controller-e754e763.js>link relmodulepreload href/assets/controllers/reset_controller-579a918f.js>link relmodulepreload href/assets/controllers/search_controller-b61c6021.js>link relmodulepreload href/assets/controllers/sidebar_controller-0dcddca9.js>link relmodulepreload href/assets/controllers/tags_controller-64965623.js>link relmodulepreload href/assets/controllers/theme_controller-98d909a2.js>link relmodulepreload href/assets/controllers/toggle_controller-3749a1df.js>link relmodulepreload href/assets/controllers/trix_controller-c94bf324.js>link relmodulepreload href/assets/controllers/tz_controller-801b6a11.js>link relmodulepreload href/assets/initializers/autocomplete-3d1b2559.js>link relmodulepreload href/assets/initializers/current-c1578d59.js>link relmodulepreload href/assets/initializers/index-47667d47.js>link relmodulepreload href/assets/initializers/rich_text-c46db8cc.js>link relmodulepreload href/assets/lib/autocomplete/autocomplete_handler-af6534f7.js>link relmodulepreload href/assets/lib/autocomplete/base_autocomplete_handler-6c248cd0.js>link relmodulepreload href/assets/lib/autocomplete/collection-e63a9c3b.js>link relmodulepreload href/assets/lib/autocomplete/constants-60f17cf2.js>link relmodulepreload href/assets/lib/autocomplete/custom_elements/suggestion_option-e7eaebff.js>link relmodulepreload href/assets/lib/autocomplete/custom_elements/suggestion_select-5e2da075.js>link relmodulepreload href/assets/lib/autocomplete/helpers-df57a0c1.js>link relmodulepreload href/assets/lib/autocomplete/mentions_autocomplete_handler-c9dbe651.js>link relmodulepreload href/assets/lib/autocomplete/renderer-9b9ec4f1.js>link relmodulepreload href/assets/lib/autocomplete/selection-8ece19ce.js>link relmodulepreload href/assets/lib/autocomplete/suggestion_context-c7ae541a.js>link relmodulepreload href/assets/lib/autocomplete/suggestion_controller-49371bf1.js>link relmodulepreload href/assets/lib/autocomplete/suggestion_results_controller-f2ca7aab.js>link relmodulepreload href/assets/lib/autocomplete/utils-057493b5.js>link relmodulepreload href/assets/lib/rich_text/unfurl/lib/opengraph_embed_operation-4c78bca4.js>link relmodulepreload href/assets/lib/rich_text/unfurl/lib/paste-7c3dc61f.js>link relmodulepreload href/assets/lib/rich_text/unfurl/unfurler-93aebedc.js>link relmodulepreload href/assets/lib/setup_filepond-a6b7daef.js>link relmodulepreload href/assets/helpers/dom_helpers-3b011c2d.js>link relmodulepreload href/assets/helpers/navigator_helpers-c1521dd0.js>link relmodulepreload href/assets/helpers/string_helpers-4a4a9190.js>link relmodulepreload href/assets/helpers/timing_helpers-4538390f.js>link relmodulepreload href/assets/helpers/turbo_helpers-5496333b.js>link relmodulepreload href/assets/helpers/tz_util-25f5aabf.js>link relmodulepreload href/assets/models/client_message-0004febf.js>link relmodulepreload href/assets/models/file_uploader-61289374.js>link relmodulepreload href/assets/models/message_formatter-e80632fe.js>link relmodulepreload href/assets/models/message_paginator-9f32c7b1.js>link relmodulepreload href/assets/models/scroll_manager-aede642e.js>link relmodulepreload href/assets/models/typing_tracker-c81df268.js>script typemodule>import application/script>link relstylesheet href//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/atom-one-light.min.css mediascreen>link relstylesheet href//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/atom-one-dark.min.css mediascreen and (prefers-color-scheme: dark)>title>mhenrixon/title>meta namedescription contentMikael Henriksson, freelancing software developer with 17 years professional experience.>link relcanonical hrefhttps://mhenrixon.com/>link relimage_src hrefhttps://mhenrixon.com/assets/me_newer@0.5x-e4f14205.png>meta propertyog:site_name contentmhenrixon>meta propertyog:title contentmhenrixon>meta propertyog:description contentMikael Henriksson, freelancing software developer with 17 years professional experience.>meta propertyog:type contentwebsite>meta propertyog:locale contenten_US>meta propertyog:url contenthttps://mhenrixon.com/>meta propertyog:image contenthttps://mhenrixon.com/assets/me_newer@0.5x-e4f14205.png>meta nametwitter:card contentsummary>meta nametwitter:site content@mhenrixon>meta nametwitter:creator content@mhenrixon>meta nametwitter:image contenthttps://mhenrixon.com/assets/me_newer@0.5x-e4f14205.png>/head>body classh-full antialiased bg-base-200 m-0 p-0>div data-controllertheme data-theme-light-valuelight data-theme-dark-valuedark classhidden>/div>div classbg-base-200 my-auto w-full p-0 m-0 mx-auto max-w-7xl>div classpx-2 sm:px-4 md:px-6 lg:px-8>nav classnavbar bg-base-300 text-base-content shadow-sm w-full justify-between idapp-nav>div classnavbar-start>div classdropdown>div classbtn btn btn-ghost lg:hidden rolebutton tabindex0>svg xmlnshttp://www.w3.org/2000/svg fillnone viewbox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classinline-block w-6 h-6 stroke-current> path stroke-linecapround stroke-linejoinround dM3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5>/path>/svg>/div>ul classmenu menu-sm bg-base-300 text-base-content dropdown-content rounded-box mt-3 w-52 p-2 shadow tabindex0>li>a href/>Home/a>/li>li>a href/about>About/a>/li>li>a href/articles>Articles/a>/li>li>a href/resume>Resume/a>/li>li>div classdivider divider-neutral>Profile/div>/li>li>a href/profiles/edit>Edit profile/a>/li>li>a href/password/edit>Change password/a>/li>li>a href/identity/email/edit>Change email address/a>/li>li>div classdivider divider-neutral>Security/div>/li>li>a href/two_factor_authentication/profile/totp/new>Two-Factor Authentication/a>/li>li>a href/sessions>Devices & Sessions/a>/li>li>a href/authentications/events>Activity Log/a>/li>/ul>/div>a href/ classbtn btn-ghost text-xl>Coding/a>/div>div classnavbar-center hidden lg:flex>ul classmenu menu-horizontal px-1>li>a href/>Home/a>/li>li>a href/about>About/a>/li>li>a href/articles>Articles/a>/li>li>a href/resume>Resume/a>/li>/ul>/div>div classnavbar-end hidden lg:flex>a href/sign_in classbtn btn-ghost>Sign in/a>/div>/nav>/div>main classp-main>div classmin-h-screen>section classhero bg-base-200>div classhero-content flex-col lg:flex-row-reverse max-w-7xl mx-auto py-12>div classlg:w-1/2>img classw-full max-w-md rounded-lg shadow-2xl mx-auto src/assets/me_em-d0b787fd.webp />/div>div classlg:w-1/2 mt-6 lg:mt-0>h1 classtext-4xl md:text-5xl font-bold text-primary text-balance>Ruby on Rails Problem Solver/h1>h2 classtext-2xl md:text-3xl font-semibold mt-2>Mikael Henriksson/h2>p classpy-4 text-lg>Fullstack developer who turns complex challenges into elegant solutions through Zoolutions LLC./p>div classflex flex-wrap gap-2 mt-2>span classbadge badge-primary>Ruby on Rails/span>span classbadge badge-primary>Fullstack/span>span classbadge badge-primary>Problem Solving/span>span classbadge badge-primary>Intuitive Solutions/span>span classbadge badge-primary>PostgreSQL/span>/div>div classmt-6>a href#contact classbtn btn-primary>Let's Talk/a>a href#services classbtn btn-outline btn-secondary ml-2>Learn More/a>/div>/div>/div>/section>section idservices classpy-16 bg-base-100>div classmax-w-7xl mx-auto px-4>h2 classtext-3xl font-bold text-center mb-4>How I Can Help You/h2>p classtext-center text-lg mb-12 max-w-3xl mx-auto text-pretty hyphen-auto>Need someone who can jump in and just figure things out? I'm that developer who makes sense of the senseless and brings clarity to chaos./p>div classgrid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8>section classcard bg-base-200 text-base-content shadow-xl>div classcard-body>div classflex justify-center mb-4>svg xmlnshttp://www.w3.org/2000/svg fillnone viewbox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classw-12 h-12 text-primary> path stroke-linecapround stroke-linejoinround dM17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5>/path>/svg>/div>header classcard-title justify-center>Custom Web Applications/header>p>Building intuitive solutions that perfectly match what you're looking for—even when you're not exactly sure what that is yet./p>/div>/section>section classcard bg-base-200 text-base-content shadow-xl>div classcard-body>div classflex justify-center mb-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-12 h-12 text-primary> path dM17.004 10.407c.138.435-.216.842-.672.842h-3.465a.75.75 0 0 1-.65-.375l-1.732-3c-.229-.396-.053-.907.393-1.004a5.252 5.252 0 0 1 6.126 3.537ZM8.12 8.464c.307-.338.838-.235 1.066.16l1.732 3a.75.75 0 0 1 0 .75l-1.732 3c-.229.397-.76.5-1.067.161A5.23 5.23 0 0 1 6.75 12a5.23 5.23 0 0 1 1.37-3.536ZM10.878 17.13c-.447-.098-.623-.608-.394-1.004l1.733-3.002a.75.75 0 0 1 .65-.375h3.465c.457 0 .81.407.672.842a5.252 5.252 0 0 1-6.126 3.539Z>/path> path fill-ruleevenodd dM21 12.75a.75.75 0 1 0 0-1.5h-.783a8.22 8.22 0 0 0-.237-1.357l.734-.267a.75.75 0 1 0-.513-1.41l-.735.268a8.24 8.24 0 0 0-.689-1.192l.6-.503a.75.75 0 1 0-.964-1.149l-.6.504a8.3 8.3 0 0 0-1.054-.885l.391-.678a.75.75 0 1 0-1.299-.75l-.39.676a8.188 8.188 0 0 0-1.295-.47l.136-.77a.75.75 0 0 0-1.477-.26l-.136.77a8.36 8.36 0 0 0-1.377 0l-.136-.77a.75.75 0 1 0-1.477.26l.136.77c-.448.121-.88.28-1.294.47l-.39-.676a.75.75 0 0 0-1.3.75l.392.678a8.29 8.29 0 0 0-1.054.885l-.6-.504a.75.75 0 1 0-.965 1.149l.6.503a8.243 8.243 0 0 0-.689 1.192L3.8 8.216a.75.75 0 1 0-.513 1.41l.735.267a8.222 8.222 0 0 0-.238 1.356h-.783a.75.75 0 0 0 0 1.5h.783c.042.464.122.917.238 1.356l-.735.268a.75.75 0 0 0 .513 1.41l.735-.268c.197.417.428.816.69 1.191l-.6.504a.75.75 0 0 0 .963 1.15l.601-.505c.326.323.679.62 1.054.885l-.392.68a.75.75 0 0 0 1.3.75l.39-.679c.414.192.847.35 1.294.471l-.136.77a.75.75 0 0 0 1.477.261l.137-.772a8.332 8.332 0 0 0 1.376 0l.136.772a.75.75 0 1 0 1.477-.26l-.136-.771a8.19 8.19 0 0 0 1.294-.47l.391.677a.75.75 0 0 0 1.3-.75l-.393-.679a8.29 8.29 0 0 0 1.054-.885l.601.504a.75.75 0 0 0 .964-1.15l-.6-.503c.261-.375.492-.774.69-1.191l.735.267a.75.75 0 1 0 .512-1.41l-.734-.267c.115-.439.195-.892.237-1.356h.784Zm-2.657-3.06a6.744 6.744 0 0 0-1.19-2.053 6.784 6.784 0 0 0-1.82-1.51A6.705 6.705 0 0 0 12 5.25a6.8 6.8 0 0 0-1.225.11 6.7 6.7 0 0 0-2.15.793 6.784 6.784 0 0 0-2.952 3.489.76.76 0 0 1-.036.098A6.74 6.74 0 0 0 5.251 12a6.74 6.74 0 0 0 3.366 5.842l.009.005a6.704 6.704 0 0 0 2.18.798l.022.003a6.792 6.792 0 0 0 2.368-.004 6.704 6.704 0 0 0 2.205-.811 6.785 6.785 0 0 0 1.762-1.484l.009-.01.009-.01a6.743 6.743 0 0 0 1.18-2.066c.253-.707.39-1.469.39-2.263a6.74 6.74 0 0 0-.408-2.309Z clip-ruleevenodd>/path>/svg>/div>header classcard-title justify-center>Legacy System Rescue/header>p>Taking over that project everyone's afraid to touch and turning it into something maintainable that you'll actually enjoy working with./p>/div>/section>section classcard bg-base-200 text-base-content shadow-xl>div classcard-body>div classflex justify-center mb-4>svg xmlnshttp://www.w3.org/2000/svg fillnone viewbox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classw-12 h-12 text-primary> path stroke-linecapround stroke-linejoinround dM5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.737 5.1a3.375 3.375 0 0 1 2.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Zm-3 6h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Z>/path>/svg>/div>header classcard-title justify-center>API Development/header>p>Helping machines talk to machines, so your team can focus on what humans do best./p>/div>/section>/div>/div>/section>section classpy-16 bg-base-200>div classmax-w-7xl mx-auto px-4>h2 classtext-3xl font-bold text-center mb-12>Why Work With Me/h2>div classgrid grid-cols-1 lg:grid-cols-2 gap-8>div classspace-y-6>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>20+ Years of Experience/h3>p>I've seen it all—from the early days of web development to modern frameworks. This means I can solve problems faster and with fewer headaches./p>/div>/div>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Business Perspective/h3>p>As a business owner, I understand what really matters—solutions that deliver real value, not just following the latest tech trends./p>/div>/div>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Minimal Handholding Required/h3>p>Tired of writing detailed specs that never get followed? I'm the developer who can understand what you want, even when you're not sure how to express it./p>/div>/div>/div>div classspace-y-6>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Practical Approach/h3>p>I focus on what works, not rigid methodologies. The goal is to build solid, maintainable systems that make your life easier./p>/div>/div>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Clear Communication/h3>p>I'll keep you in the loop without overwhelming you with technical jargon—just honest updates in language that makes sense./p>/div>/div>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Long-term Partnership/h3>p>I choose my clients carefully because I want to build lasting relationships. If I work with you, I'm fully invested in your success./p>/div>/div>/div>/div>/div>/section>section classpy-16 bg-base-100>div classmax-w-7xl mx-auto px-4>h2 classtext-3xl font-bold text-center mb-4>My Approach/h2>p classtext-center text-lg mb-8 max-w-3xl mx-auto>No rigid processes or unnecessary complexity—just a straightforward path to getting things done./p>div classsteps steps-vertical lg:steps-horizontal w-full>div classstep step-primary>div classmt-2>h3 classfont-bold>Listen/h3>p classtext-sm mt-1>Understanding what you really need, not just what you're asking for/p>/div>/div>div classstep step-primary>div classmt-2>h3 classfont-bold>Explore/h3>p classtext-sm mt-1>Finding the simplest path forward that achieves your goals/p>/div>/div>div classstep step-primary>div classmt-2>h3 classfont-bold>Build/h3>p classtext-sm mt-1>Creating solutions with regular check-ins to make sure we're on track/p>/div>/div>div classstep step-primary>div classmt-2>h3 classfont-bold>Refine/h3>p classtext-sm mt-1>Making sure everything works as expected and is easy to maintain/p>/div>/div>div classstep step-primary>div classmt-2>h3 classfont-bold>Support/h3>p classtext-sm mt-1>Being there for the long haul, not just until the project is 'done'/p>/div>/div>/div>/div>/section>section idcontact classpy-16 bg-base-200>div classmax-w-7xl mx-auto px-4 text-center>h2 classtext-3xl font-bold mb-4>Let Me Handle the Technical Stuff/h2>p classtext-lg mb-8 max-w-2xl mx-auto>Have a challenge that needs solving or a project that's stuck? Let's talk about how I can help you move forward without all the headaches./p>a href/contact classbtn btn-primary btn-lg>svg xmlnshttp://www.w3.org/2000/svg fillnone viewbox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classw-5 h-5 mr-2> path stroke-linecapround stroke-linejoinround dM21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75>/path>/svg>Get in Touch/a>/div>/section>/div>/main>footer classmt-20 p-main footer items-center>aside classitems-center grid-flow-col>p>Copyright Zoolutions LLC © 2024 - All right reserved/p>/aside>nav classgrid-flow-col gap-4 md:place-self-center md:justify-self-end>a hrefhttps://github.com/mhenrixon classbase-content hover:text-accent h-6 w-6>svg classh-6 w-6 fill-current xmlnshttp://www.w3.org/2000/svg viewBox0 0 496 512>!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->path dM165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z/>/svg>/a>a hrefhttps://linkedin.com/in/mhenrixon classbase-content hover:text-accent h-6 w-6>svg classh-6 w-6 fill-current xmlnshttp://www.w3.org/2000/svg viewBox0 0 448 512>!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->path dM416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z/>/svg>/a>a hrefhttps://x.com/mhenrixon classbase-content hover:text-accent h-6 w-6>svg classh-6 w-6 fill-current xmlnshttp://www.w3.org/2000/svg viewBox0 0 512 512>!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->path dM389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z/>/svg>/a>a hrefhttps://soundcloud.com/mhenrixon classbase-content hover:text-accent h-6 w-6>svg classh-6 w-6 fill-current xmlnshttp://www.w3.org/2000/svg viewBox0 0 640 512>!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->path dM111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z/>/svg>/a>/nav>/footer>/div>turbo-frame idflash_messages>div idapp-flash aria-liveassertive classtoast toast-end toast-middle min-w-fit md:w-fit>/div>/turbo-frame>turbo-frame idmodal>/turbo-frame>!-- <ninja-keys data-controller"ninja" class"dark" data-erb-data-ninja-admin-value"0" data-erb-data-ninja-app-value"coding"> </ninja-keys> -->dialog idturbo-confirm classmodal modal-bottom sm:modal-middle>div classmodal-box>p classpy-4>Press ESC key or click the button below to close/p>div classmodal-action>form methoddialog>button classbtn mr-4 valuecancel>Cancel/button>button classbtn ml-4 valueconfirm>Confirm/button>/form>/div>/div>/dialog>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Sun, 30 Nov 2025 13:29:47 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveCache-Control: no-cacheReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?shDIcCKYBZV7IpX%2BZXd4WpsE4bQDp%2FS6n4wfWaaHeOqeOrTx2iTvSpt3GvlXACIbO1WNsRrKYLCrewpt02agNQdnl9rFNc8vtxoau}}Link: /assets/coding-b4d91a48.css>; relpreload; asstyle; nopushReferrer-Policy: strict-origin-when-cross-originNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Strict-Transport-Security: max-age63072000; includeSubDomainsVary: Accept,Accept-EncodingX-Content-Type-Options: nosniffX-Frame-Options: SAMEORIGINX-Permitted-Cross-Domain-Policies: noneX-Request-Id: 8b996668-3bfa-4047-990a-52eeabc0d6a8X-Runtime: 0.016896X-Xss-Protection: 0cf-cache-status: DYNAMICServer: cloudflareSet-Cookie: localeeyJfcmFpbHMiOnsibWVzc2FnZSI6ImJuVnNiQT09IiwiZXhwIjoiMjA0NS0xMS0zMFQxMzoyOTo0Ny41NTFaIiwicHVyIjoiY29va2llLmxvY2FsZSJ9fQ%3D%3D--aa4bb3fa376ee41e5fea2dad9785b41d6df6d9c9; SameSiteLax; Secure; Path/; ExpiresThu, 30 Nov 2045 13:29:47 GMTSet-Cookie: ahoy_visitord932c7df-6fb2-4416-911a-cab1ecd86734; SameSiteLax; Secure; Path/; ExpiresTue, 30 Nov 2027 13:29:47 GMTSet-Cookie: ahoy_visit7313cc21-4afb-4afd-92e4-2592b82bd057; SameSiteLax; Secure; Path/; ExpiresSun, 30 Nov 2025 17:29:47 GMTSet-Cookie: _session_idQyNAkUL3ozl0zFV4W5g4sHZAsMggf4mv4270B2ITg3gZ9naGiHGFjn%2BRD5%2F1wcT9WDcX4aHmqJMGcAOJKIqnCoCXc2ZzbKqcLgqebdIgJstj5uTIbEH1Pq%2FFn1MQk2uqoHxhs%2FE7PHNCTKWOHyKH4KGPwvp9W3K1mi3CdctKwoIQze4%2Ft984c3HLBUkCEQz6TlDRqy4MWuJLZO2Xj6FZyVd41zlq9vk7llxgjOpBHDPf1rdNJWqgBkg7qfjRvyDOoJKz8xdDpIc8STtYgdD2QayzrCyHxWZR1H0%2Bwovai3tEgvhobRbhgGY%3D--Kb4LLMD2YzHHU7mU--kxJMe2q9%2BCThRnKYo%2BPZAQ%3D%3D; HttpOnly; SameSiteLax; Secure; Path/; ExpiresSun, 14 Dec 2025 13:29:47 GMTCF-RAY: 9a6ab2178ed9b024-PDXalt-svc: h3:443; ma86400 !doctype html>html data-themelight classmin-h-full h-full min-w-full w-full mx-0 my-0 text-base antialiased>head>meta charsetutf-8>meta nameviewport contentwidthdevice-width, initial-scale1, user-scalableno>meta nameview-transition contentsame-origin>meta nameapple-mobile-web-app-capable contentyes>meta nameturbo-prefetch contenttrue>meta namecsrf-param contentauthenticity_token />meta namecsrf-token contentsy9170cOlLFcLD-an0_EheiuF-yHr_vCjzLwjTENA6mrPQpd54FmfV71VILvGvGhLbNZ7IdkoBQfDBw3qrVK2Q />link relstylesheet href/assets/coding-b4d91a48.css data_turbo_trackreload deferdefer />script typeimportmap data-turbo-trackreload>{ imports: { application: /assets/application-d3393264.js, @hotwired/turbo-rails: /assets/turbo.min-2bcb7875.js, @hotwired/stimulus: /assets/@hotwired--stimulus-745bd373.js, @hotwired/stimulus-loading: /assets/stimulus-loading-25917588.js, @rails/activestorage: /assets/activestorage.esm-cd7c12f3.js, trix: /assets/trix-43091050.js, @rails/actiontext: /assets/actiontext-47670e28.js, @rails/request.js: /assets/@rails--request.js-ff400e4a.js, ahoy: /assets/ahoy-8a0849c1.js, stimulus-autocomplete: /assets/stimulus-autocomplete-46bf78d7.js, stimulus-use: /assets/stimulus-use-9a297524.js, stimulus-dropdown: /assets/stimulus-dropdown-cda926d4.js, el-transition: /assets/el-transition-56e152e9.js, hotkeys-js: /assets/hotkeys-js-d4fc5f6a.js, mrujs: /assets/mrujs-fe3392f0.js, morphdom: /assets/morphdom-930fddd7.js, stimulus-rails-nested-form: /assets/stimulus-rails-nested-form-d80925a7.js, js-cookie: /assets/js-cookie-26dce017.js, filepond: /assets/filepond-71d30771.js, filepond-plugin-file-validate-size: https://ga.jspm.io/npm:filepond-plugin-file-validate-size@2.2.8/dist/filepond-plugin-file-validate-size.js, filepond-plugin-image-preview: https://ga.jspm.io/npm:filepond-plugin-image-preview@4.6.12/dist/filepond-plugin-image-preview.js, buffer: https://ga.jspm.io/npm:@jspm/core@2.0.1/nodelibs/browser/buffer.js, @shopify/draggable: /assets/@shopify--draggable-b123fdbd.js, jstimezonedetect: /assets/jstimezonedetect-78556fa7.js, stimulus: /assets/stimulus-8460570e.js, tailwindcss-stimulus-components: https://ga.jspm.io/npm:tailwindcss-stimulus-components@6.1.3/dist/tailwindcss-stimulus-components.module.js, cropperjs: https://cdn.jsdelivr.net/npm/cropperjs@2.1.0/dist/cropper.esm.min.js, @cropper/element: https://cdn.jsdelivr.net/npm/@cropper/element@2.1.0/dist/element.esm.min.js, @cropper/element-canvas: https://cdn.jsdelivr.net/npm/@cropper/element-canvas@2.1.0/dist/element-canvas.esm.min.js, @cropper/element-crosshair: https://cdn.jsdelivr.net/npm/@cropper/element-crosshair@2.1.0/dist/element-crosshair.esm.min.js, @cropper/element-grid: https://cdn.jsdelivr.net/npm/@cropper/element-grid@2.0.0/dist/element-grid.esm.min.js, @cropper/element-handle: https://cdn.jsdelivr.net/npm/@cropper/element-handle@2.1.0/dist/element-handle.esm.min.js, @cropper/element-image: https://cdn.jsdelivr.net/npm/@cropper/element-image@2.1.0/dist/element-image.esm.min.js, @cropper/element-selection: https://cdn.jsdelivr.net/npm/@cropper/element-selection@2.1.0/dist/element-selection.esm.min.js, @cropper/element-shade: https://cdn.jsdelivr.net/npm/@cropper/element-shade@2.1.0/dist/element-shade.esm.min.js, @cropper/element-viewer: https://cdn.jsdelivr.net/npm/@cropper/element-viewer@2.1.0/dist/element-viewer.esm.min.js, @cropper/elements: https://cdn.jsdelivr.net/npm/@cropper/elements@2.1.0/dist/elements.esm.min.js, @cropper/utils: https://cdn.jsdelivr.net/npm/@cropper/utils@2.1.0/dist/utils.esm.min.js, luxon: /assets/luxon-c16093de.js, highlight.js: https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/es/highlight.js, controllers/application: /assets/controllers/application-217f0678.js, controllers/bulk_select_controller: /assets/controllers/bulk_select_controller-4e3f6720.js, controllers/comment_trix_controller: /assets/controllers/comment_trix_controller-ae518300.js, controllers/comments_controller: /assets/controllers/comments_controller-e3077ef6.js, controllers/cookies_controller: /assets/controllers/cookies_controller-3b4b6ef8.js, controllers/customer_card_controller: /assets/controllers/customer_card_controller-8c5b8c2f.js, controllers/date_controller: /assets/controllers/date_controller-cfa85ae1.js, controllers/date_time_controller: /assets/controllers/date_time_controller-ab8ad668.js, controllers/debounce_controller: /assets/controllers/debounce_controller-f0788786.js, controllers/dialog_controller: /assets/controllers/dialog_controller-bdbc72f2.js, controllers/dropdown_controller: /assets/controllers/dropdown_controller-903f9233.js, controllers/email_verification_controller: /assets/controllers/email_verification_controller-407eb718.js, controllers/filter_panel_controller: /assets/controllers/filter_panel_controller-d27255bb.js, controllers/flash_controller: /assets/controllers/flash_controller-16476995.js, controllers/focus_controller: /assets/controllers/focus_controller-3a2a557c.js, controllers/form_controller: /assets/controllers/form_controller-365a3142.js, controllers/highlight_controller: /assets/controllers/highlight_controller-5cec3ddb.js, controllers/image_preview_controller: /assets/controllers/image_preview_controller-cf9cf45f.js, controllers/images_controller: /assets/controllers/images_controller-85fd6821.js, controllers: /assets/controllers/index-123d0167.js, controllers/inline_edit_controller: /assets/controllers/inline_edit_controller-00fc7b78.js, controllers/invoice_controller: /assets/controllers/invoice_controller-0b6d937b.js, controllers/invoice_item_controller: /assets/controllers/invoice_item_controller-d5c29291.js, controllers/invoice_items_controller: /assets/controllers/invoice_items_controller-1380982f.js, controllers/keyboard_shortcuts_controller: /assets/controllers/keyboard_shortcuts_controller-cc5506b7.js, controllers/list_view_controller: /assets/controllers/list_view_controller-9f683fbe.js, controllers/loading_button_controller: /assets/controllers/loading_button_controller-a4c2992b.js, controllers/mobile_menu_controller: /assets/controllers/mobile_menu_controller-35adfcc9.js, controllers/modal_controller: /assets/controllers/modal_controller-7a498714.js, controllers/nested_form_controller: /assets/controllers/nested_form_controller-dd8fc847.js, controllers/notification_controller: /assets/controllers/notification_controller-fcad38ed.js, controllers/opengraph_embed_controller: /assets/controllers/opengraph_embed_controller-fed3a815.js, controllers/remove_controller: /assets/controllers/remove_controller-e754e763.js, controllers/reset_controller: /assets/controllers/reset_controller-579a918f.js, controllers/search_controller: /assets/controllers/search_controller-b61c6021.js, controllers/sidebar_controller: /assets/controllers/sidebar_controller-0dcddca9.js, controllers/tags_controller: /assets/controllers/tags_controller-64965623.js, controllers/theme_controller: /assets/controllers/theme_controller-98d909a2.js, controllers/toggle_controller: /assets/controllers/toggle_controller-3749a1df.js, controllers/trix_controller: /assets/controllers/trix_controller-c94bf324.js, controllers/tz_controller: /assets/controllers/tz_controller-801b6a11.js, initializers/autocomplete: /assets/initializers/autocomplete-3d1b2559.js, initializers/current: /assets/initializers/current-c1578d59.js, initializers: /assets/initializers/index-47667d47.js, initializers/rich_text: /assets/initializers/rich_text-c46db8cc.js, lib/autocomplete/autocomplete_handler: /assets/lib/autocomplete/autocomplete_handler-af6534f7.js, lib/autocomplete/base_autocomplete_handler: /assets/lib/autocomplete/base_autocomplete_handler-6c248cd0.js, lib/autocomplete/collection: /assets/lib/autocomplete/collection-e63a9c3b.js, lib/autocomplete/constants: /assets/lib/autocomplete/constants-60f17cf2.js, lib/autocomplete/custom_elements/suggestion_option: /assets/lib/autocomplete/custom_elements/suggestion_option-e7eaebff.js, lib/autocomplete/custom_elements/suggestion_select: /assets/lib/autocomplete/custom_elements/suggestion_select-5e2da075.js, lib/autocomplete/helpers: /assets/lib/autocomplete/helpers-df57a0c1.js, lib/autocomplete/mentions_autocomplete_handler: /assets/lib/autocomplete/mentions_autocomplete_handler-c9dbe651.js, lib/autocomplete/renderer: /assets/lib/autocomplete/renderer-9b9ec4f1.js, lib/autocomplete/selection: /assets/lib/autocomplete/selection-8ece19ce.js, lib/autocomplete/suggestion_context: /assets/lib/autocomplete/suggestion_context-c7ae541a.js, lib/autocomplete/suggestion_controller: /assets/lib/autocomplete/suggestion_controller-49371bf1.js, lib/autocomplete/suggestion_results_controller: /assets/lib/autocomplete/suggestion_results_controller-f2ca7aab.js, lib/autocomplete/utils: /assets/lib/autocomplete/utils-057493b5.js, lib/rich_text/unfurl/lib/opengraph_embed_operation: /assets/lib/rich_text/unfurl/lib/opengraph_embed_operation-4c78bca4.js, lib/rich_text/unfurl/lib/paste: /assets/lib/rich_text/unfurl/lib/paste-7c3dc61f.js, lib/rich_text/unfurl/unfurler: /assets/lib/rich_text/unfurl/unfurler-93aebedc.js, lib/setup_filepond: /assets/lib/setup_filepond-a6b7daef.js, helpers/dom_helpers: /assets/helpers/dom_helpers-3b011c2d.js, helpers/navigator_helpers: /assets/helpers/navigator_helpers-c1521dd0.js, helpers/string_helpers: /assets/helpers/string_helpers-4a4a9190.js, helpers/timing_helpers: /assets/helpers/timing_helpers-4538390f.js, helpers/turbo_helpers: /assets/helpers/turbo_helpers-5496333b.js, helpers/tz_util: /assets/helpers/tz_util-25f5aabf.js, models/client_message: /assets/models/client_message-0004febf.js, models/file_uploader: /assets/models/file_uploader-61289374.js, models/message_formatter: /assets/models/message_formatter-e80632fe.js, models/message_paginator: /assets/models/message_paginator-9f32c7b1.js, models/scroll_manager: /assets/models/scroll_manager-aede642e.js, models/typing_tracker: /assets/models/typing_tracker-c81df268.js }}/script>link relmodulepreload href/assets/application-d3393264.js>link relmodulepreload href/assets/turbo.min-2bcb7875.js>link relmodulepreload href/assets/@hotwired--stimulus-745bd373.js>link relmodulepreload href/assets/stimulus-loading-25917588.js>link relmodulepreload href/assets/activestorage.esm-cd7c12f3.js>link relmodulepreload href/assets/trix-43091050.js>link relmodulepreload href/assets/actiontext-47670e28.js>link relmodulepreload href/assets/@rails--request.js-ff400e4a.js>link relmodulepreload href/assets/ahoy-8a0849c1.js>link relmodulepreload href/assets/stimulus-autocomplete-46bf78d7.js>link relmodulepreload href/assets/stimulus-use-9a297524.js>link relmodulepreload href/assets/stimulus-dropdown-cda926d4.js>link relmodulepreload href/assets/el-transition-56e152e9.js>link relmodulepreload href/assets/hotkeys-js-d4fc5f6a.js>link relmodulepreload href/assets/mrujs-fe3392f0.js>link relmodulepreload href/assets/morphdom-930fddd7.js>link relmodulepreload href/assets/stimulus-rails-nested-form-d80925a7.js>link relmodulepreload href/assets/js-cookie-26dce017.js>link relmodulepreload href/assets/filepond-71d30771.js>link relmodulepreload hrefhttps://ga.jspm.io/npm:@jspm/core@2.0.1/nodelibs/browser/buffer.js>link relmodulepreload href/assets/@shopify--draggable-b123fdbd.js>link relmodulepreload href/assets/jstimezonedetect-78556fa7.js>link relmodulepreload href/assets/stimulus-8460570e.js>link relmodulepreload href/assets/luxon-c16093de.js>link relmodulepreload hrefhttps://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.11.1/build/es/highlight.js>link relmodulepreload href/assets/controllers/application-217f0678.js>link relmodulepreload href/assets/controllers/bulk_select_controller-4e3f6720.js>link relmodulepreload href/assets/controllers/comment_trix_controller-ae518300.js>link relmodulepreload href/assets/controllers/comments_controller-e3077ef6.js>link relmodulepreload href/assets/controllers/cookies_controller-3b4b6ef8.js>link relmodulepreload href/assets/controllers/customer_card_controller-8c5b8c2f.js>link relmodulepreload href/assets/controllers/date_controller-cfa85ae1.js>link relmodulepreload href/assets/controllers/date_time_controller-ab8ad668.js>link relmodulepreload href/assets/controllers/debounce_controller-f0788786.js>link relmodulepreload href/assets/controllers/dialog_controller-bdbc72f2.js>link relmodulepreload href/assets/controllers/dropdown_controller-903f9233.js>link relmodulepreload href/assets/controllers/email_verification_controller-407eb718.js>link relmodulepreload href/assets/controllers/filter_panel_controller-d27255bb.js>link relmodulepreload href/assets/controllers/flash_controller-16476995.js>link relmodulepreload href/assets/controllers/focus_controller-3a2a557c.js>link relmodulepreload href/assets/controllers/form_controller-365a3142.js>link relmodulepreload href/assets/controllers/highlight_controller-5cec3ddb.js>link relmodulepreload href/assets/controllers/image_preview_controller-cf9cf45f.js>link relmodulepreload href/assets/controllers/images_controller-85fd6821.js>link relmodulepreload href/assets/controllers/index-123d0167.js>link relmodulepreload href/assets/controllers/inline_edit_controller-00fc7b78.js>link relmodulepreload href/assets/controllers/invoice_controller-0b6d937b.js>link relmodulepreload href/assets/controllers/invoice_item_controller-d5c29291.js>link relmodulepreload href/assets/controllers/invoice_items_controller-1380982f.js>link relmodulepreload href/assets/controllers/keyboard_shortcuts_controller-cc5506b7.js>link relmodulepreload href/assets/controllers/list_view_controller-9f683fbe.js>link relmodulepreload href/assets/controllers/loading_button_controller-a4c2992b.js>link relmodulepreload href/assets/controllers/mobile_menu_controller-35adfcc9.js>link relmodulepreload href/assets/controllers/modal_controller-7a498714.js>link relmodulepreload href/assets/controllers/nested_form_controller-dd8fc847.js>link relmodulepreload href/assets/controllers/notification_controller-fcad38ed.js>link relmodulepreload href/assets/controllers/opengraph_embed_controller-fed3a815.js>link relmodulepreload href/assets/controllers/remove_controller-e754e763.js>link relmodulepreload href/assets/controllers/reset_controller-579a918f.js>link relmodulepreload href/assets/controllers/search_controller-b61c6021.js>link relmodulepreload href/assets/controllers/sidebar_controller-0dcddca9.js>link relmodulepreload href/assets/controllers/tags_controller-64965623.js>link relmodulepreload href/assets/controllers/theme_controller-98d909a2.js>link relmodulepreload href/assets/controllers/toggle_controller-3749a1df.js>link relmodulepreload href/assets/controllers/trix_controller-c94bf324.js>link relmodulepreload href/assets/controllers/tz_controller-801b6a11.js>link relmodulepreload href/assets/initializers/autocomplete-3d1b2559.js>link relmodulepreload href/assets/initializers/current-c1578d59.js>link relmodulepreload href/assets/initializers/index-47667d47.js>link relmodulepreload href/assets/initializers/rich_text-c46db8cc.js>link relmodulepreload href/assets/lib/autocomplete/autocomplete_handler-af6534f7.js>link relmodulepreload href/assets/lib/autocomplete/base_autocomplete_handler-6c248cd0.js>link relmodulepreload href/assets/lib/autocomplete/collection-e63a9c3b.js>link relmodulepreload href/assets/lib/autocomplete/constants-60f17cf2.js>link relmodulepreload href/assets/lib/autocomplete/custom_elements/suggestion_option-e7eaebff.js>link relmodulepreload href/assets/lib/autocomplete/custom_elements/suggestion_select-5e2da075.js>link relmodulepreload href/assets/lib/autocomplete/helpers-df57a0c1.js>link relmodulepreload href/assets/lib/autocomplete/mentions_autocomplete_handler-c9dbe651.js>link relmodulepreload href/assets/lib/autocomplete/renderer-9b9ec4f1.js>link relmodulepreload href/assets/lib/autocomplete/selection-8ece19ce.js>link relmodulepreload href/assets/lib/autocomplete/suggestion_context-c7ae541a.js>link relmodulepreload href/assets/lib/autocomplete/suggestion_controller-49371bf1.js>link relmodulepreload href/assets/lib/autocomplete/suggestion_results_controller-f2ca7aab.js>link relmodulepreload href/assets/lib/autocomplete/utils-057493b5.js>link relmodulepreload href/assets/lib/rich_text/unfurl/lib/opengraph_embed_operation-4c78bca4.js>link relmodulepreload href/assets/lib/rich_text/unfurl/lib/paste-7c3dc61f.js>link relmodulepreload href/assets/lib/rich_text/unfurl/unfurler-93aebedc.js>link relmodulepreload href/assets/lib/setup_filepond-a6b7daef.js>link relmodulepreload href/assets/helpers/dom_helpers-3b011c2d.js>link relmodulepreload href/assets/helpers/navigator_helpers-c1521dd0.js>link relmodulepreload href/assets/helpers/string_helpers-4a4a9190.js>link relmodulepreload href/assets/helpers/timing_helpers-4538390f.js>link relmodulepreload href/assets/helpers/turbo_helpers-5496333b.js>link relmodulepreload href/assets/helpers/tz_util-25f5aabf.js>link relmodulepreload href/assets/models/client_message-0004febf.js>link relmodulepreload href/assets/models/file_uploader-61289374.js>link relmodulepreload href/assets/models/message_formatter-e80632fe.js>link relmodulepreload href/assets/models/message_paginator-9f32c7b1.js>link relmodulepreload href/assets/models/scroll_manager-aede642e.js>link relmodulepreload href/assets/models/typing_tracker-c81df268.js>script typemodule>import application/script>link relstylesheet href//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/atom-one-light.min.css mediascreen>link relstylesheet href//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/atom-one-dark.min.css mediascreen and (prefers-color-scheme: dark)>title>mhenrixon/title>meta namedescription contentMikael Henriksson, freelancing software developer with 17 years professional experience.>link relcanonical hrefhttps://mhenrixon.com/>link relimage_src hrefhttps://mhenrixon.com/assets/me_newer@0.5x-e4f14205.png>meta propertyog:site_name contentmhenrixon>meta propertyog:title contentmhenrixon>meta propertyog:description contentMikael Henriksson, freelancing software developer with 17 years professional experience.>meta propertyog:type contentwebsite>meta propertyog:locale contenten_US>meta propertyog:url contenthttps://mhenrixon.com/>meta propertyog:image contenthttps://mhenrixon.com/assets/me_newer@0.5x-e4f14205.png>meta nametwitter:card contentsummary>meta nametwitter:site content@mhenrixon>meta nametwitter:creator content@mhenrixon>meta nametwitter:image contenthttps://mhenrixon.com/assets/me_newer@0.5x-e4f14205.png>/head>body classh-full antialiased bg-base-200 m-0 p-0>div data-controllertheme data-theme-light-valuelight data-theme-dark-valuedark classhidden>/div>div classbg-base-200 my-auto w-full p-0 m-0 mx-auto max-w-7xl>div classpx-2 sm:px-4 md:px-6 lg:px-8>nav classnavbar bg-base-300 text-base-content shadow-sm w-full justify-between idapp-nav>div classnavbar-start>div classdropdown>div classbtn btn btn-ghost lg:hidden rolebutton tabindex0>svg xmlnshttp://www.w3.org/2000/svg fillnone viewbox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classinline-block w-6 h-6 stroke-current> path stroke-linecapround stroke-linejoinround dM3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5>/path>/svg>/div>ul classmenu menu-sm bg-base-300 text-base-content dropdown-content rounded-box mt-3 w-52 p-2 shadow tabindex0>li>a href/>Home/a>/li>li>a href/about>About/a>/li>li>a href/articles>Articles/a>/li>li>a href/resume>Resume/a>/li>li>div classdivider divider-neutral>Profile/div>/li>li>a href/profiles/edit>Edit profile/a>/li>li>a href/password/edit>Change password/a>/li>li>a href/identity/email/edit>Change email address/a>/li>li>div classdivider divider-neutral>Security/div>/li>li>a href/two_factor_authentication/profile/totp/new>Two-Factor Authentication/a>/li>li>a href/sessions>Devices & Sessions/a>/li>li>a href/authentications/events>Activity Log/a>/li>/ul>/div>a href/ classbtn btn-ghost text-xl>Coding/a>/div>div classnavbar-center hidden lg:flex>ul classmenu menu-horizontal px-1>li>a href/>Home/a>/li>li>a href/about>About/a>/li>li>a href/articles>Articles/a>/li>li>a href/resume>Resume/a>/li>/ul>/div>div classnavbar-end hidden lg:flex>a href/sign_in classbtn btn-ghost>Sign in/a>/div>/nav>/div>main classp-main>div classmin-h-screen>section classhero bg-base-200>div classhero-content flex-col lg:flex-row-reverse max-w-7xl mx-auto py-12>div classlg:w-1/2>img classw-full max-w-md rounded-lg shadow-2xl mx-auto src/assets/me_em-d0b787fd.webp />/div>div classlg:w-1/2 mt-6 lg:mt-0>h1 classtext-4xl md:text-5xl font-bold text-primary text-balance>Ruby on Rails Problem Solver/h1>h2 classtext-2xl md:text-3xl font-semibold mt-2>Mikael Henriksson/h2>p classpy-4 text-lg>Fullstack developer who turns complex challenges into elegant solutions through Zoolutions LLC./p>div classflex flex-wrap gap-2 mt-2>span classbadge badge-primary>Ruby on Rails/span>span classbadge badge-primary>Fullstack/span>span classbadge badge-primary>Problem Solving/span>span classbadge badge-primary>Intuitive Solutions/span>span classbadge badge-primary>PostgreSQL/span>/div>div classmt-6>a href#contact classbtn btn-primary>Let's Talk/a>a href#services classbtn btn-outline btn-secondary ml-2>Learn More/a>/div>/div>/div>/section>section idservices classpy-16 bg-base-100>div classmax-w-7xl mx-auto px-4>h2 classtext-3xl font-bold text-center mb-4>How I Can Help You/h2>p classtext-center text-lg mb-12 max-w-3xl mx-auto text-pretty hyphen-auto>Need someone who can jump in and just figure things out? I'm that developer who makes sense of the senseless and brings clarity to chaos./p>div classgrid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8>section classcard bg-base-200 text-base-content shadow-xl>div classcard-body>div classflex justify-center mb-4>svg xmlnshttp://www.w3.org/2000/svg fillnone viewbox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classw-12 h-12 text-primary> path stroke-linecapround stroke-linejoinround dM17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5>/path>/svg>/div>header classcard-title justify-center>Custom Web Applications/header>p>Building intuitive solutions that perfectly match what you're looking for—even when you're not exactly sure what that is yet./p>/div>/section>section classcard bg-base-200 text-base-content shadow-xl>div classcard-body>div classflex justify-center mb-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-12 h-12 text-primary> path dM17.004 10.407c.138.435-.216.842-.672.842h-3.465a.75.75 0 0 1-.65-.375l-1.732-3c-.229-.396-.053-.907.393-1.004a5.252 5.252 0 0 1 6.126 3.537ZM8.12 8.464c.307-.338.838-.235 1.066.16l1.732 3a.75.75 0 0 1 0 .75l-1.732 3c-.229.397-.76.5-1.067.161A5.23 5.23 0 0 1 6.75 12a5.23 5.23 0 0 1 1.37-3.536ZM10.878 17.13c-.447-.098-.623-.608-.394-1.004l1.733-3.002a.75.75 0 0 1 .65-.375h3.465c.457 0 .81.407.672.842a5.252 5.252 0 0 1-6.126 3.539Z>/path> path fill-ruleevenodd dM21 12.75a.75.75 0 1 0 0-1.5h-.783a8.22 8.22 0 0 0-.237-1.357l.734-.267a.75.75 0 1 0-.513-1.41l-.735.268a8.24 8.24 0 0 0-.689-1.192l.6-.503a.75.75 0 1 0-.964-1.149l-.6.504a8.3 8.3 0 0 0-1.054-.885l.391-.678a.75.75 0 1 0-1.299-.75l-.39.676a8.188 8.188 0 0 0-1.295-.47l.136-.77a.75.75 0 0 0-1.477-.26l-.136.77a8.36 8.36 0 0 0-1.377 0l-.136-.77a.75.75 0 1 0-1.477.26l.136.77c-.448.121-.88.28-1.294.47l-.39-.676a.75.75 0 0 0-1.3.75l.392.678a8.29 8.29 0 0 0-1.054.885l-.6-.504a.75.75 0 1 0-.965 1.149l.6.503a8.243 8.243 0 0 0-.689 1.192L3.8 8.216a.75.75 0 1 0-.513 1.41l.735.267a8.222 8.222 0 0 0-.238 1.356h-.783a.75.75 0 0 0 0 1.5h.783c.042.464.122.917.238 1.356l-.735.268a.75.75 0 0 0 .513 1.41l.735-.268c.197.417.428.816.69 1.191l-.6.504a.75.75 0 0 0 .963 1.15l.601-.505c.326.323.679.62 1.054.885l-.392.68a.75.75 0 0 0 1.3.75l.39-.679c.414.192.847.35 1.294.471l-.136.77a.75.75 0 0 0 1.477.261l.137-.772a8.332 8.332 0 0 0 1.376 0l.136.772a.75.75 0 1 0 1.477-.26l-.136-.771a8.19 8.19 0 0 0 1.294-.47l.391.677a.75.75 0 0 0 1.3-.75l-.393-.679a8.29 8.29 0 0 0 1.054-.885l.601.504a.75.75 0 0 0 .964-1.15l-.6-.503c.261-.375.492-.774.69-1.191l.735.267a.75.75 0 1 0 .512-1.41l-.734-.267c.115-.439.195-.892.237-1.356h.784Zm-2.657-3.06a6.744 6.744 0 0 0-1.19-2.053 6.784 6.784 0 0 0-1.82-1.51A6.705 6.705 0 0 0 12 5.25a6.8 6.8 0 0 0-1.225.11 6.7 6.7 0 0 0-2.15.793 6.784 6.784 0 0 0-2.952 3.489.76.76 0 0 1-.036.098A6.74 6.74 0 0 0 5.251 12a6.74 6.74 0 0 0 3.366 5.842l.009.005a6.704 6.704 0 0 0 2.18.798l.022.003a6.792 6.792 0 0 0 2.368-.004 6.704 6.704 0 0 0 2.205-.811 6.785 6.785 0 0 0 1.762-1.484l.009-.01.009-.01a6.743 6.743 0 0 0 1.18-2.066c.253-.707.39-1.469.39-2.263a6.74 6.74 0 0 0-.408-2.309Z clip-ruleevenodd>/path>/svg>/div>header classcard-title justify-center>Legacy System Rescue/header>p>Taking over that project everyone's afraid to touch and turning it into something maintainable that you'll actually enjoy working with./p>/div>/section>section classcard bg-base-200 text-base-content shadow-xl>div classcard-body>div classflex justify-center mb-4>svg xmlnshttp://www.w3.org/2000/svg fillnone viewbox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classw-12 h-12 text-primary> path stroke-linecapround stroke-linejoinround dM5.25 14.25h13.5m-13.5 0a3 3 0 0 1-3-3m3 3a3 3 0 1 0 0 6h13.5a3 3 0 1 0 0-6m-16.5-3a3 3 0 0 1 3-3h13.5a3 3 0 0 1 3 3m-19.5 0a4.5 4.5 0 0 1 .9-2.7L5.737 5.1a3.375 3.375 0 0 1 2.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 0 1 .9 2.7m0 0a3 3 0 0 1-3 3m0 3h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Zm-3 6h.008v.008h-.008v-.008Zm0-6h.008v.008h-.008v-.008Z>/path>/svg>/div>header classcard-title justify-center>API Development/header>p>Helping machines talk to machines, so your team can focus on what humans do best./p>/div>/section>/div>/div>/section>section classpy-16 bg-base-200>div classmax-w-7xl mx-auto px-4>h2 classtext-3xl font-bold text-center mb-12>Why Work With Me/h2>div classgrid grid-cols-1 lg:grid-cols-2 gap-8>div classspace-y-6>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>20+ Years of Experience/h3>p>I've seen it all—from the early days of web development to modern frameworks. This means I can solve problems faster and with fewer headaches./p>/div>/div>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Business Perspective/h3>p>As a business owner, I understand what really matters—solutions that deliver real value, not just following the latest tech trends./p>/div>/div>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Minimal Handholding Required/h3>p>Tired of writing detailed specs that never get followed? I'm the developer who can understand what you want, even when you're not sure how to express it./p>/div>/div>/div>div classspace-y-6>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Practical Approach/h3>p>I focus on what works, not rigid methodologies. The goal is to build solid, maintainable systems that make your life easier./p>/div>/div>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Clear Communication/h3>p>I'll keep you in the loop without overwhelming you with technical jargon—just honest updates in language that makes sense./p>/div>/div>div classflex items-start>div classmt-1 bg-primary rounded-full p-2 mr-4>svg xmlnshttp://www.w3.org/2000/svg viewbox0 0 24 24 fillcurrentColor aria-hiddentrue data-sloticon stroke-width classw-5 h-5 text-base-100> path fill-ruleevenodd dM19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z clip-ruleevenodd>/path>/svg>/div>div>h3 classtext-xl font-bold>Long-term Partnership/h3>p>I choose my clients carefully because I want to build lasting relationships. If I work with you, I'm fully invested in your success./p>/div>/div>/div>/div>/div>/section>section classpy-16 bg-base-100>div classmax-w-7xl mx-auto px-4>h2 classtext-3xl font-bold text-center mb-4>My Approach/h2>p classtext-center text-lg mb-8 max-w-3xl mx-auto>No rigid processes or unnecessary complexity—just a straightforward path to getting things done./p>div classsteps steps-vertical lg:steps-horizontal w-full>div classstep step-primary>div classmt-2>h3 classfont-bold>Listen/h3>p classtext-sm mt-1>Understanding what you really need, not just what you're asking for/p>/div>/div>div classstep step-primary>div classmt-2>h3 classfont-bold>Explore/h3>p classtext-sm mt-1>Finding the simplest path forward that achieves your goals/p>/div>/div>div classstep step-primary>div classmt-2>h3 classfont-bold>Build/h3>p classtext-sm mt-1>Creating solutions with regular check-ins to make sure we're on track/p>/div>/div>div classstep step-primary>div classmt-2>h3 classfont-bold>Refine/h3>p classtext-sm mt-1>Making sure everything works as expected and is easy to maintain/p>/div>/div>div classstep step-primary>div classmt-2>h3 classfont-bold>Support/h3>p classtext-sm mt-1>Being there for the long haul, not just until the project is 'done'/p>/div>/div>/div>/div>/section>section idcontact classpy-16 bg-base-200>div classmax-w-7xl mx-auto px-4 text-center>h2 classtext-3xl font-bold mb-4>Let Me Handle the Technical Stuff/h2>p classtext-lg mb-8 max-w-2xl mx-auto>Have a challenge that needs solving or a project that's stuck? Let's talk about how I can help you move forward without all the headaches./p>a href/contact classbtn btn-primary btn-lg>svg xmlnshttp://www.w3.org/2000/svg fillnone viewbox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon classw-5 h-5 mr-2> path stroke-linecapround stroke-linejoinround dM21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75>/path>/svg>Get in Touch/a>/div>/section>/div>/main>footer classmt-20 p-main footer items-center>aside classitems-center grid-flow-col>p>Copyright Zoolutions LLC © 2024 - All right reserved/p>/aside>nav classgrid-flow-col gap-4 md:place-self-center md:justify-self-end>a hrefhttps://github.com/mhenrixon classbase-content hover:text-accent h-6 w-6>svg classh-6 w-6 fill-current xmlnshttp://www.w3.org/2000/svg viewBox0 0 496 512>!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->path dM165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z/>/svg>/a>a hrefhttps://linkedin.com/in/mhenrixon classbase-content hover:text-accent h-6 w-6>svg classh-6 w-6 fill-current xmlnshttp://www.w3.org/2000/svg viewBox0 0 448 512>!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->path dM416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z/>/svg>/a>a hrefhttps://x.com/mhenrixon classbase-content hover:text-accent h-6 w-6>svg classh-6 w-6 fill-current xmlnshttp://www.w3.org/2000/svg viewBox0 0 512 512>!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->path dM389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z/>/svg>/a>a hrefhttps://soundcloud.com/mhenrixon classbase-content hover:text-accent h-6 w-6>svg classh-6 w-6 fill-current xmlnshttp://www.w3.org/2000/svg viewBox0 0 640 512>!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. -->path dM111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z/>/svg>/a>/nav>/footer>/div>turbo-frame idflash_messages>div idapp-flash aria-liveassertive classtoast toast-end toast-middle min-w-fit md:w-fit>/div>/turbo-frame>turbo-frame idmodal>/turbo-frame>!-- <ninja-keys data-controller"ninja" class"dark" data-erb-data-ninja-admin-value"0" data-erb-data-ninja-app-value"coding"> </ninja-keys> -->dialog idturbo-confirm classmodal modal-bottom sm:modal-middle>div classmodal-box>p classpy-4>Press ESC key or click the button below to close/p>div classmodal-action>form methoddialog>button classbtn mr-4 valuecancel>Cancel/button>button classbtn ml-4 valueconfirm>Confirm/button>/form>/div>/div>/dialog>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]