gitextract_35rvr7io/ ├── .gitignore ├── .replit ├── __init__.py ├── backend/ │ ├── .gitignore │ ├── .python-version │ ├── README.md │ ├── hi.py │ └── marketing_source_sync.py ├── blog/ │ ├── .gitignore │ ├── README.md │ ├── bun.lockb │ ├── index.ts │ ├── observablehq.config.js │ ├── package.json │ └── src/ │ ├── .gitignore │ ├── .observablehq/ │ │ └── deploy.json │ ├── algorithms/ │ │ └── map-reduce.md │ ├── components/ │ │ ├── editor.js │ │ └── timeline.js │ ├── connectivity/ │ │ ├── livekit-webrtc.md │ │ └── tailscale-caddy-dns-porkbun.md │ ├── cpp/ │ │ ├── concurrency-parallelism.md │ │ └── memory-management.md │ ├── data/ │ │ ├── events.json │ │ └── launches.csv.js │ ├── data-analysis/ │ │ ├── events.json │ │ ├── launches.csv.js │ │ └── olap.md │ ├── data-vis/ │ │ ├── anomaly-detection.md │ │ ├── capacity-planning.md │ │ ├── crisis-diagnosis.md │ │ └── systems-design.md │ ├── devops/ │ │ ├── docker.md │ │ └── terraform.md │ ├── dynamicland/ │ │ └── dynamicland.md │ ├── embedded/ │ │ ├── hardware-in-the-loop-simulation.md │ │ └── zig.md │ ├── hardware/ │ │ └── soldering-pcb-3d-printing.md │ ├── index.md │ ├── llms/ │ │ └── ollama-claude-o1-pro.md │ ├── maps/ │ │ ├── hd-mapping.md │ │ └── open-street-maps.md │ ├── math/ │ │ ├── linear-algebra.md │ │ ├── probability.md │ │ └── real-analysis.md │ ├── neuroscience/ │ │ ├── constructionism.md │ │ ├── free-will.md │ │ └── single-cell-analysis.md │ ├── perception/ │ │ ├── object-detection.md │ │ ├── scene-understanding.md │ │ ├── semantic-segmentation.md │ │ ├── sensor-calibration.md │ │ └── vision-transformers.md │ ├── python/ │ │ └── uv_jupyter_testing.md │ ├── robotics/ │ │ └── motion-planning.md │ └── simulation/ │ ├── Unity.md │ ├── Unreal-Engine.md │ └── reinforcement-learning.md ├── data/ │ ├── 150_algo_vis.json │ ├── 150_games.json │ ├── citations.txt │ ├── cognitive_biases.json │ ├── cognitive_biases.md │ ├── data.json │ ├── dynamicland/ │ │ └── everything.json │ ├── educational robotics for 141 dollars _ Robotics Odyssey.html │ ├── educational robotics for 141 dollars _ Robotics Odyssey_files/ │ │ ├── 1683-90852ff38d0f48c3.js │ │ ├── 22305925 │ │ ├── 2549-d685c5a8b5e44383.js │ │ ├── 3999-eb7c9b525e00cb6c.js │ │ ├── 4169-a2f83540e7ed7bf5.js │ │ ├── 7297-514aacfbea18160d.js │ │ ├── 8234-563c4d907b8a6e14.js │ │ ├── 8764-fb7153f259170265.js │ │ ├── 9273-d14a7c3909b5f026.js │ │ ├── 93497294 │ │ ├── 9430-e1d1710730c7a2db.js │ │ ├── BTd3N5Oj2jk.html │ │ ├── Main.js │ │ ├── [...specifiers]-6a923aab3931db26.js │ │ ├── _app-4ca44e0e0c4aea04.js │ │ ├── _buildManifest.js │ │ ├── _ssgManifest.js │ │ ├── ad_status.js │ │ ├── bTS-krGMW8fDflzgOBqs4RfQ289v88xjeZzvxqf94UM.js │ │ ├── base.js │ │ ├── cast_sender(1).js │ │ ├── cast_sender.js │ │ ├── clarity.js │ │ ├── client.js │ │ ├── d01c1a66254bf331.css │ │ ├── dynamical-systems-xerox-parc-dynamicland.html │ │ ├── embed.js │ │ ├── framework-a17bb443126b4122.js │ │ ├── htmx.org@1.9.3 │ │ ├── hyperscript.org@0.9.9 │ │ ├── js │ │ ├── main-481a3b56229fbdcf.js │ │ ├── mootools.js │ │ ├── ok8h7h9e0q │ │ ├── output.css │ │ ├── perception.html │ │ ├── polyfills-42372ed130431b0a.js │ │ ├── prediction@124.html │ │ ├── remote.js │ │ ├── saved_resource(1).html │ │ ├── saved_resource.html │ │ ├── simulation.html │ │ ├── style.css │ │ ├── webpack-165ff3e7383b672c.js │ │ ├── worker-BxqpBb1S.css │ │ ├── worker-DfKuigH-.js │ │ ├── worker-lLzrCfCS(1).html │ │ ├── worker-lLzrCfCS(2).html │ │ ├── worker-lLzrCfCS(3).html │ │ ├── worker-lLzrCfCS.html │ │ ├── www-embed-player.js │ │ └── www-player.css │ ├── first_flyio/ │ │ ├── Dockerfile │ │ ├── connect_to_livekit.py │ │ ├── fly.toml │ │ ├── main.py │ │ └── start.sh │ ├── games_collection.json │ ├── machines.json │ ├── magic_iframe.js │ ├── mental_models.json │ ├── misc_vis.json │ └── parsed_links.json ├── go-libo-demo/ │ ├── go.mod │ ├── go.sum │ └── main.go ├── hello.py ├── notebooks/ │ ├── Rtings_for_robotics.ipynb │ ├── Untitled.ipynb │ ├── browser_base_research_agent.py │ ├── dist/ │ │ ├── _file/ │ │ │ └── data/ │ │ │ ├── events.46a3a628.json │ │ │ └── launches.5c43450e.csv │ │ ├── _import/ │ │ │ └── components/ │ │ │ └── timeline.3a99cfed.js │ │ ├── _npm/ │ │ │ ├── @observablehq/ │ │ │ │ ├── plot@0.6.16/ │ │ │ │ │ └── d3b1d894.js │ │ │ │ └── sample-datasets@1.0.1/ │ │ │ │ ├── aapl.csv │ │ │ │ └── penguins.csv │ │ │ ├── binary-search-bounds@2.0.5/ │ │ │ │ └── 1ee6c50d.js │ │ │ ├── d3-array@3.2.4/ │ │ │ │ └── 37839b6a.js │ │ │ ├── d3-axis@3.0.0/ │ │ │ │ └── bd0afa17.js │ │ │ ├── d3-brush@3.0.0/ │ │ │ │ └── 6495590f.js │ │ │ ├── d3-chord@3.0.1/ │ │ │ │ └── 84d7b8e9.js │ │ │ ├── d3-color@3.1.0/ │ │ │ │ └── 2c0cdfa2.js │ │ │ ├── d3-contour@4.0.2/ │ │ │ │ └── d496a3b3.js │ │ │ ├── d3-delaunay@6.0.4/ │ │ │ │ └── 00c41b5d.js │ │ │ ├── d3-dispatch@3.0.1/ │ │ │ │ └── b5f7cdc6.js │ │ │ ├── d3-drag@3.0.0/ │ │ │ │ └── ef06b1ff.js │ │ │ ├── d3-dsv@3.0.1/ │ │ │ │ └── 407f7a1f.js │ │ │ ├── d3-ease@3.0.1/ │ │ │ │ └── 6f15f633.js │ │ │ ├── d3-fetch@3.0.1/ │ │ │ │ └── 35880c2a.js │ │ │ ├── d3-force@3.0.0/ │ │ │ │ └── 5e1ff060.js │ │ │ ├── d3-format@3.1.0/ │ │ │ │ └── 33fb7288.js │ │ │ ├── d3-geo@3.1.1/ │ │ │ │ └── 5e427f4b.js │ │ │ ├── d3-hierarchy@3.1.2/ │ │ │ │ └── f1db2593.js │ │ │ ├── d3-interpolate@3.0.1/ │ │ │ │ └── 034b7bcb.js │ │ │ ├── d3-path@3.1.0/ │ │ │ │ └── 4bb53638.js │ │ │ ├── d3-polygon@3.0.1/ │ │ │ │ └── bbafde58.js │ │ │ ├── d3-quadtree@3.0.1/ │ │ │ │ └── aa5b35a8.js │ │ │ ├── d3-random@3.0.1/ │ │ │ │ └── 32c7fec2.js │ │ │ ├── d3-scale-chromatic@3.1.0/ │ │ │ │ └── cf9b720b.js │ │ │ ├── d3-scale@4.0.2/ │ │ │ │ └── 4143aac9.js │ │ │ ├── d3-selection@3.0.0/ │ │ │ │ └── a4e530fb.js │ │ │ ├── d3-shape@3.2.0/ │ │ │ │ └── be692bd9.js │ │ │ ├── d3-time-format@4.1.0/ │ │ │ │ └── 28d1ef76.js │ │ │ ├── d3-time@3.1.0/ │ │ │ │ └── 3a9ac1c1.js │ │ │ ├── d3-timer@3.0.1/ │ │ │ │ └── f31b5398.js │ │ │ ├── d3-transition@3.0.1/ │ │ │ │ └── 0c259fbf.js │ │ │ ├── d3-zoom@3.0.0/ │ │ │ │ └── da4a6ccc.js │ │ │ ├── d3@7.9.0/ │ │ │ │ └── fcf2830e.js │ │ │ ├── delaunator@5.0.1/ │ │ │ │ └── e67acb27.js │ │ │ ├── internmap@2.0.3/ │ │ │ │ └── 5eed35fd.js │ │ │ ├── interval-tree-1d@1.0.4/ │ │ │ │ └── a62ae5ce.js │ │ │ ├── isoformat@0.2.1/ │ │ │ │ └── c68fbd73.js │ │ │ └── robust-predicates@3.0.2/ │ │ │ └── 8ac9039b.js │ │ ├── _observablehq/ │ │ │ ├── client.966d4ea1.js │ │ │ ├── runtime.f168f711.js │ │ │ ├── stdlib.1d18d6f6.js │ │ │ ├── theme-air,near-midnight,alt,wide.db1cdf55.css │ │ │ └── theme-air,near-midnight.dcdbf18e.css │ │ ├── example-dashboard.html │ │ ├── example-report.html │ │ └── index.html │ ├── dynamicland.ipynb │ ├── geospatial.ipynb │ ├── learning_from_driving.ipynb │ ├── polars_geospatial.ipynb │ ├── prediction/ │ │ └── prediction.ipynb │ ├── simulation/ │ │ └── simulation.ipynb │ ├── simulation_editor/ │ │ ├── .gitignore │ │ ├── bun.lockb │ │ ├── netlify.toml │ │ ├── package.json │ │ ├── readme.md │ │ ├── src/ │ │ │ ├── addToScene.js │ │ │ ├── createBox.js │ │ │ ├── createFloor.js │ │ │ ├── createMeshForShape.js │ │ │ ├── dist/ │ │ │ │ ├── .gitkeep │ │ │ │ ├── assets/ │ │ │ │ │ └── index-CC6HPAIA.js │ │ │ │ ├── draco/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── draco_decoder.js │ │ │ │ │ ├── draco_decoder.wasm │ │ │ │ │ ├── draco_encoder.js │ │ │ │ │ ├── draco_wasm_wrapper.js │ │ │ │ │ └── gltf/ │ │ │ │ │ ├── draco_decoder.js │ │ │ │ │ ├── draco_decoder.wasm │ │ │ │ │ ├── draco_encoder.js │ │ │ │ │ └── draco_wasm_wrapper.js │ │ │ │ ├── index.html │ │ │ │ ├── js/ │ │ │ │ │ ├── debug-renderer.js │ │ │ │ │ ├── example.js │ │ │ │ │ ├── jolt-physics.multithread.wasm-compat.js │ │ │ │ │ ├── jolt-physics.wasm-compat.js │ │ │ │ │ ├── object_stream.js │ │ │ │ │ ├── ragdoll_loader.js │ │ │ │ │ ├── soft-body-creator.js │ │ │ │ │ └── three/ │ │ │ │ │ ├── CSS3DRenderer.js │ │ │ │ │ ├── OrbitControls.js │ │ │ │ │ └── WebGL.js │ │ │ │ ├── mini_home.gltf │ │ │ │ ├── models/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── DamagedHelmet/ │ │ │ │ │ ├── README.md │ │ │ │ │ └── glTF/ │ │ │ │ │ └── DamagedHelmet.gltf │ │ │ │ └── textures/ │ │ │ │ └── Park2/ │ │ │ │ └── readme.txt │ │ │ ├── getSoftBodyMesh.js │ │ │ ├── getThreeObjectForBody.js │ │ │ ├── index.css │ │ │ ├── index.html │ │ │ ├── initGraphics.js │ │ │ ├── initPhysics.js │ │ │ ├── lighting.js │ │ │ ├── main.js │ │ │ ├── onWindowResize.js │ │ │ ├── postprocessing.js │ │ │ ├── renderLoop.js │ │ │ ├── renderhelmet.js │ │ │ ├── setupCollisionFiltering.js │ │ │ ├── setupExample.js │ │ │ ├── updatePhysics.js │ │ │ └── utils/ │ │ │ ├── cool_lighting.js │ │ │ ├── edit_scene.js │ │ │ ├── games_list_view.js │ │ │ ├── gltf-loader.js │ │ │ ├── handleUserInput.js │ │ │ ├── jolt-physics.wasm-compat.js │ │ │ ├── lyricDetector.js │ │ │ ├── play_karaoke.js │ │ │ └── wiki-game.ts │ │ ├── static/ │ │ │ ├── .gitkeep │ │ │ ├── draco/ │ │ │ │ ├── README.md │ │ │ │ ├── draco_decoder.js │ │ │ │ ├── draco_decoder.wasm │ │ │ │ ├── draco_encoder.js │ │ │ │ ├── draco_wasm_wrapper.js │ │ │ │ └── gltf/ │ │ │ │ ├── draco_decoder.js │ │ │ │ ├── draco_decoder.wasm │ │ │ │ ├── draco_encoder.js │ │ │ │ └── draco_wasm_wrapper.js │ │ │ ├── js/ │ │ │ │ ├── debug-renderer.js │ │ │ │ ├── example.js │ │ │ │ ├── jolt-physics.multithread.wasm-compat.js │ │ │ │ ├── jolt-physics.wasm-compat.js │ │ │ │ ├── object_stream.js │ │ │ │ ├── ragdoll_loader.js │ │ │ │ ├── soft-body-creator.js │ │ │ │ └── three/ │ │ │ │ ├── CSS3DRenderer.js │ │ │ │ ├── OrbitControls.js │ │ │ │ └── WebGL.js │ │ │ ├── mini_home.gltf │ │ │ ├── models/ │ │ │ │ ├── .gitkeep │ │ │ │ └── DamagedHelmet/ │ │ │ │ ├── README.md │ │ │ │ └── glTF/ │ │ │ │ └── DamagedHelmet.gltf │ │ │ └── textures/ │ │ │ └── Park2/ │ │ │ └── readme.txt │ │ └── vite.config.js │ ├── src/ │ │ └── .observablehq/ │ │ └── cache/ │ │ ├── _build.json │ │ ├── _npm/ │ │ │ ├── @observablehq/ │ │ │ │ ├── plot@0.6.16/ │ │ │ │ │ ├── _esm.js │ │ │ │ │ └── package.json │ │ │ │ └── sample-datasets@1.0.1/ │ │ │ │ ├── aapl.csv │ │ │ │ └── penguins.csv │ │ │ ├── binary-search-bounds@2.0.5/ │ │ │ │ └── _esm.js │ │ │ ├── d3-array@3.2.4/ │ │ │ │ ├── _esm.js │ │ │ │ └── package.json │ │ │ ├── d3-axis@3.0.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-brush@3.0.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-chord@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-color@3.1.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-contour@4.0.2/ │ │ │ │ └── _esm.js │ │ │ ├── d3-delaunay@6.0.4/ │ │ │ │ ├── _esm.js │ │ │ │ └── package.json │ │ │ ├── d3-dispatch@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-drag@3.0.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-dsv@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-ease@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-fetch@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-force@3.0.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-format@3.1.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-geo@3.1.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-hierarchy@3.1.2/ │ │ │ │ └── _esm.js │ │ │ ├── d3-interpolate@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-path@3.1.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-polygon@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-quadtree@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-random@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-scale-chromatic@3.1.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-scale@4.0.2/ │ │ │ │ └── _esm.js │ │ │ ├── d3-selection@3.0.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-shape@3.2.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-time-format@4.1.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-time@3.1.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3-timer@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-transition@3.0.1/ │ │ │ │ └── _esm.js │ │ │ ├── d3-zoom@3.0.0/ │ │ │ │ └── _esm.js │ │ │ ├── d3@7.9.0/ │ │ │ │ ├── _esm.js │ │ │ │ └── package.json │ │ │ ├── delaunator@5.0.1/ │ │ │ │ ├── _esm.js │ │ │ │ └── package.json │ │ │ ├── internmap@2.0.3/ │ │ │ │ └── _esm.js │ │ │ ├── interval-tree-1d@1.0.4/ │ │ │ │ ├── _esm.js │ │ │ │ └── package.json │ │ │ ├── isoformat@0.2.1/ │ │ │ │ └── _esm.js │ │ │ └── robust-predicates@3.0.2/ │ │ │ └── _esm.js │ │ ├── _observablehq/ │ │ │ ├── client.js │ │ │ ├── runtime.js │ │ │ └── stdlib.js │ │ └── data/ │ │ └── launches.csv │ └── whisper-transcribe.py ├── pyproject.toml ├── readme.md ├── replit.nix ├── scripts/ │ ├── archive/ │ │ ├── add_domain_to_resend.ts │ │ ├── auto_organize_desktop.sh │ │ ├── automate_observablehq.ts │ │ ├── file-rewriter.ts │ │ ├── find_all_markdowns.sh │ │ ├── flirtflow.ts │ │ ├── fly_bun_proxy/ │ │ │ ├── http.ts │ │ │ └── package.json │ │ ├── gifmaker.ts │ │ ├── livekit_webhook.ts │ │ ├── llama-in-the-loop.ts │ │ ├── playwright.ts │ │ ├── readme │ │ ├── src/ │ │ │ ├── agents/ │ │ │ │ └── playwright-optimizely.ts │ │ │ ├── archive/ │ │ │ │ └── web/ │ │ │ │ └── web.ts │ │ │ └── caddy/ │ │ │ └── hashirama.html │ │ └── walk_social_graph.ts │ ├── bun.lockb │ ├── click_house_mock.ts │ ├── index.ts │ ├── infra/ │ │ ├── gpu/ │ │ │ ├── Caddyfile │ │ │ ├── _jupyterconfig/ │ │ │ │ ├── jupyter_lab_config.py │ │ │ │ ├── jupyter_server_config.py │ │ │ │ ├── lab/ │ │ │ │ │ └── workspaces/ │ │ │ │ │ └── default-37a8.jupyterlab-workspace │ │ │ │ └── migrated │ │ │ ├── debug_caddy.sh │ │ │ └── simple-setup.sh │ │ └── gpu2/ │ │ └── Caddyfile │ ├── install.sh │ ├── octokit.ts │ ├── osm-parse.ts │ ├── package.json │ ├── process_311.ts │ ├── process_311_into_bins.ts │ ├── sqlite_db.ts │ ├── supabase_browser.ts │ ├── tigris.ts │ └── tools/ │ ├── livekit.ts │ ├── playlist.ts │ └── playwright/ │ ├── dynamicland_book_shelf.ts │ ├── dynamicland_bookshelf.json │ ├── linkedin-parse-companies.ts │ ├── parse_dynamicland.ts │ ├── waymo.json │ └── zoox.json ├── server.py └── web/ ├── .gitignore ├── README.md ├── bun.lockb ├── homelab/ │ └── data/ │ └── errors.json ├── next.config.ts ├── package.json ├── postcss.config.mjs ├── prettier.config.js ├── public/ │ └── bootstrap.sh ├── src/ │ ├── .next/ │ │ ├── app-build-manifest.json │ │ ├── build-manifest.json │ │ ├── cache/ │ │ │ └── .rscinfo │ │ ├── fallback-build-manifest.json │ │ ├── package.json │ │ ├── react-loadable-manifest.json │ │ ├── server/ │ │ │ ├── app-paths-manifest.json │ │ │ ├── interception-route-rewrite-manifest.js │ │ │ ├── middleware-build-manifest.js │ │ │ ├── middleware-manifest.json │ │ │ ├── middleware-react-loadable-manifest.js │ │ │ ├── next-font-manifest.js │ │ │ ├── next-font-manifest.json │ │ │ ├── pages-manifest.json │ │ │ ├── server-reference-manifest.js │ │ │ └── server-reference-manifest.json │ │ ├── static/ │ │ │ └── development/ │ │ │ ├── _buildManifest.js │ │ │ ├── _clientMiddlewareManifest.json │ │ │ └── _ssgManifest.js │ │ └── trace │ ├── app/ │ │ ├── api/ │ │ │ ├── group_chat/ │ │ │ │ └── route.ts │ │ │ ├── livekit/ │ │ │ │ └── get_token/ │ │ │ │ └── route.ts │ │ │ ├── object_state_change/ │ │ │ │ └── route.ts │ │ │ ├── resend/ │ │ │ │ └── route.ts │ │ │ ├── supabase/ │ │ │ │ └── route.ts │ │ │ ├── vehicle_data/ │ │ │ │ └── route.ts │ │ │ └── vis/ │ │ │ └── route.ts │ │ ├── blog/ │ │ │ ├── dynamicland_2025/ │ │ │ │ ├── content.md │ │ │ │ ├── markdown-styles.module.css │ │ │ │ └── page.tsx │ │ │ ├── events.json │ │ │ ├── health_tensor_hospital_of_the_future/ │ │ │ │ ├── content.md │ │ │ │ ├── markdown-styles.module.css │ │ │ │ └── page.tsx │ │ │ └── page.tsx │ │ ├── demos/ │ │ │ ├── 0/ │ │ │ │ └── page.jsx │ │ │ ├── 1/ │ │ │ │ └── page.jsx │ │ │ ├── 2/ │ │ │ │ └── page.tsx │ │ │ ├── 4/ │ │ │ │ └── page.tsx │ │ │ ├── 51/ │ │ │ │ └── page.tsx │ │ │ ├── 79/ │ │ │ │ └── page.tsx │ │ │ ├── 83/ │ │ │ │ └── page.jsx │ │ │ ├── karaoke/ │ │ │ │ └── page.tsx │ │ │ └── map/ │ │ │ └── page.jsx │ │ ├── error.tsx │ │ ├── globals.css │ │ ├── layout.tsx │ │ ├── loading.tsx │ │ ├── not-found.tsx │ │ ├── page.tsx │ │ ├── providers.tsx │ │ ├── robotics-odyssey/ │ │ │ └── page.tsx │ │ ├── simulation_game/ │ │ │ └── page.tsx │ │ └── tools/ │ │ ├── git_visualizer/ │ │ │ └── page.tsx │ │ ├── group_chat/ │ │ │ └── page.jsx │ │ ├── livekit/ │ │ │ └── page.tsx │ │ ├── page.tsx │ │ ├── resume/ │ │ │ └── page.tsx │ │ └── tailscale/ │ │ └── page.tsx │ ├── components/ │ │ ├── ArticleLayout.tsx │ │ ├── Card.tsx │ │ ├── Container.tsx │ │ ├── Dialog.tsx │ │ ├── Footer.tsx │ │ ├── Header.tsx │ │ ├── HomePageHeader.jsx │ │ ├── ImageGallery.tsx │ │ ├── Layout.tsx │ │ ├── MagicIframe.jsx │ │ ├── PortfolioGrid.tsx │ │ ├── Prose.tsx │ │ ├── Section.tsx │ │ ├── SimpleLayout.tsx │ │ ├── Sliders.jsx │ │ ├── SocialIcons.tsx │ │ ├── cover-image.tsx │ │ ├── pageflip.jsx │ │ └── texteditor.jsx │ ├── interfaces/ │ │ ├── author.ts │ │ └── post.ts │ ├── lib/ │ │ ├── AudioAPI.js │ │ ├── articles.ts │ │ ├── constants.ts │ │ ├── formatDate.ts │ │ ├── markdownToHtml.ts │ │ └── supabaseClient.ts │ └── tsconfig.json ├── tailwind.config.ts └── tsconfig.json