Growth Marketing Manager at Praxis, May 2025 to August 2026, reporting to the CMO and CEO. Praxis is a business bootcamp with a job guarantee, acquired by Libertas right before I onboarded. I had been inside its ecosystem since 2021, first as a bootcamp participant.
TL;DR
- I joined into new leadership, a domain migration, an outsourced website months from landing, and customer data spread across four systems.
- I made HubSpot the single source of truth, then built the automation that put abandoned checkouts in front of the person who could actually call them.
- I shipped a stopgap website solo, then custom coded a landing page per ad campaign instead of buying a platform.
- I ran Google Ads from scratch and built the Skip College media product end to end, alone.
I joined with one of the longest memories of what Praxis actually was, at the moment new leadership was trying to learn it.

I also came to marketing from building products, and I build startups on the side, so I read a company the way a founder does rather than as a channel operator. In a year where most of the work was fixing how things had been put together, that mattered more than any campaign skill.
I was the team’s technical person too - analytics, WordPress, HubSpot, Zapier, Airtable. If it needed wiring together, it came to me.

The bottleneck was the data
Libertas acquired Praxis partly on the strength of its data. Then we found that data split across Salesforce, HubSpot, Circle and Disco, with no agreement on which one was right.
What I did:
- Consolidated roughly 600 alumni records and 300-400 qualified leads, cleaned and merged.
- Named HubSpot the source of truth, so there was one answer instead of four.
- Built a workflow that put the right lifecycle stage on the right contact at the right time.
My own test contacts showed how deep it went. Three identical records that were created the same way → came out with three different owners and three different permission sets. WILD.

Then I built on top of it. An automation pushed every abandoned checkout into a live Google Sheet with phone numbers and context attached. Joshua, who ran those sales calls, used it more than anything else I built, and we recovered a meaningful share of those carts.

The clean base made the email program possible: 10+ campaigns and sequences covering welcome, drip, deadline, failed payment and abandoned checkout. I no longer have access to that reporting, so I am not going to quote open rates I cannot show you.
Building the sequence was the easy half. The harder half was noticing that the signal and the person who could act on it sat in different systems.
The same gap showed up in our press record. Our homepage displayed media logos that linked nowhere, and nobody could produce the coverage when asked. I ran a research pass across 449 sources to separate real Praxis mentions from the dozens of other companies named Praxis, verified every hit by hand, and built “Praxis in the News” as a permanent reference.


I shipped a stopgap instead of waiting
The pre acquisition site was in bad shape and the agency building its replacement was months out. Rather than let it represent a newly acquired company, I custom coded a band aid site on my own and put it live. It was not meant to be impressive - only current, while the real build finished.

The domain moved from discoverpraxis.com to joinpraxis.com that summer, with 500+ blog posts migrated onto WordPress.
Before

The stopgap I shipped


Ads got the same treatment. Sending every campaign to the homepage was a waste, and a landing page platform was suggested. That meant a lot of money and even more setup time, so I custom coded several campaign and ad group specific landing pages in a few days instead.



I even pushed back on decisions I didn’t agree to
Leadership had outsourced the new site design. I reviewed every page and component. Two pieces of feedback stand out because they were marketing problems, not taste.
1. The color was wrong
Praxis is red with a blue accent. Drafts came back on yellow backgrounds.


2. The comparison table argued against us
The section arguing Praxis beats college had Praxis in red and college in yellow, with no icons marking which was which. If you scan it in one second, as everyone does, it read as though Praxis were the wrong answer. Literally the opposite of what we were trying to communicate.
I asked for three things:
- The yellow stripped out.
- Ticks and crosses added, so the right answer is unmistakable.
- The visual weight corrected, so Praxis reads as the recommendation.
And the layouts kept breaking
Layouts broke often too, on large displays and on mobile, differently each time. I fixed them as they surfaced (while getting annoyed, I had never seen layouts being broken like this)
Broken - desktop

Fixed - desktop

Broken - mobile

Fixed - mobile

Broken - large display

Fine - laptop


Google Ads from zero
Our CEO wanted Praxis on Google Ads and handed me a course to get there. I had run Meta and LinkedIn ads, but not Google. I built and ran the campaigns solo.



Keywords

The ads themselves


I also ran ads on X, and tested how Praxis surfaced inside LLM answers - because that is where people ask now - then helped fix our LLM SEO.



I learned the course platform from the inside, then automated it
Disco is the learning platform our programs run on. I went through it as a participant, then as a manager, then joined Disco’s own user community to see how the people building it thought about it. By the end I was the person the team came to for anything Disco related.
Automation was what colleagues brought me all year. Knowing a tool that deeply and being able to wire it to everything else is a different job from being good at either half.
The clearest example: Brandy, our head of curriculum, needed student performance tracked over time. Disco exposed about a week of analytics and few integrations, so the front door was closed. But Gmail received a notification on every submission.
1 · Trigger

2 · Parsed into Airtable

3 · Reporting over time

The reporting itself was useful rather than transformative. But I kept the habit from it: when a tool closes the front door there is almost always a side one.
Skip College, built solo
Skip College was a Praxis sub brand - a media brand covering education news for anyone tracking where learning is headed. I built it end to end. The site ran on custom code with Ghost as the frontend.
The engine:
- Monitored feeds across a wide set of news sources.
- Surfaced what was genuinely relevant, against a relevance score.
- Rewrote it in our tone of voice.
- Published to the blog, LinkedIn and X.
This automation sequence took like a month to create. I custom coded its book landing page too, because nothing WordPress offered was good enough.

It is paused now, and the reason is worth being precise about. You see, the performance was not the problem, but the leadership is still deciding how to use it strategically. The engine is built and it runs. The open question is where to point it.
Praxis Weekend
Praxis Weekend is the annual alumni meetup, where around 50 Praxians come together, hang out, learn and build relationships. I helped design the interactive intro and networking sessions, and handled some of the content capture.
Mostly though, it was the first time I met the community and the team in person after a year of screens. None of what you get from that shows up in a metric. You learn more about someone over one weekend in a room than in a year of calls, and you also get to know your coworkers better.

The community

The team

What I would change
I should have asked for the social channels out loud, and kept asking
I raised it once and let it go. I had the case. On my own account I went from around 500 followers to over 5,000 in three months. And a Praxis alum, now CMO at one of the larger US education companies, messaged me unprompted asking why I was not running the Praxis page. I should’ve bugged the leadership more and taken responsibility of the content.

I should have taken my Skip College doubt to leadership instead of sitting on it
I wondered whether a sub brand beat marketing Praxis directly. Asking early would have surfaced the answer in a week instead of months of building it.
I should have driven community engagement harder
I managed our Disco community of around 50 and knew the platform better than anyone, which is exactly why the low engagement was mine to fix. More workshops, more consistent programming, run by me rather than waiting to be asked.
The pattern in all three: I was right, and I was quiet about it.
I did voice out my opinions, but I should’ve pushed harder on solutions I was confident in.
Where I landed
Fifteen months of an acquisition, a migration, a rebuild, and a lot of things broken in ways that were hard to believe. Our internal Granola year end wrap surfaced my most used phrase of the year, which tells you most of what you need to know about the systems: “I’m not making this shit up.”

The same wrap named me “Grand Vizier of Rapid Prototyping and Minister of Two Dollar Budgets”, which is the most accurate performance review I have received.


Onto the next thing, still working on making alternative education matter more.
Working on something in education or alternative education? Get in touch.