Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
f214208
Create CNAME
patrickfreyer Mar 29, 2025
e7d7947
Added styles and JS
patrickfreyer Mar 29, 2025
60498e9
Delete CNAME
patrickfreyer Mar 29, 2025
57da442
Fixed file references
patrickfreyer Mar 29, 2025
8dee154
Merge branch 'published' of https://github.com/patrickfreyer/patrickf…
patrickfreyer Mar 29, 2025
b2f8455
Added more complex structure and components
patrickfreyer Mar 29, 2025
3fb4b6b
Restructured content dir
patrickfreyer Mar 29, 2025
85a82e9
Adjust yaml compilation
patrickfreyer Mar 29, 2025
9d629ff
Make data loading jekyll compatible
patrickfreyer Mar 29, 2025
3ed51aa
Update Jekyll configuration, remove build script, and clean up index.…
patrickfreyer Mar 29, 2025
cba5582
Refactor YAML structure
patrickfreyer Mar 29, 2025
6807ca3
Simplifications
patrickfreyer Mar 29, 2025
657e1be
Debugging
patrickfreyer Mar 29, 2025
f937110
More debugging
patrickfreyer Mar 29, 2025
d87dd47
Simplifying config
patrickfreyer Mar 29, 2025
5266225
Working version, removing debugging
patrickfreyer Mar 29, 2025
42a85bf
Adding profile pic
patrickfreyer Mar 29, 2025
4d764a3
Adding domain
patrickfreyer Mar 29, 2025
f5d2de5
Create CNAME
patrickfreyer Mar 29, 2025
b462944
Testing linkedin embedding
patrickfreyer Mar 29, 2025
8787b76
Refactor LinkedIn section: replace hardcoded embed with dynamic inclu…
patrickfreyer Mar 29, 2025
3f935de
Update LinkedIn embed code format: remove 'urn:li:ugcPost:' prefix fr…
patrickfreyer Mar 29, 2025
eb56e5c
Fix LinkedIn embed HTML: correct iframe src attribute by moving 'coll…
patrickfreyer Mar 29, 2025
4173bee
Header style adjustments
patrickfreyer Mar 29, 2025
4af2adf
Mobile optimization
patrickfreyer Mar 29, 2025
39fad3b
Design modernization
patrickfreyer Mar 29, 2025
38c10b9
Fix icons and add titles to Linkedin posts
patrickfreyer Mar 29, 2025
d5dfb7d
Fix timeline icon alignment
patrickfreyer Mar 29, 2025
328e954
Improved hero section in dedicated component
patrickfreyer Mar 29, 2025
4ca61e6
Adjusting icon color
patrickfreyer Mar 29, 2025
4c2588d
Improved stealth project card
patrickfreyer Mar 29, 2025
17d3004
Improved highlight icon
patrickfreyer Mar 29, 2025
5f6007a
Timeline fixes
patrickfreyer Mar 29, 2025
c0d27d2
Timeline styling adjustments
patrickfreyer Mar 29, 2025
a4ed4bd
Mobile timeline adjustments
patrickfreyer Mar 29, 2025
0a2ed6d
Updated about text
patrickfreyer Mar 29, 2025
e14979f
Adding Linkedin top content
patrickfreyer Mar 29, 2025
a041e61
Added projects
patrickfreyer Mar 29, 2025
7b7a6b3
Removing about highlights
patrickfreyer Mar 29, 2025
2109b32
Improved project styles
patrickfreyer Mar 29, 2025
a499689
Added thoughts
patrickfreyer Mar 29, 2025
2862583
Added updates
patrickfreyer Mar 29, 2025
d1640ae
Improved LinkedIn highlights grid
patrickfreyer Mar 29, 2025
b9d3f0a
Adding linkedin grid styles
patrickfreyer Mar 29, 2025
1a22780
Fixed linkedin post width
patrickfreyer Mar 29, 2025
a061c66
Mobile optimization
patrickfreyer Mar 29, 2025
7efa3b1
Integrating about in header
patrickfreyer Mar 29, 2025
a04d6fb
Removed about section from hero component
patrickfreyer Mar 29, 2025
952aef9
Replace hero text and improve timeline overwrite on mobile devices
patrickfreyer Mar 30, 2025
d60280c
TestingThreeJS
patrickfreyer Apr 1, 2025
32e4858
Updated earth
patrickfreyer Apr 1, 2025
6dec30d
Improving earth formatting and positioning
patrickfreyer Apr 1, 2025
a490887
Further earth optimzations
patrickfreyer Apr 1, 2025
4718a38
Mobile header fixes
patrickfreyer Apr 1, 2025
8730be1
Max earth size fix
patrickfreyer Apr 1, 2025
7c4530b
Adding flight routes
patrickfreyer Apr 20, 2025
931e7dc
Adding locations, changing cone size
patrickfreyer Apr 20, 2025
736fa9f
Improve visualization and add new textures
patrickfreyer Apr 20, 2025
b95fc1d
Add earth textures
patrickfreyer Apr 20, 2025
287ad1f
Adding flights and shifting texture import
patrickfreyer Apr 20, 2025
c0b1f4e
Moving assets to top level
patrickfreyer Apr 20, 2025
1c859e1
Adding remaining routes and fix texture import
patrickfreyer Apr 20, 2025
f2f34da
Texture troubleshooting
patrickfreyer Apr 20, 2025
15fd47f
More troubleshooting
patrickfreyer Apr 20, 2025
b3d97f5
Fixing reference error
patrickfreyer Apr 20, 2025
6859c4b
Reverting to pre-texture earth
patrickfreyer Apr 20, 2025
0656754
Attempting to add base url
patrickfreyer Apr 20, 2025
d0f249b
Simplifying earth.js
patrickfreyer Apr 20, 2025
75deabc
Add bust
patrickfreyer Apr 20, 2025
b959785
Add new hero locations: Cairo, Rome, and Edinburgh; remove Delta airl…
patrickfreyer Apr 20, 2025
f2b6cfb
Min Distance Adjustment
patrickfreyer Apr 20, 2025
228eefb
Trying night earth instead
patrickfreyer Apr 20, 2025
5cb57f1
Add route frequency
patrickfreyer Apr 20, 2025
4271440
Using nightmap
patrickfreyer Apr 20, 2025
366e79a
New textures
patrickfreyer Apr 20, 2025
b65eecc
Refine earth.js material properties and pin geometry; reduce sizes fo…
patrickfreyer Apr 20, 2025
db79521
Adjust minDistance to 6 and increase numLines cap to 10 for improved …
patrickfreyer Apr 20, 2025
d5a45ef
Refine pin geometry and material properties in earth.js; reduce sizes…
patrickfreyer Apr 20, 2025
93b626d
Added new flights
patrickfreyer Apr 20, 2025
baf781c
Add logging for missing cities
patrickfreyer Apr 20, 2025
cba1999
Added 2022 flights
patrickfreyer Apr 20, 2025
04e9a3f
More flights
patrickfreyer Apr 20, 2025
3f35ff7
2019 flights
patrickfreyer Apr 20, 2025
cb73ba7
Corrected flights
patrickfreyer Apr 21, 2025
4bbab41
Added routes and locations
patrickfreyer Apr 21, 2025
0c00ab9
Added CTA button
patrickfreyer Apr 21, 2025
5e97388
Added more updated
patrickfreyer Apr 21, 2025
095b270
Added project
patrickfreyer Apr 21, 2025
d77ef46
Fixed delhi name
patrickfreyer Apr 21, 2025
f37f550
Added remaining flights
patrickfreyer Apr 21, 2025
c88577c
Added Cancun
patrickfreyer Apr 21, 2025
1b0af9a
Styled CTA button
patrickfreyer Apr 21, 2025
b7b15cc
Adjust starting view
patrickfreyer Apr 21, 2025
877326f
Added more 2016 flights
patrickfreyer Apr 21, 2025
2a71e8d
Added dark background to visualization
patrickfreyer Apr 21, 2025
f23a8b1
Add LA flights and remove back button
patrickfreyer Apr 21, 2025
3cf9da7
Rename page to flights
patrickfreyer Apr 21, 2025
af8b808
Updated flights and locations
patrickfreyer Apr 21, 2025
f655955
Add filters
patrickfreyer Apr 21, 2025
035b691
Improved year filtering and hiding month filtering
patrickfreyer Apr 21, 2025
4fe2f7a
Fixed big
patrickfreyer Apr 21, 2025
72d5be6
Simplified occasion data
patrickfreyer Apr 21, 2025
788a09d
Simplified colors
patrickfreyer Apr 21, 2025
ad640e8
Adding airline specific coloring
patrickfreyer Apr 21, 2025
1d84f17
Improved coloring
patrickfreyer Apr 21, 2025
eefd34f
Added styling and travellers filter
patrickfreyer Apr 21, 2025
29418d0
More timeline events
patrickfreyer Apr 23, 2025
273f224
Added AI newsletter
patrickfreyer May 6, 2025
38c1b27
Adjust newsletter style
patrickfreyer May 6, 2025
f2af553
Updated template structure
patrickfreyer May 6, 2025
12d1b0d
Improved newsletter design
patrickfreyer May 6, 2025
bd9e5a4
Including email banner and styling
patrickfreyer May 6, 2025
437d1a8
Refined newsletter template styles and layout for improved readabilit…
patrickfreyer May 6, 2025
c57a394
Unpublishing demo newsletter
patrickfreyer May 7, 2025
b3238ac
Update flightRoutes.yaml for Denver flights
patrickfreyer Jul 8, 2025
8393b74
Update updates.yaml to remove details
patrickfreyer Jul 8, 2025
eadbd0c
Update heroLocations.yaml
patrickfreyer Jul 21, 2025
1c8544f
Update flightRoutes.yaml with NYC & Boston flights Jul 25
patrickfreyer Jul 21, 2025
de61a73
Update flightRoutes.yaml to include Den London flights
patrickfreyer Jul 21, 2025
264093d
Add flight routes for 2008-2017 and new hero locations
patrickfreyer Aug 2, 2025
e0af857
Add Valeta and Cape Town to hero locations
patrickfreyer Aug 2, 2025
8eb4307
Resolve merge conflict in heroLocations.yaml
patrickfreyer Aug 2, 2025
577c66c
Add flight statistics page with charts and summary data
patrickfreyer Aug 2, 2025
9ffd060
Improve flight route visibility with better contrast and glow effects
patrickfreyer Aug 2, 2025
a20303b
Adjust flight line width for improved visibility in earth.js
patrickfreyer Aug 2, 2025
4bc22bb
Redesign flight statistics page with modern, clean aesthetic matching…
patrickfreyer Aug 2, 2025
da11d36
Refactor color palette in generateDistinctColors function for enhance…
patrickfreyer Aug 2, 2025
2b6a44d
Fix missing styles by adding CSS variables and importing main stylesheet
patrickfreyer Aug 2, 2025
5f434f5
Increase flight line width in earth.js for enhanced visibility
patrickfreyer Aug 2, 2025
47f71d0
Add AR experience button and functionality to flights page
patrickfreyer Aug 2, 2025
d51c104
Fix Chart.js loading issues with reliable CDN and add error handling
patrickfreyer Aug 2, 2025
05b4098
Refactor AR button implementation in flights page and enhance AR supp…
patrickfreyer Aug 2, 2025
f01509e
Enhance flight line rendering in earth.js by adjusting material prope…
patrickfreyer Aug 2, 2025
0407831
Add mobile stats button to flights page for improved accessibility on…
patrickfreyer Aug 2, 2025
0ca2853
Add CSS styles to reset margins and ensure full space utilization for…
patrickfreyer Aug 2, 2025
0e6ea7a
Enhance flight line and earth mesh rendering in earth.js by adding re…
patrickfreyer Aug 2, 2025
4d8d918
Refactor flight line materials and add solid base sphere in earth.js …
patrickfreyer Aug 2, 2025
d37ee15
Adjust damping and zoom settings in earth.js for improved control res…
patrickfreyer Aug 2, 2025
b2bc047
Update flightRoutes.yaml to change existing flight month to August an…
patrickfreyer Aug 2, 2025
28fd3c9
Update flight statistics chart to display both distance and number of…
patrickfreyer Aug 2, 2025
f421da2
Update flight-stats.js to add 7% route inefficiency metric
patrickfreyer Aug 2, 2025
e5c2c42
Add new flight routes and hero locations for 2000, 2002, 2004, 2006, …
patrickfreyer Aug 3, 2025
429abf0
Merge branch 'published' of https://github.com/patrickfreyer/patrickf…
patrickfreyer Aug 3, 2025
7e6305c
Added chicago flights
patrickfreyer Aug 10, 2025
7e04d1a
Simplified about text
patrickfreyer Aug 11, 2025
bf8676e
Simplified about section
patrickfreyer Aug 11, 2025
92dd14f
Fixed merge conflicts
patrickfreyer Aug 11, 2025
e013556
Added new flights
patrickfreyer Aug 11, 2025
1eaab33
Flight path correction
patrickfreyer Aug 17, 2025
fe42b34
Added Canada and India flights
patrickfreyer Sep 1, 2025
d865ad1
September and early Oct flights added
patrickfreyer Sep 10, 2025
a74ea18
bug fixes
patrickfreyer Sep 10, 2025
e9f53ab
New charts
patrickfreyer Sep 10, 2025
f96d92f
Add new flight analytics charts
patrickfreyer Sep 10, 2025
7e4b117
new flights added Oct 25
patrickfreyer Oct 11, 2025
f48e59d
Added flights for Oct & early Nov
patrickfreyer Oct 16, 2025
a74f319
Added flights for late Nov
patrickfreyer Nov 17, 2025
6333bb5
Added new flight routes for December 2025, including connections betw…
patrickfreyer Dec 1, 2025
f7cc0e2
Added Miami trip
patrickfreyer Dec 17, 2025
c01d43b
Adding NYE flights
patrickfreyer Dec 30, 2025
b75a969
Jan/Feb 26 Flights
patrickfreyer Feb 7, 2026
64bce3f
Add flight routes for Patrick in February 2026
patrickfreyer Feb 20, 2026
e8aa2e2
Added March flights
patrickfreyer Mar 9, 2026
6498d4f
Merge branch 'published' of https://github.com/patrickfreyer/patrickf…
patrickfreyer Mar 9, 2026
3e9d2f3
Adding planned flights
patrickfreyer Mar 9, 2026
ff32358
Add March work flights (DEN-MIA-NYC-DEN)
patrickfreyer Mar 28, 2026
1663816
Mark March-April trips as completed, add Denver-Calgary work flights
patrickfreyer Apr 17, 2026
b84ca59
Simplify site to personal profile and flights only
patrickfreyer Apr 17, 2026
59d1e1a
Remove Occasion and Travelers filters from flights map
patrickfreyer Apr 17, 2026
b32ca1f
Update April 2026 return flight and add Munich/Frankfurt legs
claude Apr 19, 2026
0fb9117
Fix Denver→Munich airline to United, add Munich→Denver in May
claude Apr 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
166 changes: 166 additions & 0 deletions AR_README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
# Earth AR Visualization

This project adds Apple ARKit support to the existing Three.js Earth visualization using the WebXR Device API.

## Features

- **AR Earth Placement**: Place a 3D Earth globe in your real environment
- **Flight Route Visualization**: View your flight routes in augmented reality
- **Touch Interaction**: Tap to place the Earth and interact with it
- **Cross-Platform**: Works on iOS devices with ARKit support

## How It Works

### WebXR Device API
The AR functionality uses the **WebXR Device API**, which is the web standard for AR/VR experiences. This allows the Three.js visualization to work with:

- **Apple ARKit** (iOS devices)
- **Google ARCore** (Android devices)
- **WebXR-compatible browsers**

### Key Components

1. **AR Session Management**: Handles the AR session lifecycle
2. **Hit Testing**: Detects surfaces for Earth placement
3. **Reticle System**: Visual indicator for placement location
4. **Simplified Earth Model**: Optimized for AR performance

## Browser Support

### iOS (Apple ARKit)
- **Safari**: Full support with ARKit
- **Chrome for iOS**: Limited support
- **Firefox for iOS**: Limited support

### Android (ARCore)
- **Chrome**: Full support with ARCore
- **Firefox**: Limited support

## Usage

### Basic AR Experience

1. Open `earth-ar.html` on a supported device
2. Allow camera permissions when prompted
3. Point your camera at a flat surface
4. Tap the screen to place the Earth
5. Explore your flight routes in AR space

### Integration with Existing Earth

To integrate AR with your existing Earth visualization:

```javascript
// In your existing earth.js file
import { EarthAR } from './earth-ar.js';

// After initializing your existing earth
const earthAR = new EarthAR();
await earthAR.init();

// Integrate with existing earth mesh
earthAR.integrateWithExistingEarth(existingEarthMesh);
```

## Technical Implementation

### AR Session Setup
```javascript
const session = await navigator.xr.requestSession('immersive-ar', {
requiredFeatures: ['hit-test'],
optionalFeatures: ['dom-overlay']
});
```

### Hit Testing
```javascript
const hitTestSource = await session.requestHitTestSource({
space: referenceSpace
});
```

### Rendering Loop
```javascript
renderer.setAnimationLoop((timestamp, frame) => {
// AR rendering logic
renderer.render(scene, camera);
});
```

## Performance Considerations

### AR Optimizations
- **Reduced Geometry**: Simplified Earth model for AR
- **Efficient Materials**: Basic materials instead of complex textures
- **Frame Rate**: Maintains 60fps for smooth AR experience
- **Memory Management**: Proper cleanup of AR resources

### Device Requirements
- **iOS 11+** with ARKit support
- **Modern browser** with WebXR support
- **A9 processor or newer** for optimal performance

## Troubleshooting

### Common Issues

1. **"AR Not Supported" Error**
- Check if device supports ARKit/ARCore
- Ensure browser supports WebXR
- Try Safari on iOS for best compatibility

2. **Camera Permission Denied**
- Allow camera access in browser settings
- Refresh page and try again

3. **Poor Performance**
- Close other AR apps
- Ensure good lighting conditions
- Restart browser if needed

### Debug Mode
Enable console logging for debugging:
```javascript
// In earth-ar.js
console.log('AR Session State:', this.isARSession);
console.log('Hit Test Results:', hitTestResults);
```

## Future Enhancements

### Planned Features
- **Gesture Controls**: Pinch to zoom, rotate Earth
- **Multiple Earths**: Place multiple globes
- **Flight Path Animation**: Animated flight routes
- **Voice Commands**: Voice-controlled interactions
- **Social Sharing**: Share AR experiences

### Advanced Integration
- **Real-time Data**: Live flight data in AR
- **Weather Overlay**: Real weather on Earth
- **Time Zones**: Dynamic day/night cycles
- **Custom Markers**: Personal location pins

## Development

### Local Development
1. Serve files over HTTPS (required for WebXR)
2. Use a local server: `python -m http.server 8000`
3. Access via `https://localhost:8000/earth-ar.html`

### Testing
- Test on physical iOS device (simulator doesn't support AR)
- Use Safari for best iOS compatibility
- Test various lighting conditions
- Verify performance on different devices

## Resources

- [WebXR Device API Documentation](https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API)
- [Three.js WebXR Examples](https://threejs.org/docs/#examples/en/webxr/AR_handling_and_displaying_a_model)
- [Apple ARKit Documentation](https://developer.apple.com/augmented-reality/)
- [WebXR Polyfill](https://github.com/immersive-web/webxr-polyfill) for broader compatibility

## License

This AR implementation is part of the existing project and follows the same licensing terms.
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
patrickfreyer.com
55 changes: 55 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Patrick Freyer's Personal Website

This is my personal website hosted on GitHub Pages. It showcases my portfolio, projects, and professional information.

## Features

- Modern, responsive design
- Smooth scrolling and animations
- Mobile-friendly navigation
- Project showcase section
- Contact information

## Technologies Used

- HTML5
- CSS3 (with CSS Variables and Flexbox/Grid)
- JavaScript (ES6+)
- Font Awesome for icons
- Google Fonts (Inter)

## Development

To run this project locally:

1. Clone the repository:
```bash
git clone https://github.com/patrickfreyer/patrickfreyer.github.io.git
```

2. Navigate to the project directory:
```bash
cd patrickfreyer.github.io
```

3. Open `index.html` in your browser or use a local server.

## Deployment

This website is automatically deployed to GitHub Pages when changes are pushed to the main branch.

## Customization

To customize the website:

1. Update the content in `index.html`
2. Modify styles in `css/style.css`
3. Add any additional JavaScript functionality in `js/main.js`

## License

MIT License - feel free to use this code for your own personal website!

## Contact

Feel free to reach out to me for any questions or suggestions.
Binary file added README.pdf
Binary file not shown.
38 changes: 38 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
title: Patrick Freyer
description: Personal website of Patrick Freyer, Software Developer & Technology Enthusiast
url: https://patrickfreyer.github.io
baseurl: ""

# Build settings
markdown: kramdown
plugins:
- jekyll-feed

# Include processing
include:
- _includes
- _layouts
- _data
- assets
- css

# Exclude from processing
exclude:
- README.md
- LICENSE
- .gitignore
- Gemfile
- Gemfile.lock
- node_modules
- vendor

# Sass
sass:
style: compressed

# Default front matter
defaults:
- scope:
path: ""
values:
layout: default
2 changes: 2 additions & 0 deletions _data/about.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
about_text: >-
GenAI builder & developer, passionate about building the products of the future and reshaping strategies to keep up with the new age of AI. Built and published a range of successful apps, ranging from podcasts to health and forestry. Always working on one more thing...
Loading
Loading