portfo

Interactive portfolios for technical creators.

Build project pages out of live code, 3D models, charts and video, not screenshots of them. Publish, and Discover puts the page in front of people browsing for work like yours.

create your account

Invite code required. Don't have a code?

waitlist

Access opens in waves. We'll send you an email when you're in.

Portfo Studio

From blank canvas to a published page people actually find.

portfo · studio

Self-Balancing Robot on an STM32

Publish
Text
Self-Balancing Robot on an STM32
Text
A 1 kHz PID loop keeps it upright to within ±0.4°.
Code
// balance.c
float pid_update(PID *c, float target, float angle, float dt) {
  float error = target - angle;
  c->integral += error * dt;
  float deriv = (error - c->prev) / dt;
  c->prev = error;

  float output = c->kp * error
               + c->ki * c->integral
               + c->kd * deriv;
  
}
Text
The problem
Text
A two-wheeled robot has one trick: fall, catch itself, repeat, a thousand times a second. The MPU-6050 gives a noisy tilt estimate, so a complementary filter blends the accelerometer and gyro before anything downstream trusts the angle. A PID loop on the STM32 turns that angle into a motor command every millisecond. Most of the work was tuning: too much gain and it oscillates itself off the desk, too little and it folds over. I logged every run over UART and tuned against the traces, not by feel. The numbers below are from bench runs after the final tuning pass.
Image
The STM32 control board that runs the balance loop
Text
Before and after tuning
Table
MetricBeforeAfter
Settling time2.4 s0.6 s
Overshoot18°
Steady-state error±2.1°±0.4°
Loop rate500 Hz1 kHz
Text
Settling time before and after tuning, by trial
Code
Link
View the firmware

Your best work is buried in repos, drives, and camera rolls.

Put it on a page that does it justice.

From built to discovered.

  • Draft

    Start with what you built

    Every project page opens on the work itself: what it is, how it came together, why it's worth a look. The bio comes after, if at all.

  • Studio

    Build the page in Studio

    Arrange text, images, video, code, even a 3D model, on one canvas. The layout follows the project and nothing fights you for space.

  • Discover

    Publish it where people are looking

    Push it to Discover and it's in front of people actively browsing for work like yours, not sitting alone on a URL only you visit.

the-usual-profile.com
credentials first

Alex D. · 3rd

Results-driven electrical engineer | 10+ yrs in power & embedded systems | Passionate about circuits & innovation

500+ connections

ConnectMessage
bullet points ≠ proof

Experience

Led cross-functional initiatives to drive impact

Leveraged best practices across key verticals

Skills

Circuit DesignPCB LayoutEmbedded Systems
the actual work

portfolio_final_v2.pdf · updated 2019

Traditional résumés tell you the work. We show it.

Years of experience. Job titles. Metrics picked to sound impressive. All of it stands in for what you actually built, and the project itself disappears behind the numbers.

Everyone tells you what they built. Almost no one shows you.

Every kind of work. Built to be seen.

Not screenshots of your work: the work itself. Code that reads like code, charts that move, 3D you can spin. And the block library keeps growing.

Runnable code

A real, live snippet on the page, not a screenshot of one. Syntax and all.

// every kind of block, one canvas

3D models

Upload an STL and it renders live on your page.

Live charts

Benchmarks that actually chart.

Collections

Curate published projects into groups.

Images

Photos, screenshots, renders.

Text

Titles, captions, full write-ups.

Video

Paste a link or upload the file.

Table

Specs, benchmarks, comparisons.

Link

Demo, repo, paper, anywhere.

And more

However your work is meant to be seen, that's how it goes on the page.

One project, end to end.

The same demo project at every stage: built in Studio, opened by a visitor, and surfaced in the feed.

What you design is what they see.

No re-flowing, no watering down. The layout, the media, the write-up: it all ships exactly as you built it in Studio.

Public view

portfo · public view

Public view

Self-Balancing Robot on an STM32

Self-Balancing Robot on an STM32
A 1 kHz PID loop keeps it upright to within ±0.4°.
The problem
A two-wheeled robot has one trick: fall, catch itself, repeat, a thousand times a second. The MPU-6050 gives a noisy tilt estimate, so a complementary filter blends the accelerometer and gyro before anything downstream trusts the angle. A PID loop on the STM32 turns that angle into a motor command every millisecond. Most of the work was tuning: too much gain and it oscillates itself off the desk, too little and it folds over. I logged every run over UART and tuned against the traces, not by feel. The numbers below are from bench runs after the final tuning pass.
The STM32 control board that runs the balance loop
Before and after tuning
MetricBeforeAfter
Settling time2.4 s0.6 s
Overshoot18°
Steady-state error±2.1°±0.4°
Loop rate500 Hz1 kHz
Settling time before and after tuning, by trial
View the firmware

made with portfo · @alexr

Discover

Projects other builders just shipped, ranked by the work itself, not follower counts.

portfo · discover

Trending

Projects gaining traction right now.

Maya Chen

Maya Chen

@mayac · 2h

O
c/open-hardware

3D-printed prosthetic hand, driven by an STM32

Printed fingers, tendon servos, STM32 firmware. Full build log inside.

3D-printed prosthetic hand, driven by an STM32
Lars Bakker

Lars Bakker

@larsb · 9 Sept

O
c/open-hardware

Amsterdam canal house: architectural design

Elevations, sections, and floor plans for a six-dwelling infill.

Amsterdam canal house: architectural design
Tyler Brooks

Tyler Brooks

@tylerb · 9 Sept

C
c/creative-coding

Realtime physics playground

Open in the browser, no install.

Realtime physics playground

Get in front of people already looking.

People browse, save, and follow based on projects, not job titles. Open a post and you land on the full page, never a locked preview.

Frequently asked questions

A project-first portfolio and discovery platform. You build project pages in Studio, then publish them so people find you through the work, not a resume PDF.

Most portfolio sites only want the finished, polished result. Portfo works at any stage: post a build log, an early prototype, or the final version, and keep posting updates as the project moves forward. Discover surfaces the work itself, not follower counts.

Engineers, researchers, designers, students, and makers whose work doesn't survive being flattened into a screenshot. The common thread isn't a job title, it's real work worth showing.

Yes. The Free plan lets you build your portfolio, publish unlimited public projects, and get discovered at no cost. Premium ($12/mo) adds a custom domain, advanced analytics, more storage, and AI creation tools; Enterprise adds team and recruiting tools. See our pricing page for the full breakdown.

No. Keep drafts in Studio for as long as you want. Publish a project only when it's ready to be seen.

Portfo is in private beta, with access opening in waves.

Yes. Access opens in waves. Leave your email and you'll get one message when your spot is ready.

Your next project deserves a real page.

Get on the waitlist, shape your project in Studio, and share it whenever it's ready, from first prototype to finished piece.

Private beta. Access opens in waves; we'll email you when you're in.

Runnable code3D you can orbitBuild logsEarly prototypesFull write-upsLive chartsReal layoutsPost at any stageProcess includedThe messy middle