Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
Binary file modified assets/resume/kyle-neal-resume.pdf
Binary file not shown.
950 changes: 611 additions & 339 deletions lib/revstack_web/live/whoami_live.ex

Large diffs are not rendered by default.

Binary file modified priv/resume/kyle-neal-resume.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion test/revstack_web/layouts_user_menu_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,6 @@ defmodule RevstackWeb.LayoutsUserMenuTest do
test "whoami page includes the admin panel project card", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/whoami")

assert has_element?(view, "button#project-admin", "Admin Dashboard (for this site!)")
assert has_element?(view, "button#project-admin", "Revstack Admin Dashboard")
end
end
43 changes: 43 additions & 0 deletions test/revstack_web/whoami_live_career_modal_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,34 @@ defmodule RevstackWeb.WhoamiLiveCareerModalTest do
assert has_element?(view, "button[phx-click='open_career_modal']")
end

test "phase two highlights flagship systems and groups supporting systems beneath them", %{
conn: conn
} do
{:ok, view, _html} = live(conn, ~p"/")

view
|> element("button[phx-click='expand_career_phase'][phx-value-phase-id='phase-2']")
|> render_click()

assert has_element?(view, "#career-featured-phase-2")

assert has_element?(
view,
"#career-project-card-affiliate-network-platform",
"Affiliate Marketing Platform"
)

assert has_element?(view, "#career-project-card-netadmin-platform", "NetAdmin")
assert has_element?(view, "#career-group-tracking-attribution")
assert has_element?(view, "#career-group-analytics-reporting")

assert has_element?(
view,
"#career-project-list-edge-redirect-service",
"Tracking Edge Service"
)
end

test "collapsing a phase hides project cards", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/")

Expand Down Expand Up @@ -80,6 +108,21 @@ defmodule RevstackWeb.WhoamiLiveCareerModalTest do
assert has_element?(view, "#career-portfolio-modal")
end

test "featured affiliate platform card opens the modal from phase two", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/")

view
|> element("button[phx-click='expand_career_phase'][phx-value-phase-id='phase-2']")
|> render_click()

view
|> element("#career-project-card-affiliate-network-platform")
|> render_click()

assert has_element?(view, "#career-portfolio-modal")
assert has_element?(view, "h4", "Affiliate Marketing Platform")
end

test "modal has phx-hook LockBodyScroll for scroll locking", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/")

Expand Down
30 changes: 26 additions & 4 deletions test/revstack_web/whoami_live_layout_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,30 @@ defmodule RevstackWeb.WhoamiLiveLayoutTest do
test "renders role title and skill signature", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/")

assert has_element?(view, "#whoami-role-title")
assert has_element?(view, "#whoami-skill-signature")
assert has_element?(view, "#whoami-role-title", "Lead Distributed Systems Engineer")
assert has_element?(view, "#whoami-skill-signature", "1.5M+ events/day")
end

test "hero surfaces recruiter-facing fit and proof points without a stat grid", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/")

assert has_element?(view, "#whoami-role-fit", "Staff Backend Engineer")
assert has_element?(view, "#whoami-role-fit", "Technical Lead Who Still Codes")
assert has_element?(view, "#whoami-proof-points", "1.5M+")

assert has_element?(
view,
"#whoami-proof-points",
"events/day processed by systems I've built"
)

assert has_element?(view, "#whoami-proof-points", "~25%")

assert has_element?(
view,
"#whoami-proof-points",
"infrastructure cost reduction through workflow and scaling improvements"
)
end
end

Expand All @@ -46,8 +68,8 @@ defmodule RevstackWeb.WhoamiLiveLayoutTest do
test "renders leadership items within the combined section", %{conn: conn} do
{:ok, _view, html} = live(conn, ~p"/")

assert html =~ "Architecture ownership"
assert html =~ "Scaled platforms"
assert html =~ "Long-term ownership of revenue-critical backend platforms"
assert html =~ "Reduced infrastructure operating costs by ~25%"
assert html =~ "leadership-teamwork"
end
end
Expand Down
70 changes: 58 additions & 12 deletions test/revstack_web/whoami_live_projects_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -82,39 +82,85 @@ defmodule RevstackWeb.WhoamiLiveProjectsTest do

html = render(view)

assert html =~ "5 backend"
assert html =~ "3 DevOps engineers"
assert html =~ "sole owner"
assert html =~ "self-managed unit"
assert html =~ "long-term owner of backend architecture"
assert html =~ "CTO on business rules"
assert html =~ "3 infrastructure engineers"
assert html =~ "~25%"
end
end

describe "professional experience emphasis" do
test "renders the demand outcome sentence in bold", %{conn: conn} do
test "keeps Ionik concise on the surface with recruiter-facing proof points", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/whoami")

assert has_element?(view, "#experience-ionik", "Ionik (formerly VeriAS)")
assert has_element?(view, "#experience-ionik", "NetAdmin")
assert has_element?(view, "#experience-ionik", "$2.5M+ monthly revenue")
assert has_element?(view, "#experience-ionik", "6-node Cassandra event store")

assert has_element?(
view,
"#experience-ionik-toggle[aria-expanded='false']",
"Show full scope"
)

refute has_element?(view, "#experience-ionik-details")
end

test "expands Ionik experience details on click", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/whoami")

view
|> element("#experience-ionik-toggle")
|> render_click()

assert has_element?(
view,
"#experience-ionik-toggle[aria-expanded='true']",
"Hide full scope"
)

assert has_element?(view, "#experience-ionik-details li", "1.5M+ events daily")
assert has_element?(view, "#experience-ionik-details li", "NetAdmin")

view
|> element("#experience-ionik-toggle")
|> render_click()

refute has_element?(view, "#experience-ionik-details")
end

test "surfaces the handyman demand outcome before founder details are expanded", %{conn: conn} do
{:ok, view, _html} = live(conn, ~p"/whoami")

assert has_element?(
view,
"strong.experience-emphasis",
"The platform ultimately generated more inbound demand than the business could operationally support."
"#experience-revenuelink strong.experience-emphasis",
"Hardcore Handyman generated more inbound demand than the business could operationally support."
)

refute has_element?(view, "#experience-revenuelink-details")
end

test "renders handyman SEO and implementation details in founder experience", %{
test "renders handyman SEO and implementation details after founder card expansion", %{
conn: conn
} do
{:ok, view, _html} = live(conn, ~p"/whoami")

view
|> element("#experience-revenuelink-toggle")
|> render_click()

assert has_element?(
view,
"li",
"the system included SEO-driven service pages, conversion-focused design"
"#experience-revenuelink-details li",
"SEO-driven service pages, a quote workflow with photo uploads"
)

assert has_element?(
view,
"li",
"Built with Elixir, Phoenix LiveView, and Ecto"
"#experience-revenuelink-details li",
"consulting, hands-on product work"
)
end
end
Expand Down
Loading