---
title: "Cole Rehbein"
title-block-banner: false
page-layout: article
toc: true
sidebar:
- title: "Quick Links"
contents:
- text: "Newsletter Signup"
href: "#newsletter"
- text: "GitHub Profile"
href: "https://github.com/colerehbein"
- text: "Contact"
href: "mailto:cole@cole.press"
- title: "Recent Posts"
contents:
- text: "AI in Practice"
href: "/blog"
- text: "Code & Culture"
href: "/blog"
- text: "Future of Work"
href: "/blog"
---
::: cli-prompt
`cole@press:~$ neofetch --config custom`
:::
::::: neofetch-style
::: ascii-art
```
██████╗ ██████╗ ██╗ ███████╗
██╔════╝██╔═══██╗██║ ██╔════╝
██║ ██║ ██║██║ █████╗
██║ ██║ ██║██║ ██╔══╝
╚██████╗╚██████╔╝███████╗███████╗
╚═════╝ ╚═════╝ ╚══════╝╚══════╝
░░░░░▒▒▒▒▒▒▒▒▒▒▒▒░░░░░
░░▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒░░
░▒▒▓▓████████████████▓▓▒▒░
░▒▓▓██████▓▓▓▓▓▓██████▓▓▒░
▒▓████▓▓██ ██▓▓████▓▒
▒▓████▓▓██ ●● ●● ██▓▓████▓▒
▒▓████▓▓██ ◡ ██▓▓████▓▒
▒▓████▓▓██ ██▓▓████▓▒
▒▓████▓▓██ ~~~ ██▓▓████▓▒
░▒▓▓██████▓▓▓▓▓▓██████▓▓▒░
░▒▒▓▓████████████▓▓▒▒░
░░▒▒▒▓▓▓▓▓▓▓▓▒▒▒░░
░░░▒▒▒▒▒░░░
```
:::
::: system-info
**Cole Rehbein** \@ **cole.press** **──────────────────────────────────** **OS:** Full-Stack Developer & AI Researcher\
**Kernel:** Building the future with code and data\
**Uptime:** Available for interesting projects\
**Shell:** TypeScript, Python, R, Go\
**Resolution:** Problems → Solutions\
**DE:** Creative & Technical\
**WM:** Remote-friendly\
**Theme:** Open Source Advocate\
**Icons:** ✨ Always learning\
**Terminal:** Currently coding\
**CPU:** Ideas/sec: ∞\
**Memory:** Caffeinated
:::
:::::
::: cli-prompt
`cole@press:~$ cat skills.json | jq '.expertise' && ls -la ~/projects/`
:::
:::::::::: skills-and-projects
:::: skills-section
::: skills-json
``` json
{
"development": {
"proficiency": "90%",
"languages": ["TypeScript", "Python", "R", "Go", "SQL"],
"frameworks": ["React", "Quarto", "Flask", "Shiny"],
"focus": "Full-stack applications"
},
"ai_research": {
"proficiency": "85%",
"areas": ["Machine Learning", "Automation", "Data Science", "NLP"],
"tools": ["TensorFlow", "PyTorch", "Pandas", "scikit-learn"],
"focus": "Real-world applications"
},
"data_visualization": {
"proficiency": "88%",
"tools": ["ggplot2", "D3.js", "Plotly", "Observable"],
"focus": "Interactive dashboards"
},
"writing": {
"proficiency": "80%",
"topics": ["Technology", "AI Ethics", "Digital Culture"],
"platforms": ["Blog", "Newsletter", "Technical docs"],
"focus": "Thoughtful analysis"
},
"open_source": {
"proficiency": "88%",
"contributions": "Active maintainer",
"philosophy": "Building in public"
}
}
```
:::
::::
::::::: projects-section
:::::: project-grid
::: {.project-item .blog}
**Blog**
Deep dives into technology trends, AI development insights, and digital culture analysis. **23** articles published covering the intersection of code and society.
[**Visit Blog →**](/blog){.project-link}
:::
::: {.project-item .cv}
**Resume**
Professional journey documentation including skills & certifications, research publications, and career highlights. Available for download.
[**View Resume →**](/cv){.project-link}
:::
::: {.project-item .portfolio}
**Portfolio**
AI automation tools, open source contributions, web applications, and research experiments. Building in public.
[**Explore Projects →**](/projects){.project-link}
:::
::::::
:::::::
::::::::::
::: cli-prompt
`cole@press:~$ git log --oneline --graph | head -10`
:::
::: git-activity
```{r}
#| echo: false
#| warning: false
#| message: false
library(htmltools)
# Create a git-style activity log
div(class = "git-log",
div(class = "git-line", "* 127 commits this year"),
div(class = "git-line", "* 23 public repositories"),
div(class = "git-line", "* 8 recent pushes"),
div(class = "git-separator", "────────────────────────"),
div(class = "git-status active", "● Building in public"),
div(class = "git-status active", "● Open source advocate"),
div(class = "git-status active", "● Always learning"),
div(class = "git-link-container",
tags$a(href = "https://github.com/colerehbein",
class = "git-remote",
"origin/main → github.com/colerehbein")
)
)
```
:::
::: cli-prompt
`cole@press:~$ cat thoughts/latest.txt`
:::
:::::: thoughts-section
::: {.thought-item .ai}
**📊 AI_in_Practice.md**\
Real-world applications and ethical considerations in modern AI development
:::
::: {.thought-item .code}
**🔧 Code_and_Culture.py**\
How technology shapes society and building more thoughtfully
:::
::: {.thought-item .future}
**🚀 Future_of_Work.rs**\
Automation, human-AI collaboration, and evolving tech landscape
:::
::::::
::: cli-prompt
`cole@press:~$ ./connect.sh --all`
:::
::::::: connect-section
::::: newsletter-box
**📬 Newsletter Signup**
``` bash
$ curl -X POST https://cole.press/newsletter \
--data "email=your@email.com"
```
:::: newsletter-form
<form action="#" method="post" onsubmit="return false;" class="cli-form">
::: cli-input-wrapper
[\$]{.cli-prompt-small} <input type="email" name="email" placeholder="your@email.com" required class="cli-input"> <button type="submit" class="cli-button">SEND</button>
:::
<small class="cli-note">No spam, just thoughtful content</small>
</form>
::::
:::::
::: social-links
**🔗 Social Links**
``` bash
github : https://github.com/colerehbein
twitter : https://twitter.com/colerehbein
email : cole@cole.press
website : https://cole.press
```
:::
:::::::
::: cli-footer
``` bash
$ uptime
10:35AM up 365 days, building cool things
$ whoami
Cole Rehbein - Full-Stack Developer & AI Researcher
$ echo "Thanks for visiting! ☕"
Thanks for visiting! ☕
```
:::
```{=html}
<script>
document.addEventListener('DOMContentLoaded', function() {
// Enhanced hover effects with smooth transitions
const interactiveElements = document.querySelectorAll('.project-item, .thought-item, .newsletter-box');
interactiveElements.forEach(el => {
el.style.transition = 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)';
el.addEventListener('mouseenter', function() {
this.style.transform = 'translateY(-2px) scale(1.02)';
this.style.boxShadow = '0 8px 25px rgba(0,0,0,0.15)';
});
el.addEventListener('mouseleave', function() {
this.style.transform = 'translateY(0) scale(1)';
this.style.boxShadow = '';
});
});
// Typewriter effect for CLI prompts when they scroll into view
const cliPrompts = document.querySelectorAll('.cli-prompt code');
const completedPrompts = new Set();
const typewriterObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const code = entry.target;
const text = code.textContent;
const typingSpeed = 30;
const totalTypingTime = text.length * typingSpeed + 200; // 200ms initial delay
code.textContent = '';
code.style.opacity = '1';
// Start typewriter after a short delay
setTimeout(() => {
let i = 0;
function type() {
if (i < text.length) {
code.textContent += text.charAt(i);
i++;
setTimeout(type, typingSpeed);
} else {
// Mark this prompt as completed
completedPrompts.add(code);
// Trigger any dependent sections to fade in
const nextSection = code.closest('.cli-prompt').nextElementSibling;
if (nextSection && (nextSection.classList.contains('neofetch-style') ||
nextSection.classList.contains('skills-and-projects') ||
nextSection.classList.contains('git-activity') ||
nextSection.classList.contains('thoughts-section') ||
nextSection.classList.contains('connect-section'))) {
setTimeout(() => {
nextSection.style.opacity = '1';
nextSection.style.transform = 'translateY(0)';
}, 200);
}
}
}
type();
}, 200);
// Stop observing this element
typewriterObserver.unobserve(code);
}
});
}, { threshold: 0.5 });
// Set up typewriter for CLI prompts
cliPrompts.forEach(code => {
code.style.opacity = '0';
typewriterObserver.observe(code);
});
// Fade-in animation for sections (triggered by typewriter completion)
const sections = document.querySelectorAll('.neofetch-style, .skills-and-projects, .git-activity, .thoughts-section, .connect-section');
sections.forEach((section, index) => {
section.style.opacity = '0';
section.style.transform = 'translateY(20px)';
section.style.transition = `opacity 0.6s ease-out, transform 0.6s ease-out`;
});
// Newsletter form functionality
const newsletterForm = document.querySelector('.cli-form');
if (newsletterForm) {
newsletterForm.addEventListener('submit', function(e) {
e.preventDefault();
const button = this.querySelector('.cli-button');
const input = this.querySelector('.cli-input');
button.textContent = 'SENDING...';
button.style.background = 'var(--cli-yellow)';
button.style.transform = 'scale(0.95)';
setTimeout(() => {
button.textContent = '✓ SENT';
button.style.background = 'var(--cli-green)';
button.style.transform = 'scale(1)';
input.value = 'Thank you for subscribing!';
input.disabled = true;
input.style.color = 'var(--cli-green)';
}, 1200);
setTimeout(() => {
button.textContent = 'SEND';
button.style.background = '';
button.style.transform = '';
input.value = '';
input.disabled = false;
input.style.color = '';
input.placeholder = 'your@email.com';
}, 4000);
});
}
// Add a subtle cursor blink to the ASCII art section
const asciiArt = document.querySelector('.ascii-art');
if (asciiArt) {
const cursor = document.createElement('span');
cursor.textContent = '▋';
cursor.style.color = 'var(--cli-cyan)';
cursor.style.animation = 'blink 1s infinite';
cursor.style.marginLeft = '5px';
asciiArt.appendChild(cursor);
// Add keyframes for blink animation
const style = document.createElement('style');
style.textContent = `
@keyframes blink {
0%, 50% { opacity: 1; }
51%, 100% { opacity: 0; }
}
`;
document.head.appendChild(style);
}
});
</script>
```